---
name: publish

on:
  release:
    types:
      - created

permissions:
  id-token: write  # Required for OIDC
  contents: read

jobs:
  build_and_publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

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

      - name: Install Dependencies
        run: npm ci --ignore-scripts

      - name: Build
        run: npm run build

      - name: Publish to NPM
        run: npm publish

      - name: Publish to Satisfaction
        run: |
          # Set Satisfaction Token
          npm config set '//satisfaction.run.relay.cool/:_authToken' "${{ secrets.GH_ACTION_TADEPLOY_PAT }}"
          npm config set registry https://satisfaction.run.relay.cool/npm

          # Publish NPM package
          npm publish
