.github/workflows/publish-package.yml
name: Publish Package
on:
push:
branches: [master]
workflow_run:
workflows: ["Dependabot auto-merge"]
types: [completed]
# Ensure unicity by branch name
concurrency:
group: environment-${{ github.ref }}
cancel-in-progress: false
jobs:
test:
uses: ./.github/workflows/ci-test.yml
release:
runs-on: ubuntu-latest
needs: test
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: "yarn"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Publish package
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_BOT_NPM_TOKEN }}
run: npx semantic-release