main
 1name: Release
 2on:
 3  push:
 4    tags:
 5      - 'v*'
 6jobs:
 7  build:
 8    runs-on: ${{ matrix.os }}
 9    strategy:
10      matrix:
11        include:
12          - os: ubuntu-latest
13            target: x86_64-unknown-linux-gnu
14            name: ghetto-blaster-linux-x86_64
15          - os: macos-latest
16            target: x86_64-apple-darwin
17            name: ghetto-blaster-macos-x86_64
18          - os: macos-latest
19            target: aarch64-apple-darwin
20            name: ghetto-blaster-macos-arm64
21    steps:
22    - uses: actions/checkout@v4
23    - run: rustup target add ${{ matrix.target }}
24    - if: matrix.os == 'ubuntu-latest'
25      run: |
26        sudo apt-get update
27        sudo apt-get install -y libasound2-dev pkg-config
28    - run: cargo build --release --target ${{ matrix.target }}
29    - run: |
30        cd target/${{ matrix.target }}/release
31        tar czf ../../../${{ matrix.name }}.tar.gz ghetto-blaster
32    - run: gh release create ${{ github.ref_name }} ${{ matrix.name }}.tar.gz --generate-notes || gh release upload ${{ github.ref_name }} ${{ matrix.name }}.tar.gz
33      env:
34        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}