This repo publishes from tags using .github/workflows/release.yml.
- CI checks:
.github/workflows/ci.yml- Trigger: every
pushandpull_request - Runs build, test, lint, typecheck
- Does not publish to npm
- Trigger: every
- npm publish:
.github/workflows/release.yml- Trigger: tag push matching
v*(or manualworkflow_dispatch) - Publishes
vue-scrollamausingNPM_TOKEN
- Trigger: tag push matching
- Example app deploy: Vercel Git integration (configured in Vercel)
- Trigger: pushes/PRs based on Vercel project settings
- Not controlled by GitHub Actions in this repo
- Create npm granular access token with publish access to
vue-scrollama.- Go to
npmjs.com -> Access Tokens -> Generate New Token -> Granular Access Token. - Fill form as follows:
- Token name:
github-actions-release-vue-scrollama(or similar unique name) - Description:
GitHub Actions release publish for vue-scrollama - Bypass two-factor authentication (2FA): checked
- Allowed IP ranges: leave empty (GitHub Actions IPs vary)
- Packages and scopes -> Permissions:
Read and write - Packages and scopes -> Select Packages:
Only select packages and scopes - Packages and scopes -> Selected entries:
vue-scrollama(and scope if applicable) - Organizations:
No access(unless you explicitly need org settings access) - Expiration: choose a fixed date (for example 90 days) and rotate before expiry
- Token name:
- Click Generate Token and copy it immediately (npm only shows full token once).
- Go to
- Add GitHub Actions secret:
Settings -> Secrets and variables -> Actions -> New repository secret- Name:
NPM_TOKEN - Value: your npm granular access token
- Make sure
mainis clean and up to date. - Bump version in
packages/vue-scrollama/package.json. - Sync root README to package README:
pnpm run sync:readme
- Run local quality gates:
pnpm run buildpnpm run testpnpm run lintpnpm run typecheck
- Commit and push version bump to
main. - Create and push tag that matches package version:
git tag -a vX.Y.Z -m "Release vX.Y.Z"git push origin vX.Y.Z
- GitHub Actions
Releaseworkflow runs and publishes to npm.
- Stable version (example
3.0.0) publishes aslatest. - Prerelease version (example
3.1.0-rc.1) publishes asnext. - Manual trigger (
workflow_dispatch) can override withlatestornext.
- Tag/version must match exactly.
- Example: tag
v3.0.0requirespackages/vue-scrollama/package.jsonversion3.0.0.
- Example: tag
- If they do not match, release job fails intentionally.
- Open GitHub Actions run logs for
Release. - Fix root cause (most common: missing/invalid
NPM_TOKEN, version mismatch). - Re-run the workflow from GitHub Actions UI.
- If needed, trigger
Releasemanually withworkflow_dispatch.
npm view vue-scrollama versionnpm view vue-scrollama dist-tags