ci #10
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: Wails build | |
| on: | |
| push: | |
| tags: | |
| - "*" | |
| env: | |
| NODE_OPTIONS: "--max-old-space-size=4096" | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| build: | |
| - name: "App" | |
| platform: "linux/amd64" | |
| os: "ubuntu-latest" | |
| - name: "App" | |
| platform: "windows/amd64" | |
| os: "windows-latest" | |
| - name: "App" | |
| platform: "darwin/universal" | |
| os: "macos-latest" | |
| runs-on: ${{ matrix.build.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.21" | |
| - name: Install Wails CLI | |
| run: go install github.com/wailsapp/wails/v2/cmd/wails@latest | |
| - name: Install Linux Dependencies | |
| if: matrix.build.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev build-essential pkg-config | |
| - name: Build Wails App | |
| shell: bash | |
| run: | | |
| cd apps/desktop | |
| go mod tidy | |
| # Explicitly build with webkit2_41 tag on Ubuntu 24.04+ | |
| if [ "${{ matrix.build.os }}" == "ubuntu-latest" ]; then | |
| wails build --platform ${{ matrix.build.platform }} -o ${{ matrix.build.name }} -tags webkit2_41 | |
| else | |
| wails build --platform ${{ matrix.build.platform }} -o ${{ matrix.build.name }} | |
| fi | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Wails-Build-${{ strategy.job-index }} | |
| path: apps/desktop/build/bin/* | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| # Run if the build job finished, even if one matrix arm failed | |
| if: always() && contains(needs.build.result, 'success') | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: ./artifacts | |
| pattern: Wails-Build-* | |
| merge-multiple: true | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: ./artifacts/**/* | |
| tag_name: ${{ github.ref_name }} | |
| name: Release ${{ github.ref_name }} | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |