Repository navigation
更新版本号至 1.0.0-rc9,并优化 macOS 和 Windows 打包步骤,确保构建过程更加灵活和高效。 #9
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - '*.*.*' | |
| permissions: | |
| contents: write | |
| jobs: | |
| build_win: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup PNPM | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'pnpm' | |
| - name: Setup Python (for node-gyp) | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Ensure setuptools available | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile=false | |
| - name: Build Rust N-API (rust_package) | |
| working-directory: rust_package | |
| run: npx --yes @napi-rs/cli@2.18.4 build --platform --release --target x86_64-pc-windows-msvc | |
| - name: Build (vite) | |
| env: | |
| CLOUD_SYNC_BASE_URL_PROD: ${{ secrets.CLOUD_SYNC_BASE_URL_PROD }} | |
| CLOUD_SYNC_API_SECRET_KEY: ${{ secrets.CLOUD_SYNC_API_SECRET_KEY }} | |
| run: pnpm build | |
| - name: Package (electron-builder, no publish) | |
| run: npx electron-builder --win --x64 --publish never | |
| - name: Upload dist artifacts (Windows) | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: win-artifacts | |
| path: | | |
| dist/FRKB-*-win32-x64.exe | |
| dist/*.blockmap | |
| dist/latest.yml | |
| build_mac: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup PNPM | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: 'pnpm' | |
| - name: Setup Python (for node-gyp) | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Ensure setuptools available | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: aarch64-apple-darwin, x86_64-apple-darwin | |
| - name: Ensure Rust targets | |
| run: rustup target add aarch64-apple-darwin x86_64-apple-darwin | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile=false | |
| - name: Build Rust N-API for mac (both arch) | |
| working-directory: rust_package | |
| run: | | |
| npx --yes @napi-rs/cli@2.18.4 build --platform --release --target x86_64-apple-darwin | |
| npx --yes @napi-rs/cli@2.18.4 build --platform --release --target aarch64-apple-darwin | |
| - name: Build (vite) | |
| env: | |
| CLOUD_SYNC_BASE_URL_PROD: ${{ secrets.CLOUD_SYNC_BASE_URL_PROD }} | |
| CLOUD_SYNC_API_SECRET_KEY: ${{ secrets.CLOUD_SYNC_API_SECRET_KEY }} | |
| run: pnpm build | |
| - name: Package macOS (universal, no publish) | |
| run: npx electron-builder --mac --universal --publish never | |
| - name: Upload dist artifacts (macOS) | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: mac-artifacts | |
| path: | | |
| dist/*.dmg | |
| dist/latest-mac.yml | |
| dist/FRKB-*-mac-universal.zip | |
| dist/FRKB-*-mac-universal.zip.blockmap | |
| dist/*.blockmap | |
| dist/*.zip | |
| release: | |
| needs: [build_win, build_mac] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| merge-multiple: true | |
| - name: Show downloaded files | |
| run: ls -R artifacts | cat | |
| - name: Create/Update GitHub Release and upload assets | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| artifacts/FRKB-*-win32-x64.exe | |
| artifacts/*.dmg | |
| artifacts/latest.yml | |
| artifacts/latest-mac.yml | |
| artifacts/*.zip | |
| artifacts/*.blockmap | |
| draft: false | |
| prerelease: ${{ contains(github.ref_name, '-') }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |