Contributing#
Contributing to the code base#
Requirements#
Developing requires:
the Rye package manager;
the pre-commit git hook manager, typically installed with pipx.
Setting up a development environment#
Clone the repository:
git clone git@github.com:rayference/dessinemoi.git
Enter the created repository and set up the development environment:
cd dessinemoi
rye sync
Finally, activate the pre-commit hooks:
pre-commit install
Running tests#
The testing process of Dessine-moi uses pytest. A Make target is defined to help you run the tests:
make test
This will run pytest for all relevant files (unit tests and doctests included in the documentation).
Building the documentation#
To build the documentation, use the dedicated Make target:
make docs
Incremental autobuild is also supported:
make docs-serve
Maintainers: release process#
Pre-release steps
Make sure that all tests pass.
Make sure the change log is up-to-date. Add the release date to the relevant section header.
Set the package version number to the target value:
rye version <MAJOR.MINOR.PATCH>
Create and push a commit with the following message:
dessinemoi version <MAJOR.MINOR.PATCH>
.
Release steps
Create a new release on GitHub.
When asked for a tag, create a new one (
v<MAJOR.MINOR.PATCH>
).The automated workflow will build the package and upload it to PyPI.
Post-release steps
Create a new section in the change log (
whats_new.md
) with the title Dessine-moi <MAJOR.MINOR.PATCH> (upcoming release).Bump the version to the next development one:
rye version <MAJOR.MINOR.PATCH>.dev
Create and push a commit with the following message:
Version <MAJOR.MINOR.PATCH> ready for development
.