Want to add version bump checks to your CI/CD pipeline? This packages makes it easy.
Simply execute check-vbump
within a directory where your pyproject.toml
is located.
If there was a version bump, process will finish with exit code 0 - read stdout for the new version. Otherwise, process will finish with exit code 1.
This package requires tomlkit
package.
Simply execute check-bump
within a directory where your pyproject.toml
is located. Or provide a path using --path
argument.
user$ check-bump --help
usage: check-bump [-h] [-p PATH]
Detect and retrieve version bump
options:
-h, --help show this help message and exit
-p PATH, --path PATH path to pyproject.toml file
Optional Relative path of pyproject.toml file. Example: 'python_src/pyproject.toml'
Optional Prefix to provide for version output. Example: 'v'
always Whether there was a bump or not. Values: 'true'
|'false'
optional Current (if bumped) version with prefix. If there was no version bump - no output is provided.
- name: Check bump
id: vbump
uses: rgryta/Check-Bump@main
with:
prefix: 'v'
And then you can later reference like:
- name: Tag repository
if: steps.vbump.outputs.bump == 'true'
run: |
echo "I was bumped to version: ${{ steps.vbump.outputs.version }}"
Install virtual environment and check_bump package in editable mode with dev dependencies.
python -m venv venv
source venv/bin/activate
pip install -e .[dev]
Use black and isort (with black profile) to format the code.
isort .
black .
Use pylint to check the code for errors and potential problems. Also use noprint to detect print statements in the code (use logging instead!).
isort -c .
black --check .
pylint check_bump tests
noprint -ve check_bump tests
For testing use coverage with pytest workers - this is due to errors that pytest-cov sometimes has with Python 3.9 and above.
coverage run -m pytest -xv tests
coverage report -m --fail-under=30
coverage erase
Clean up the project directory from temporary files and directories. Purge virual environment.
coverage erase
rm -rf check_bump.egg-info/ dist/ build/
rm -rf venv/