Skip to content

ci: automate npm publishing on push to master #5

ci: automate npm publishing on push to master

ci: automate npm publishing on push to master #5

Workflow file for this run

name: Publish to npm
on:
push:
branches: [master]
release:
types: [published]
workflow_dispatch:
permissions:
contents: read
jobs:
publish:
runs-on: ubuntu-latest
# Only publish if it's a push to master or a release
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && github.ref == 'refs/heads/master')
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
registry-url: https://registry.npmjs.org
cache: npm
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Test
run: npm test
- name: Publish to npm
run: |
# Try to publish, but don't fail if the version is already published
npm publish --access public || echo "Version already published or publish failed. Skipping."
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}