Developer Notes¶
If you would like to contribute, please read CONTRIBUTING.md.
Development environment¶
If you break your development environment, you can discard it
by running git clean -dfX in the project root and repeating the instructions below.
We use uv to manage the development environment. Install it by following the uv installation instructions.
A local installation for testing and development can be set up using the following commands:
git clone git@github.com:reproducible-reporting/stepup-reprep.git
cd stepup-reprep
uv sync --extra dev
pre-commit install
Put the following two lines in .envrc:
source .venv/bin/activate
export XDG_CACHE_HOME="${VIRTUAL_ENV}/cache"
export STEPUP_DEBUG="1"
export STEPUP_BUILD_DURATION="0"
export STEPUP_SYNC_RPC_TIMEOUT="30"
Finally, run the following commands:
Alternatively, you can prefix commands with uv run (e.g. uv run pytest)
instead of activating the virtual environment.
Note that uv.lock is not committed to the repo.
For development and CI, the latest versions of dependencies are used instead of some locked versions.
Tests¶
We use pytest, so you can run the tests as follows:
Documentation¶
The documentation is created with MkDocs. Only the current version is published: every commit on the main branch republishes the site with GitHub Pages.
Edit the documentation markdown files with a live preview by running:
(Keep this running.) Then open the live preview in your browser: http://127.0.0.1:8000/ and edit Markdown files in your IDE.
Please, use Semantic Line Breaks because it results in cleaner file diffs when editing documentation.
How to Make a Release¶
- Mark the release in
changelog.md. - Make a new commit and tag it with
vX.Y.Z. - Trigger the PyPI GitHub Action:
git push origin main --tags.