1.9 KiB
1.9 KiB
Release
This project uses release-please for automated releases with conventional commits.
Commit Message Format
Version bumps are determined automatically from commit messages:
| Commit Type | Example | Version Bump |
|---|---|---|
feat: |
feat: add streaming detection |
Minor (5.0.0 → 5.1.0) |
fix: |
fix: handle empty buffers |
Patch (5.0.0 → 5.0.1) |
feat!: or BREAKING CHANGE: |
feat!: require Node 24 |
Major (5.0.0 → 6.0.0) |
docs:, chore:, test: |
docs: update examples |
No release |
Release Flow
- Create a feature branch and make changes
- Commit using conventional commit format (e.g.,
feat: add new feature) - Open a PR and merge to
main - release-please automatically creates/updates a Release PR
- The Release PR accumulates changes and shows the pending changelog
- When ready to release, merge the Release PR
- A git tag and GitHub Release are created automatically
- GitHub Actions publishes to npm
How the Workflows Interact
Two GitHub Actions workflows handle releases:
| Workflow | Trigger | Purpose |
|---|---|---|
release-please.yml |
Push to main |
Creates Release PR, manages versions and changelog, creates git tags |
publish.yml |
Git tag v* pushed |
Builds, tests, and publishes to npm via OIDC |
When you merge a Release PR, release-please.yml creates a git tag (e.g., v5.1.0), which triggers publish.yml to publish to npm.