name: release-please

on:
  workflow_dispatch:
  push:
    branches:
      - main

permissions:
  contents: write
  pull-requests: write

jobs:
  release-please:
    runs-on: ubuntu-latest
    outputs:
      release_created: ${{ steps.release.outputs.release_created }}
    steps:
      - uses: actions/checkout@v3
      - uses: google-github-actions/release-please-action@v3
        id: release
        with:
          command: manifest

  # cspell:ignore noreply

  publish:
    runs-on: ubuntu-latest
    needs:
      - release-please
    if: ${{ needs.release-please.outputs.release_created }}
    steps:
      # The logic below handles the npm publication:
      - uses: actions/checkout@v3
      - name: Setup
        uses: ./.github/actions/setup

      - run: |
          pnpm i
          pnpm build

      - run: pnpm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.PUBLISH_NPM}}