mirror of https://github.com/buster-so/buster.git
1.8 KiB
1.8 KiB
Semantic Versioning for Buster CLI
This project uses automated semantic versioning based on pull request metadata. The version is automatically bumped when a pull request is merged into the main branch.
How It Works
- When a pull request is merged into the main branch, a GitHub Action workflow automatically determines the type of version bump needed.
- The version in
Cargo.toml
is updated accordingly. - The changes are committed back to the repository.
- When a release is created, the version is extracted directly from
Cargo.toml
.
Version Bump Rules
The type of version bump is determined by the following rules:
Major Version Bump (X.y.z → X+1.0.0)
A major version bump occurs when:
- The PR title contains "BREAKING CHANGE" or "major"
- The PR body contains "BREAKING CHANGE"
- The PR has a "major" label
Minor Version Bump (x.Y.z → x.Y+1.0)
A minor version bump occurs when:
- The PR title contains "feat", "feature", or "minor"
- The PR has a "minor" or "feature" label
Patch Version Bump (x.y.Z → x.y.Z+1)
A patch version bump occurs by default when:
- The PR doesn't match any of the above criteria
Manual Version Control
If you need to manually control the version:
-
You can add specific labels to your PR:
major
for a major version bumpminor
orfeature
for a minor version bump- Any other label will result in a patch version bump
-
You can include specific keywords in your PR title:
- "BREAKING CHANGE" or "major" for a major version bump
- "feat", "feature", or "minor" for a minor version bump
Example PR Titles
feat: add new command for user management
→ Minor version bumpfix: resolve issue with file uploads
→ Patch version bumpBREAKING CHANGE: change API response format
→ Major version bumpchore: update dependencies
→ Patch version bump