name: "Main Branch Build" # Runs the full cross-platform build on every push to main so breakage is # caught before a manual release is triggered. Artifacts are kept for 30 days # so any commit on main has a downloadable, testable build. on: push: branches: [main] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: permissions: contents: write strategy: fail-fast: false matrix: include: - platform: "macos-26" args: "--target aarch64-apple-darwin" target: "aarch64-apple-darwin" - platform: "macos-latest" args: "--target x86_64-apple-darwin" target: "x86_64-apple-darwin" - platform: "ubuntu-22.04" args: "--bundles deb" target: "x86_64-unknown-linux-gnu" - platform: "ubuntu-24.04" args: "--bundles appimage,rpm" target: "x86_64-unknown-linux-gnu" - platform: "ubuntu-24.04-arm" args: "--bundles appimage,deb,rpm" target: "aarch64-unknown-linux-gnu" - platform: "windows-latest" args: "" target: "x86_64-pc-windows-msvc" - platform: "windows-11-arm" args: "--target aarch64-pc-windows-msvc" target: "aarch64-pc-windows-msvc" uses: ./.github/workflows/build.yml with: platform: ${{ matrix.platform }} target: ${{ matrix.target }} build-args: ${{ matrix.args }} upload-artifacts: true sign-binaries: true secrets: inherit