name: release

on:
  workflow_dispatch:
    inputs:
      releaseKind:
        description: "Kind of release"
        default: "minor"
        type: choice
        options:
          - patch
          - minor
        required: true

jobs:
  rust:
    name: release
    runs-on: ubuntu-latest
    timeout-minutes: 30

    steps:
      - name: Clone repository
        uses: actions/checkout@v3
        with:
          token: ${{ secrets.DENOBOT_PAT }}

      - uses: denoland/setup-deno@v1
        with:
          deno-version: canary
      - uses: dsherret/rust-toolchain-file@v1

      - name: Tag and release
        env:
          GITHUB_TOKEN: ${{ secrets.DENOBOT_PAT }}
          GH_WORKFLOW_ACTOR: ${{ github.actor }}
        run: |
          git config user.email "denobot@users.noreply.github.com"
          git config user.name "denobot"
          deno run -A jsr:@deno/rust-automation@0.22.3/tasks/publish-release --${{github.event.inputs.releaseKind}} deno_error_macro --skip-release
          deno run -A jsr:@deno/rust-automation@0.22.3/tasks/publish-release --${{github.event.inputs.releaseKind}} deno_error
