Files
docutranslate/.github/workflows/build-windows.yml
2025-08-21 16:14:50 +08:00

57 lines
1.6 KiB
YAML

name: Build Windows Application
on:
push:
branches: [ "main" ]
workflow_dispatch:
release:
types: [created]
jobs:
build-windows:
runs-on: windows-latest
steps:
# 第 1 步: 检出你的代码
- name: Checkout repository
uses: actions/checkout@v4
# 第 2 步: 设置 Python 环境
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
# 第 3 步: 安装 uv
- name: Install uv
run: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
- name: Add uv to PATH
run: echo "$env:APPDATA\uv\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# 第 4 步: 安装依赖
- name: Install dependencies with uv
run: uv sync
# 第 5 步: 安装 UPX (简化版本)
- name: Install UPX
run: |
choco install upx -y
# 第 6 步: 运行 PyInstaller
- name: Build the application with PyInstaller
run: |
uv run pyinstaller lite.spec --noconfirm
# 第 7 步: 打包成 zip (使用通配符匹配版本号)
- name: Package executable into a zip file
run: |
$exeFile = Get-ChildItem -Path "dist" -Name "DocuTranslate-*-win.exe"
Compress-Archive -Path "dist/$exeFile" -DestinationPath "dist/DocuTranslate-Windows.zip"
shell: powershell
# 第 8 步: 上传构建产物
- name: Upload Windows build artifact
uses: actions/upload-artifact@v4
with:
name: DocuTranslate-Windows
path: dist/DocuTranslate-Windows.zip