Thanks for being willing to contribute!
- Fork and clone the repo
- Install Python > 3.12
- Install JRE 17 or later
- Run
pip install -r requirements.txt
project root folder to install dependencies - Create a branch for your PR with
git checkout -b your-branch-name
Tip: Keep your
main
branch pointing at the original repository and make pull requests from branches on your fork. To do this, run:git remote add upstream https://github.com/znsio/specmatic-python-extensions.git git fetch upstream git branch --set-upstream-to=upstream/main main
This will add the original repository as a "remote" called "upstream," Then fetch the git information from that remote, then set your local
main
branch to use the upstream main branch whenever you rungit pull
. Then you can make all of your pull request branches based on thismain
branch. Whenever you want to update your version ofmain
, do a regulargit pull
.
Please make sure to run the tests before you commit your changes by using the command
pytest test -v -s
There are two builds as of now:
- A CI build named: 'Run tests on different Python 🐍 versions and operating systems.' which is run on every checkin into the main branch.
- A 'publish' build named: 'Publish Python 🐍 distributions 📦 to PyPI and TestPyPI' which creates a python distribution for the current release and uploads it to PyPI.
- Update the
__version__
property inspecmatic/version.py
file to the required version and check it in.
If the specmatic jar version is to updated, change the__specmatic_version__
property inspecmatic/version.py
file accordingly. - Ensure that the subsequent CI build is green.
- Navigate to the 'Releases' page: https://github.com/znsio/specmatic-python-extensions/releases
- Click on 'Draft a new release'
- Click on the 'Choose Tag' dropdown list and manually enter the version that was used in Step1.
- Set the Release title as 'v' ( For example: v0.4.7)
- Add release notes.
- Click on 'Publish Release' (This will kick off the 'publish' build).
Please checkout the the open issues
Also, please watch the repo and respond to questions/bug reports/feature requests! Thanks!