Contributing¶
Contributing to the code base¶
Requirements¶
Developing requires:
the uv 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
uv sync
Finally, activate the pre-commit hooks:
pre-commit install
Running tests¶
The testing process of Dessine-moi uses pytest. A uv task is defined to help you run the tests:
uv run task 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 Rye task:
uv run task docs
Incremental autobuild is also supported:
uv run task 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:
uv 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 (
CHANGELOG.md) with the title Dessine-moi <MAJOR.MINOR.PATCH> (upcoming release).Bump the version to the next development one:
uv version <MAJOR.MINOR.PATCH>.dev
Create and push a commit with the following message:
Version <MAJOR.MINOR.PATCH> ready for development.