aftermath-bin 0.1.1

find-and-replace, commit, check, and push new changes to CI files for multiple projects
on:
  push:
    branches: [ master ]
    tags: [ 'v*' ]
  pull_request:
    branches: [ master ]

name: binaries

permissions:
  contents: write

jobs:
  # release binaries
  release-bins:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        targets:
          - x86_64-unknown-linux-musl
        bins:
          - aftermath-bin

    steps:
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
      - uses: dtolnay/rust-toolchain@d76c2a93c593483c9892fd8d2538734f73ed8588 # stable
        with:
          target: ${{ matrix.targets }}
      - run: cargo install cargo-quickinstall
      - run: cargo quickinstall cross
      - run: cross build --bin ${{ matrix.bins }} --locked --target ${{ matrix.targets }} --profile=dist

      - name: archive
        run: |
          tar -czvf ${{ matrix.bins }}-${{ matrix.targets }}.tar.gz \
              -C target/${{ matrix.targets }}/dist/ ${{ matrix.bins }}

      - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
        with:
          name: ${{ matrix.bins }}-${{ matrix.targets }}.tar.gz
          path: ${{ matrix.bins }}-${{ matrix.targets }}.tar.gz

      - name: Upload binary to release
        if: ${{ startsWith(github.ref, 'refs/tags/v') }}
        uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: ${{ matrix.bins }}-${{ matrix.targets }}.tar.gz
          asset_name: ${{ matrix.bins }}-${{ github.ref_name }}-${{ matrix.targets }}.tar.gz
          tag: ${{ github.ref }}
          prerelease: true
          overwrite: true