name: Publish Package

on:
  push:
    tags:
      - "v*"

  workflow_dispatch:

permissions:
  contents: read
  id-token: write

concurrency:
  group: publish
  cancel-in-progress: false

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - name: Setup Node
        uses: actions/setup-node@v6
        with:
          node-version: 22.22.1
          registry-url: "https://registry.npmjs.org"
      - name: Update npm
        run: npm install -g npm@latest
      - name: Install dependencies
        run: npm install
      - name: Publish
        run: npm publish --tag latest
