mirror of
https://github.com/cnlimiter/codex-register.git
synced 2026-05-06 20:02:51 +08:00
- 为所有平台的发布资产名称添加版本标识符 v2 - 修改文件整理脚本以适配 download-artifact@v4 的目录结构变化 - 更新发布说明中的项目标题为"OpenAI 账号管理系统 v2" - 在 Docker 构建中添加 linux/amd64,linux/arm64 多平台支持 - 从地区限制列表中移除台湾地区(TW)
132 lines
3.7 KiB
YAML
132 lines
3.7 KiB
YAML
name: 多平台打包发布
|
||
|
||
on:
|
||
push:
|
||
tags:
|
||
- 'v*'
|
||
workflow_dispatch:
|
||
inputs:
|
||
version:
|
||
description: '版本号 (如 v1.0.0)'
|
||
required: false
|
||
default: 'dev'
|
||
|
||
jobs:
|
||
build:
|
||
name: 打包 ${{ matrix.os }}
|
||
runs-on: ${{ matrix.os }}
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
include:
|
||
- os: windows-latest
|
||
artifact_name: codex-register.exe
|
||
asset_name: codex-register-v2-windows-x64.exe
|
||
- os: ubuntu-latest
|
||
artifact_name: codex-register
|
||
asset_name: codex-register-v2-linux-x64
|
||
- os: macos-latest
|
||
artifact_name: codex-register
|
||
asset_name: codex-register-v2-macos-arm64
|
||
|
||
steps:
|
||
- name: 检出代码
|
||
uses: actions/checkout@v4
|
||
|
||
- name: 设置 Python 3.11
|
||
uses: actions/setup-python@v5
|
||
with:
|
||
python-version: '3.11'
|
||
cache: 'pip'
|
||
|
||
- name: 安装依赖
|
||
run: |
|
||
pip install -r requirements.txt pyinstaller
|
||
|
||
- name: 打包
|
||
run: |
|
||
pyinstaller codex_register.spec --clean --noconfirm
|
||
|
||
- name: 上传构建产物
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: ${{ matrix.asset_name }}
|
||
path: dist/${{ matrix.artifact_name }}
|
||
if-no-files-found: error
|
||
|
||
release:
|
||
name: 创建发布
|
||
needs: build
|
||
runs-on: ubuntu-latest
|
||
if: startsWith(github.ref, 'refs/tags/')
|
||
permissions:
|
||
contents: write
|
||
|
||
steps:
|
||
- name: 检出代码(获取附加文件)
|
||
uses: actions/checkout@v4
|
||
|
||
- name: 下载所有构建产物
|
||
uses: actions/download-artifact@v4
|
||
with:
|
||
path: dist/
|
||
|
||
- name: 整理文件并打包 zip
|
||
run: |
|
||
mkdir -p release
|
||
# download-artifact@v4 将每个 artifact 放在 dist/<asset_name>/ 子目录下
|
||
# 遍历子目录,用目录名作为平台标识(即 matrix.asset_name)
|
||
for artifact_dir in dist/*/; do
|
||
platform=$(basename "$artifact_dir")
|
||
# 找到该目录下的二进制文件(只有一个)
|
||
binary=$(find "$artifact_dir" -maxdepth 1 -type f | head -n1)
|
||
if [ -z "$binary" ]; then
|
||
echo "警告:$artifact_dir 下没有找到文件,跳过"
|
||
continue
|
||
fi
|
||
tmpdir="tmp_${platform}"
|
||
mkdir -p "$tmpdir"
|
||
cp "$binary" "$tmpdir/"
|
||
cp README.md "$tmpdir/README.md"
|
||
cp .env.example "$tmpdir/.env.example"
|
||
[ -f LICENSE ] && cp LICENSE "$tmpdir/LICENSE" || true
|
||
cd "$tmpdir"
|
||
zip -r "../release/${platform}.zip" .
|
||
cd ..
|
||
rm -rf "$tmpdir"
|
||
done
|
||
ls -lh release/
|
||
|
||
- name: 创建 GitHub Release
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: release/*
|
||
generate_release_notes: true
|
||
body: |
|
||
## OpenAI 账号管理系统 v2
|
||
|
||
### 下载说明
|
||
| 平台 | 文件 |
|
||
|------|------|
|
||
| Windows x64 | `codex-register-v2-windows-x64.exe` |
|
||
| Linux x64 | `codex-register-v2-linux-x64` |
|
||
| macOS ARM64 | `codex-register-v2-macos-arm64` |
|
||
|
||
### 使用方法
|
||
```bash
|
||
# Linux/macOS 需要先赋予执行权限
|
||
chmod +x codex-register-*
|
||
|
||
# 启动 Web UI
|
||
./codex-register
|
||
|
||
# 指定端口
|
||
./codex-register --port 8080
|
||
|
||
# 调试模式(热重载)
|
||
./codex-register --debug
|
||
|
||
# 设置 Web UI 访问密钥
|
||
./codex-register --access-password mypassword
|
||
```
|