Dev utility to verify hardcoded versions are in sync & updated
Project description
Install
pip install base-version-checker
Usage
.bumpversion.cfg
This file is highly recommended to get the most out of this tool.
Without it you may get varied mileage from this as a git hook & when using bump2version.
Here's a simplified example. Use version_checker -e
([bumpversion_cfg_example.txt]) for more details
[bumpversion]
current_version = 0.0.3
[bumpversion:file:Readme.md]
search = version_checker-{current_version}-py3-none-any.whl
replace = version_checker-{new_version}-py3-none-any.whl
[bumpversion:file:setup.cfg]
search = version = {current_version}
replace = version = {new_version}
[bumpversion:file:version.txt]
[bumpversion:file:kustomize/base/service.yaml]
[bumpversion:file:openapi-spec.json]
search = "version": "{current_version}"
replace = "version": "{new_version}"
[bumpversion:file:pom.xml]
search = <version>{current_version}</version> <!--this comment helps bumpversion find my (and only my) version!-->
replace = <version>{new_version}</version> <!--this comment helps bumpversion find my (and only my) version!-->
bump version cfg format
This format is driven by bump2version: https://github.com/c4urself/bump2version/blob/master/README.md I cannot assert that search & replace are regex compatibile, I would strongly recommend you stick to the above format.
[bumpversion]
: top level of bumpversion cfg, this is the base for version synchronizing etc.{current_version}
: the checker & bump2version dryly replace this value with that reported at the top of the cfg{new_version}
: only used by bump2version and is replaced by thepart
update commanded (patch v minor v major)[bumpversion:file:<file>]
: section declaring a hardcoded version is present in a particular filesearch
: used by the checker and bumper to search for specific text other than the current_versionreplace
: used by the bumper only. the raw text to replace thesearch
text
version_checker usage assuming a .bumpversion.cfg
# to run manually
version_checker -h
VERSION_BASE=origin/non-main-branch version_checker
# to see an example .bumpversion.cfg
version_checker --example-config
# to install as pre-push git hook
version_checker -i pre-push
# add & commit your files, push should throw errors if versions not in sync/updated
# the errors should tell you to do something like the following
bump2version patch
bump2version --help
environment variables
A few configurations can be modified by environment variables:
Environment Variable | Default | Description |
---|---|---|
VERSION_BASE | origin/main or origin/master | The base branch/commit to check versions against |
VERSION_HEAD | HEAD | The current commit to check versions on |
REPO_PATH | . | The path to the git repo |
VERSION_FILE | .bumpversion.cfg | The config file with version configs to parse |
VERSION_REGEX | ([0-9]+\.?){3}?(\-([a-z]+)\.(\d+)) |
The version regex to search for, changes to this have not been tested much |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for base-version-checker-0.2.2b11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75cc8b9ff4fc16a5f0513f948e954663e31e5bde3b013f02f44a966dc38c9876 |
|
MD5 | fd9313f46ffae7986a95357d97997694 |
|
BLAKE2b-256 | f88a88cd75d6bfe0723872747b4c915103456baad8f4d8f60f10d812f7a2a9a1 |