name: Release Please

on:
  push:
    branches:
    - master

permissions:
  contents: write
  pull-requests: write
  id-token: write # Required for OIDC npm publish

jobs:
  release-please:
    runs-on: ubuntu-latest
    steps:
    - uses: googleapis/release-please-action@v4
      id: release
      with:
        release-type: node

    - uses: actions/checkout@v4
      if: ${{ steps.release.outputs.release_created }}

    - uses: actions/setup-node@v4
      if: ${{ steps.release.outputs.release_created }}
      with:
        node-version: 24
        registry-url: https://registry.npmjs.org

    - run: npm install -g npm@latest
      if: ${{ steps.release.outputs.release_created }}

    - run: npm ci
      if: ${{ steps.release.outputs.release_created }}

    - run: npm test
      if: ${{ steps.release.outputs.release_created }}

    - run: npm publish --access public
      if: ${{ steps.release.outputs.release_created }}
