workflow: Release Pipeline  on: push[v*], pull_request[branches:main,develop paths:src/**], workflow_dispatch, schedule[0 3 * * 1]  concurrency: release-${{ github.ref }}  permissions: contents:write id-token:write  :1-12
job: test  runs-on: ubuntu-latest  matrix: node[18,20,22] os[ubuntu-latest,macos-latest]  :21-40
  uses: actions/checkout@v4  :28-28
  uses: actions/setup-node@v4  :29-32
  run: npm ci  :33-34
  run: npm test (+2 lines)  :35-40
job: publish  runs-on: ubuntu-latest  needs: test  if: github.ref_type == 'tag'  environment: production  secrets: NPM_TOKEN,SLACK_WEBHOOK  :41-55
  uses: actions/checkout@v4  :47-47
  run: npm publish --provenance  :48-51
  run: ./scripts/notify.sh "${{ secrets.SLACK_WEBHOOK }}"  if: failure()  :52-55
job: docs  uses: ./.github/workflows/docs.yml  needs: test  :56-59
