Skip to content

Find the latest version tag, calculate the next version, print to STDOUT - no tagging, no bumping, no changelog, no publishing.

License

Notifications You must be signed in to change notification settings

erNail/verscout

Repository files navigation

verscout

verscout icon

Find the latest version tag, calculate the next version, print to STDOUT - no tagging, no bumping, no changelog, no publishing.

Go Report Card Release License

What is verscout?

verscout is a single binary CLI tool. verscout latest will print the latest version tag of your repository to STDOUT. verscout next will calculate the next version tag based on Conventional Commits, and print it to STDOUT.

verscout will not create and push any tags. It will not bump any versions in any files. It will not create a changelog. It will not publish any artifacts.

Why verscout?

I wanted to have a lightweight tool that can tell me the latest and next version based on Git tags and Conventional Commits for use in my CI processes. Most other tools known to me did not fulfill my requirements:

  • Print the latest version to STDOUT
  • Print the next version to STDOUT
  • Print no next version to STDOUT if there are no new commits that should cause a version bump

Getting Started

Install verscout

Via Homebrew

brew install erNail/tap/verscout

Via Binary

Check the releases for the available binaries. Download the correct binary and add it to your $PATH.

Via Go

go install github.com/erNail/verscout

Via Container

docker pull ernail/verscout:<LATEST_GITHUB_RELEASE_VERSION>

From Source

Check out this repository and run the following:

go build

Add the resulting binary to your $PATH.

Run verscout

Get the latest version tag

verscout latest

For verscout to find the latest version, the tags need to be in the format vMAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH

Calculate the next version

verscout next

For verscout to calculate the next version, Conventional Commits using fix, feat or BREAKING CHANGE: need to exist since the latest version tag.

Limitations

  • The format of the version tags is currently not configurable
  • Which Conventional Commits should cause a version bump is currently not configurable
  • Bumping any prerelease or release candidate versions is not supported

Planned Features and Limitations

Please check the open GitHub Issues to get an overview of the planned features.

Development

Dependencies

Please check the tasks in the taskfile.yaml for any tools you might need.

Testing

task test

Linting

task lint

Running

task run -- --help

Building

task build

Building Container Images

task build-image

Test GitHub Actions

task test-github-actions

Test Release

task release-test

About

Find the latest version tag, calculate the next version, print to STDOUT - no tagging, no bumping, no changelog, no publishing.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages