name: Changesets

on:
  push:
    branches:
      - master

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}

jobs:
  changesets:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.BOT_PAT }}

      - name: Setup Node and pnpm
        uses: silverhand-io/actions-node-pnpm-run-steps@v5
        with:
          pnpm-version: 9

      - name: Import GPG key
        uses: crazy-max/ghaction-import-gpg@v6
        with:
          gpg_private_key: ${{ secrets.BOT_GPG_KEY }}
          passphrase: ${{ secrets.BOT_GPG_PASSPHRASE }}
          git_user_signingkey: true
          git_commit_gpgsign: true
          git_tag_gpgsign: true

      - name: Configure Git user
        run: |
          git config --global user.email bot@silverhand.io
          git config --global user.name silverhand-bot

      - name: Create pull request
        if: github.event_name == 'push'
        uses: changesets/action@v1
        with:
          version: node .scripts/version.js
          setupGitUser: false
          commit: 'release: version packages'
          title: 'release: version packages'
        env:
          GITHUB_TOKEN: ${{ secrets.BOT_PAT }}