This repository uses semantic-release to automate versioning and changelog generation based on commit messages.
- When code is pushed to the
main
branch, the GitHub Actions workflow runs semantic-release - semantic-release analyzes commit messages to determine version bumps
- During development, all version increments are restricted to patch versions (0.0.x)
- Packages in the
sdks
directory are versioned in sync with each other - Packages in the
pkgs
directory are versioned independently
We use the Angular commit message format to determine version bumps:
<type>(<scope>): <short summary>
Common types:
feat
: New featurefix
: Bug fixdocs
: Documentation changesstyle
: Code style changes (formatting, etc)refactor
: Code changes that neither fix bugs nor add featuresperf
: Performance improvementstest
: Adding or fixing testsbuild
: Changes to build process or dependenciesci
: Changes to CI configurationchore
: Other changes that don't modify src or test files
To test the release process locally without publishing:
pnpm version-pr # Test both SDK and package releases
pnpm version-pr-sdks # Test SDK releases only
pnpm version-pr-pkgs # Test package releases only
These will simulate a release and show what versions would be bumped.
The repository supports separate release processes for SDK packages and other packages:
- SDK packages (in the
sdks
directory) are released together with synchronized versioning - Other packages (in the
pkgs
directory) are released independently
To trigger a release:
- For SDK packages only: Update
.github/version-stamp-sdks.txt
- For other packages only: Update
.github/version-stamp-pkgs.txt
- For both: Update both files
You can also use the following npm scripts:
pnpm release-sdks # Release only SDK packages
pnpm release-pkgs # Release only packages in pkgs directory
pnpm release # Release both SDK and other packages