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 thepartupdate 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 thesearchtext
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
# given an ongoing merge conflict of versions, run the following to auto-resolve
# keeping the higher of the two versions
version_checker --merge
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file base_version_checker-0.4.0.tar.gz.
File metadata
- Download URL: base_version_checker-0.4.0.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ea6fbe4bd10ae59dd46ca47a3d535353acd5c91b02238c53fceed6f5e7073f1
|
|
| MD5 |
b7ef2c1407473284a61f924b09384052
|
|
| BLAKE2b-256 |
856178a8be71f699a95c0620678333c44a2ae50a2fd7b7ce0c4c1f3e5644ee57
|
File details
Details for the file base_version_checker-0.4.0-py3-none-any.whl.
File metadata
- Download URL: base_version_checker-0.4.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
561008b7d775eb080b8e5a8ea08348c27bd6761083c3f937dc2a2a3a4c0176ca
|
|
| MD5 |
3a5c3a2daab8e9ce6f584d00ee1fce55
|
|
| BLAKE2b-256 |
ff6f546ac998a08fc2eee31aa2c6cd4b812867238c294419f92b5f86cc0e2b96
|