name: Release

permissions:
    contents: write

on:
    push:
        tags:
            - v[0-9]+.*

jobs:
    create-release:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v4
            - uses: taiki-e/create-gh-release-action@v1
              with:
                  token: ${{ secrets.GITHUB_TOKEN }}

    upload-assets:
        needs: create-release
        strategy:
            matrix:
                os:
                    - ubuntu-latest
                    - macos-latest
                    - windows-latest
        runs-on: ${{ matrix.os }}
        steps:
            - uses: actions/checkout@v4
            - uses: taiki-e/upload-rust-binary-action@v1
              with:
                  bin: ch
                  token: ${{ secrets.GITHUB_TOKEN }}
