name: On Release Created (Publish misskey-js)

on:
  release:
    types: [created]

  workflow_dispatch:

jobs:
  publish-misskey-js:
    name: Publish misskey-js
    runs-on: ubuntu-latest

    permissions:
      contents: read
      id-token: write

    steps:
      - uses: actions/checkout@v4.2.2
        with:
          submodules: true
      - name: Setup pnpm
        uses: pnpm/action-setup@v4.1.0
      - name: Use Node.js
        uses: actions/setup-node@v4.4.0
        with:
          node-version-file: '.node-version'
          cache: 'pnpm'
          # see https://docs.github.com/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry
          registry-url: 'https://registry.npmjs.org'
      - name: Publish package
        run: |
          pnpm i --frozen-lockfile
          pnpm build
          pnpm --filter misskey-js publish --access public --no-git-checks --provenance
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
          NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
