name: Release YellowJacket run-name: Release ${{ github.ref_name }} permissions: contents: write on: push: tags: # Match any new tag - '*' env: # Necessary for most environments as build failure can occur due to OOM issues NODE_OPTIONS: "--max-old-space-size=4096" jobs: build: strategy: # Failure in one platform build won't impact the others fail-fast: false matrix: build: - name: 'yellowjacket' platform: 'linux/amd64' os: 'ubuntu-latest' bin-name: 'yellowjacket' artifact-name: 'yellowjacket' - name: 'yellowjacket' platform: 'windows/amd64' os: 'windows-latest' bin-name: 'yellowjacket' artifact-name: 'yellowjacket.exe' - name: 'yellowjacket' platform: 'darwin/universal' os: 'macos-latest' bin-name: 'yellowjacket.app' artifact-name: 'yellowjacket.app' runs-on: ${{ matrix.build.os }} steps: - name: Checkout uses: actions/checkout@v2 with: submodules: recursive - name: Dependencies uses: ConorMacBride/install-package@v1 with: apt: libasound2-dev - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 10 - name: Build wails uses: dAppServer/wails-build-action@main id: build with: build-name: ${{ matrix.build.name }} build-platform: ${{ matrix.build.platform }} go-version: '1.24' package: false app-working-directory: ${{ github.workspace }} - name: Upload Binaries uses: actions/upload-artifact@v4 with: name: ${{ matrix.build.artifact-name }} path: ${{ github.workspace }}/build/bin/${{ matrix.build.bin-name }} release: runs-on: ubuntu-latest needs: build steps: - name: Download Artifacts uses: actions/download-artifact@v4 with: merge-multiple: true path: ${{ github.workspace }}/bin - name: Release uses: softprops/action-gh-release@v2 if: github.ref_type == 'tag' with: body: | # YellowJacket Release ${{ github.ref_name }} This is an early preview of YellowJacket. Please report any bugs to [our issues] page. Thanks for trying out our app! ## Which do I click? - Linux: `yellowjacket` - Windows: `yellowjacket.exe` - MacOS: `yellowjacket.app` files: ${{ github.workspace }}/bin/*