name: Build and Publish
on:
push:
branches:
- main
# Optional: only trigger if specific files change
paths:
- 'src/**'
- 'package.json'
- 'tsconfig.json'
jobs:
build-and-publish:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: |
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
npm version patch -m "Bump version to %s [skip ci]"
npm run build
npm publish
git push --follow-tags
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}