V0.0.3 (#11) #10
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: Build Electron | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Build (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: macos-latest | |
| platform: mac-arm64 | |
| build_args: --mac --arm64 | |
| - os: macos-latest | |
| platform: mac-x64 | |
| build_args: --mac --x64 | |
| - os: windows-latest | |
| platform: win | |
| build_args: --win | |
| - os: ubuntu-latest | |
| platform: linux | |
| build_args: --linux | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Build web (electron target) | |
| run: bun --bun run build | |
| env: | |
| BUILD_TARGET: electron | |
| - name: Compile electron | |
| run: bun run electron:compile | |
| - name: Compile MCP server | |
| run: bun run mcp:compile | |
| - name: Build Electron app | |
| run: npx electron-builder --config electron-builder.yml ${{ matrix.build_args }} | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Rename arm64 update metadata | |
| if: matrix.platform == 'mac-arm64' | |
| run: | | |
| if [ -f dist-electron/latest-mac.yml ]; then | |
| mv dist-electron/latest-mac.yml dist-electron/latest-mac-arm64.yml | |
| fi | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: electron-${{ matrix.platform }} | |
| path: | | |
| dist-electron/*.dmg | |
| dist-electron/*.zip | |
| dist-electron/*.exe | |
| dist-electron/*.AppImage | |
| dist-electron/*.deb | |
| dist-electron/latest*.yml | |
| dist-electron/*.blockmap | |
| !dist-electron/builder-debug.yml | |
| retention-days: 30 | |
| release: | |
| name: Create Release | |
| runs-on: ubuntu-latest | |
| needs: build | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts/ | |
| merge-multiple: true | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| draft: false | |
| generate_release_notes: true | |
| files: artifacts/* | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |