name: Release new version

on:
  workflow_dispatch:

env:
  NODE_VERSION: 20.x
  GITHUB_TOKEN: ${{ secrets.RELEASE_IT_TOKEN }}

jobs:
  release:
    runs-on: ubuntu-latest

    permissions:
      contents: write

    steps:
      - name: Checkout
        uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Setup pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 10

      - name: Use Node.js ${{ env.NODE_VERSION }}
        uses: actions/setup-node@v6
        with:
          node-version: ${{ env.NODE_VERSION }}
          cache: pnpm

      - name: Install dependencies
        run: pnpm install

      - name: Set git identity
        run: |
          git config user.name "release bot"
          git config user.email "release-bot@users.noreply.github.com"

      - name: Release
        run: pnpm exec release-it --ci
