This document covers information for contributors and maintainers of the Dumpling project: CI/CD workflows, building docs, and development conventions.
All workflows live under .github/workflows/.
| Workflow | File | Purpose |
|---|---|---|
| Lint | ci.yml |
Runs cargo fmt and cargo clippy on every push/PR (fast signal). |
| Test | tests.yml |
Runs cargo test --all-targets --all-features. |
| Platform compat (latest) | platform-compat-latest.yml |
Cross-platform build checks on the latest runner images. |
| Platform compat (matrix) | platform-compat-matrix.yml |
Manual, explicit-version matrix for legacy compatibility checks over time. |
| Docs | docs.yml |
Builds the mdBook docs site and deploys from main to GitHub Pages. |
| Publish | publish.yml |
Builds wheels/sdist via maturin, publishes to PyPI from tags, and supports manual TestPyPI publication. |
| Release | release.yml |
Publishes tagged releases (v*.*.*) with checksummed Linux artifacts. |
The project docs are built with mdBook.
mdbook buildSource files live under docs/src/. The release process runbook is also kept there.
Dumpling is distributed as a pip-installable CLI via maturin.
# Build wheel/sdist locally
maturin build --release
# Install from local source
pip install .See publish.yml for how this is automated on tag pushes.
cargo test --all-targets --all-featuresIf you switch branches frequently and see database migration issues in tests that depend on a test DB, run:
pytest --create-dbSee docs/src/releasing.md for the full release process runbook.