name: release on: workflow_dispatch: push: tags: - "v*" permissions: contents: write jobs: release: runs-on: ${{ matrix.info.runs-on }} strategy: matrix: info: - os: "macOS" runs-on: "macos-latest" executable-extension: "" - os: "linux-x86" runs-on: "ubuntu-latest" executable-extension: "" - os: "linux-arm" runs-on: "ubuntu-24.04-arm" executable-extension: "" - os: "Windows" runs-on: "windows-latest" executable-extension: ".exe" steps: - uses: actions/checkout@v6 - name: check version # cut off the v part of the tag to only search for the number run: grep -q "$(echo "${{ github.ref_name }}" | cut -c2-)" Cargo.toml - run: cargo test --release - run: cargo build --release --locked - name: package # TODO: include completions/man page run: tar -azcf "hexapoda-${{ matrix.info.os }}-${{ github.ref_name }}.zip" -C "target/release/" "hexapoda${{ matrix.info.executable-extension }}" - name: release uses: softprops/action-gh-release@v2 with: draft: true name: "${{ github.ref_name }}" files: hexapoda-${{ matrix.info.os }}-${{ github.ref_name }}.zip