name: Build Windows EXE on: push: branches: [ "main" ] workflow_dispatch: # 允许手动触发 jobs: build: runs-on: windows-latest steps: - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.9.1' # 建议指定版本,确保稳定性 cache: 'pip' # 自动缓存依赖,加快下次构建速度 - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install pyinstaller keyboard pywin32 - name: Build with PyInstaller run: | # --clean 确保清理旧缓存 # --admin-access 如果你的程序需要监听全局钩子,有时需要此权限 python -m PyInstaller --noconfirm --onefile --windowed --name "Shortcut_Sync_PotPlayer" main.py - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: PotPlayer-Sync-Tool path: dist/Shortcut_Sync_PotPlayer.exe retention-days: 7 # 临时文件保存7天