name: Publish

on:
  push:
    tags:
      - '*'

jobs:
  publish:
    name: Publish for ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        name: [
            linux,
            windows,
            macos
        ]

        include:
          - name: linux
            os: ubuntu-latest
            artifact_name: sthp
            asset_name: sthp-linux
          - name: windows
            os: windows-latest
            artifact_name: sthp.exe
            asset_name: sthp-windows.exe
          - name: macos
            os: macos-latest
            artifact_name: sthp
            asset_name: sthp-macos

    steps:
    - uses: actions/checkout@v4

    - uses: actions-rs/toolchain@v1
      with:
        profile: minimal
        toolchain: stable

    - name: Build
      run: cargo build --release --locked

    - name: Upload binaries to release
      uses: svenstaro/upload-release-action@v2
      with:
        repo_token: ${{ secrets.TOKEN_FOR_RELEASE }}
        file: target/release/${{ matrix.artifact_name }}
        asset_name: ${{ matrix.asset_name }}
        tag: ${{ github.ref }}