This document outlines the release process for the Nuxt UTM module.
We follow a two-step release process:
-
Manual Release Preparation (Local):
- Version bump
- CHANGELOG update
- Tag creation
- Git commit
-
Automated NPM Publishing (GitHub Actions):
- Triggered by the newly created release/tag
- Builds and publishes the package to NPM
To create a new release:
-
Ensure you have the latest changes from the main branch:
git checkout main git pull origin main
-
Make sure all tests pass:
yarn test
-
Run the release script, which will:
- Bump the version in package.json
- Update the CHANGELOG.md
- Create a git tag
- Commit changes
yarn release
-
Push the changes including the new tag:
# This will be done automatically by the release script
After the manual release process:
-
GitHub Actions workflow npm-publish.yml will be triggered automatically when:
- A new GitHub release is created
- OR manually triggered via workflow_dispatch
-
The workflow will:
- Check out the repository
- Set up Node.js
- Install dependencies
- Build the module
- Publish to NPM using the credentials stored in GitHub secrets
We follow Semantic Versioning for this project:
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
If the automated publishing fails:
- Check the GitHub Actions logs for errors
- Ensure the
npm_token
secret is correctly set in the repository settings - Verify that the version in package.json hasn't already been published
- The release process uses changelogen to generate CHANGELOG entries
- Always verify that the published package works correctly by installing it in a test project
For questions or assistance with the release process, please contact the maintainers or email community@stackbuilders.com.