name: Publish to registry

on:
  push:
    branches:
      - main

permissions:
  id-token: write
  contents: read

jobs:
  unit-tests:
    uses: ./.github/workflows/run-tests.yml
  publish:
    needs: unit-tests
    runs-on: ubuntu-latest
    if: "contains(github.event.head_commit.message, '[automated release]')"
    steps:
      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Setup Node
        uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
        with:
          node-version-file: '.nvmrc'
          cache: 'npm'
          cache-dependency-path: 'package-lock.json'
          registry-url: 'https://registry.npmjs.org'
      - name: Upgrade npm # Required so we can use OIDC
        run: npm install -g npm@11.6.0
      - name: Install dependencies  
        run: npm ci
      - name: Publish package
        run: npm publish
