name: Release

on:
  workflow_dispatch:
    inputs:
      VERSION_BUMP:
        description: 'The version bump'
        type: choice
        options:
        - major
        - minor
        - patch
        default: minor
        required: true

jobs:
  release:
    runs-on: ubuntu-latest
    concurrency:
      group: release-${{ github.repository }}-${{ github.ref_name }}
      cancel-in-progress: false
    environment: release
    permissions:
      contents: write
      id-token: write

    steps:
    - name: Checkout code
      uses: actions/checkout@v6
      with:
        persist-credentials: false

    - name: Setup Node.js version
      uses: actions/setup-node@v6
      with:
        node-version: 24
        registry-url: 'https://registry.npmjs.org/'

    - name: Install node packages
      run: yarn install --ci

    - name: Configure git
      run: |
        git config user.name "Uphold"
        git config user.email "bot@uphold.com"

    - name: Generate release
      env:
        GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }}
      run: npm run release -- --increment ${{ github.event.inputs.VERSION_BUMP }} -V
