Check if pyproject.toml version was bumped
Project description
Check Bump
About
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.
Requirements
This package requires tomlkit
package.
Usage
Command
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
Github Actions
Inputs
path
Optional Relative path of pyproject.toml file. Example: 'python_src/pyproject.toml'
prefix
Optional Prefix to provide for version output. Example: 'v'
Outputs
bump
always Whether there was a bump or not. Values: 'true'
|'false'
version
optional Current (if bumped) version with prefix. If there was no version bump - no output is provided.
Example usage
- 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 }}"
Development
Installation
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]
Formatting
Use black and isort (with black profile) to format the code.
isort .
black .
Syntax checks
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
Testing
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
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/
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
Hashes for check_bump-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adf8cc95f29482158e8875630ab9311d7ee17cf35262dfc58799523f44fc34ab |
|
MD5 | eb3463291ccd0c2c63d456c303b978cb |
|
BLAKE2b-256 | ee52b893fb3778feb48a82401f7c9299c1d904d721c2ef6d06a6b3baece86459 |