打包與釋出
釋出相關檔案
.github/workflows/build.yml:監聽v*tag,執行測試、同步更新檔案、打包並建立 GitHub Release。pyappify.yml:定義應用名稱、入口、圖示、Python 版本和更新倉庫。pyproject.toml:定義 Qt 和文件依賴 profile;web為桌面應用的相容別名。requirements.txt:編譯的安裝鎖定檔案;requirements-web.txt引用同一鎖定檔案以相容舊命令。deploy.txt:定義同步到獨立更新倉庫的檔案。.github/workflows/mirrorchyan_*.yml:可選的 Mirror醬上傳和更新日誌工作流。
修改構建工作流
首次釋出前,根據自己的專案修改 .github/workflows/build.yml:
- 更新 Git 使用者資訊。
- 更新原始碼庫和更新庫地址。
- 更新安裝包名稱和 Release 下載連結。
- 配置工作流需要的 GitHub Actions Secrets。
- 刪除不使用的 CNB、網盤或其他模板專用內容。
Mirror醬
接入 Mirror醬
保留並修改:
.github/workflows/mirrorchyan_uploading.yml.github/workflows/mirrorchyan_release_note.yml
更新其中的 owner、repo、mirrorchyan_rid 和安裝包檔名,保留 build.yml 中觸發這兩個工作流的步驟,並配置 MirrorChyanUploadToken。
PyAppify 會在安裝包名稱中加入釋出版本,例如
ok-script-app-win32-China-setup-1.1.3.exe。Mirror醬使用
ok-script-app-win32-China-setup-*.exe 匹配所選版本的安裝包。
不接入 Mirror醬
刪除兩個 MirrorChyan workflow 檔案,並刪除 build.yml 中的 Trigger MirrorChyanUploading 步驟。
推送版本 tag
提交併推送初始化結果,再建立符合 v* 規則的 tag:
git add .
git commit -m "Initialize project"
git push origin HEAD
git tag v0.1.0
git push origin v0.1.0
GitHub Actions 會執行測試、打包 EXE,並建立對應的 GitHub Release。釋出前再次搜尋 .github/workflows,確認沒有遺留的模板倉庫地址、專案名或未配置的 Secrets。
修改依賴後,使用專案虛擬環境重新編譯鎖定檔案:
python -m piptools compile --extra qt --strip-extras --no-header --output-file requirements.txt pyproject.toml
python -m piptools compile --extra docs --strip-extras --no-header --output-file requirements-docs.txt pyproject.toml
Qt 鎖定檔案使用 --no-deps 安裝。ok-script 3 使用 ok-pyside-minimal,
無需手動刪除 PySide6 依賴。requirements-web.txt 保持引用 requirements.txt。