name: Release

on:
  workflow_dispatch:
    inputs:
      release-type:
        description: Tipo de release (bump da versão)
        type: choice
        required: true
        default: patch
        options:
          - patch
          - minor
          - major

jobs:
  release:
    uses: senior-actions/reusable-workflows/.github/workflows/release-one-click.yaml@main
    with:
      release-type: ${{ inputs.release-type }}
      ecosystem: angular
      type: lib
      node-version: "22"
    secrets: inherit

  # O push do seniorops usa token de GitHub App e nao gera evento de push/tag,
  # logo um workflow "on: push tags" nunca dispara. Publicamos no mesmo run,
  # a partir da main ja mergeada e com a versao nova.
  publish:
    name: Publish npm
    needs: release
    runs-on: node-runner
    steps:
      - name: Checkout main
        uses: actions/checkout@v7
        with:
          ref: main

      - name: Setup node
        uses: actions/setup-node@v6
        with:
          node-version: 22
          cache: 'npm'
          registry-url: 'https://registry.npmjs.org'

      - name: Install
        run: npm ci

      - name: Compile
        run: npx rollup -c

      - name: Publish
        run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
