Contributing¶
This document briefly describes how to contribute to cascade-config.
Before you begin¶
If you have an idea for a feature, use case to add or an approach for a bugfix, you are welcome to communicate it with the community by creating an issue in GitHub issues.
How to contribute¶
Fork cascade-config on GitHub to make your changes.
Commit and push your changes to your fork.
Open a pull request with these changes. You pull request message ideally should include:
A description of why the changes should be made.
A description of the implementation of the changes.
A description of how to test the changes.
The pull request should pass all the continuous integration tests which are automatically run by GitHub Actions.
Development setup¶
Setup Python 3 and Flit
Clone the cascade-config repository and run
flit installto setup an editable version of cascade-config.
Development workflow¶
When a new version is ready to be published:
Change the
__version__incascade_config.pyfollowing semantic versioning.Update the documentation (
README.mdanddocs/source/usage.rst) if required.Update the changelog (if not already done) in
CHANGELOG.mdaccording to Keep a Changelog.Commit all final changes to the
masterbranch.On
master, set a new tag with the version number, e.g.git tag v0.1.5.Push to GitHub, with the tag:
git push; git push --tags.
When a new tag is pushed to (or made on) GitHub that matches
v*, the following GitHub Actions are triggered:The Python package is build and published to PyPI.
Using the Git Release action, a new GitHub release is made with the changes that are listed in
CHANGELOG.md.