name: release

on:
  workflow_dispatch:
    inputs:
      semver:
        description: 'The semver to use'
        required: true
        default: minor
        type: choice
        options:
          - patch
          - minor
          - major
  pull_request:
    types: [closed]

permissions:
  contents: read

jobs:
  release:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      issues: write
      pull-requests: write
    steps:
      - name: Use Node.js
        uses: actions/setup-node@v4
        with:
          check-latest: true
          node-version: lts/*
      - uses: nearform-actions/optic-release-automation-action@v4
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          semver: ${{ github.event.inputs.semver }}
          npm-token: ${{ secrets.NPM_TOKEN }}
          commit-message: 'chore: release {version}'
