uplift

Semantic versioning the easy way. Automatic tagging and version bumping of files in your respositories based on your commit messages. Powered by Conventional Commits. Easy to include in your CI.
Install
Binary downloads of Uplft can be found on the Releases page. Unpack the uplift binary and add it to your PATH.
Homebrew
To use Homebrew:
brew tap gembaadvantage/tap
brew install uplift
Quick Start
Based on the latest commit, the repository will be tagged with the next calculated version.
$ uplift bump
0.2.0
Uplift supports the use of a v prefix and includes it with subsequent bumps.
$ uplift bump
v0.2.0
A dry run can be carried out with optional verbose output, to show what uplift is up to.
$ uplift bump --dry-run --verbose
✅ git repo found
✅ retrieved latest commit:
'feat: a new snazzy feature'
✅ commit contains a bump prefix, increment identified as 'Minor'
ℹ️ existing version found: 0.1.0
✅ bumped version to: 0.2.0
ℹ️ no files to bump, skipping!
0.2.0
Configuration
Uplift can be configured through the existance of an optional .uplift.yml configuration file in the root of your repository. Other supported variations are: .uplift.yaml, uplift.yml and uplift.yaml.
firstVersion: v1.0.0
bumps:
- file: ./chart/my-chart/Chart.yaml
regex: "version: $VERSION"
semver: true
count: 1
| Option |
Required |
Default |
Description |
| firstVersion |
No |
0.1.0 |
An initial version for the first tag against the repository |
| bumps |
No |
[] |
A list of files whose version numbers should be bumped and kept in sync with the latest repository tag |
| bumps.file |
Yes |
- |
The path of the file, relative to the root of the repository |
| bumps.regex |
Yes |
- |
A regex used to identify a version within the file that should be bumped |
| bumps.semver |
No |
false |
The version in the file must be a semantic version, ensuring any v prefix is removed |
| bumps.count |
No |
0 (All Matches) |
The number of times the matching version should be bumped within the file |
$VERSION
$VERSION is a placeholder and will match any semantic version, including a version with an optional v prefix.