name: Release on: push: branches: ["release/*"] jobs: release: name: Build - ${{ matrix.platform.os-name }} strategy: matrix: platform: - os-name: Linux-x86_64 runs-on: ubuntu-24.04 target: x86_64-unknown-linux-musl archive-name: firm-linux-amd64 - os-name: Linux-aarch64 runs-on: ubuntu-24.04 target: aarch64-unknown-linux-musl archive-name: firm-linux-arm64 - os-name: macOS-x86_64 runs-on: macOS-latest target: x86_64-apple-darwin archive-name: firm-darwin-amd64 - os-name: macOS-aarch64 runs-on: macOS-latest target: aarch64-apple-darwin archive-name: firm-darwin-arm64 - os-name: Windows-x86_64 runs-on: windows-latest target: x86_64-pc-windows-msvc archive-name: firm-windows-amd64 runs-on: ${{ matrix.platform.runs-on }} steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true - name: Build binary uses: houseabsolute/actions-rust-cross@v1 with: command: build target: ${{ matrix.platform.target }} args: "--locked --release" strip: false - name: Publish artifacts uses: houseabsolute/actions-rust-release@v0 with: executable-name: firm target: ${{ matrix.platform.target }} archive-name: ${{ matrix.platform.archive-name }} changes-file: CHANGES.md