A Python wrapper to provide a pip-installable GN binary, designed for use with pre-commit. This tool simplifies the process of installing and using GN for source code formatting in projects that utilize pre-commit hooks.
To use gn-build-py
as a pre-commit hook for formatting GN files, add the following configuration to your .pre-commit-config.yaml
:
- repo: https://github.com/KindDragon/gn-build-py.git
rev: ''
hooks:
- id: gn-build-py
Than run pre-commit autoupdate
to update config to latest available gn build version.
This configuration ensures that the GN binary is available and used by pre-commit to format GN files in your repository.
The build_and_push.sh
script is used to automate the process of building, testing, and deploying new versions of gn-build-py
. It handles generating the latest setup.cfg
, building the package, running tests, committing changes, and tagging the release.
- Ensure you have
python
,pip
, andgit
installed. - Install
tox
for running tests:pip install tox
.
-
Run the Script: Execute
build_and_push.sh
from the root directory of the project../build_and_push.sh
-
Automated Process: The script will:
- Generate the latest
setup.cfg
with updated GN version. - Build the package.
- Run tests using
tox
. - Commit the changes to the repository.
- Tag the commit with the new version.
- Push the commit and tag to the repository.
- Generate the latest
-
Upload to PyPI (Optional): If you wish to distribute the package via PyPI, use twine to upload the distributions:
twine upload dist/*
Ensure you have the necessary credentials for PyPI and have tested the package thoroughly.