Skip to content

Release¤

This page records the local release checks for maintainers. It is intentionally short: the public documentation covers usage, while this page keeps packaging and documentation deployment steps in one place.

Verify the tree¤

Run the full local verification suite from a clean worktree:

make verify

This syncs the locked Python environment, builds the Rust extension, checks Rust formatting and lints, runs Rust and Python tests, runs Ty, builds the Zensical site with strict checks, and builds Rust docs with warnings treated as errors.

CI runs the same checks as separate jobs so failures are easier to locate. It also runs cargo audit for Rust dependency advisories and builds native Linux and macOS wheel artifacts plus an sdist.

Build a wheel¤

Build a repaired wheel before testing installation:

make build-wheel

On macOS this uses --auditwheel=repair and an explicit CODESIGN_ALLOCATE path so external dynamic libraries are bundled into the wheel instead of pointing at a local environment.

GitHub Actions also builds distribution artifacts with PyO3/maturin-action on pull requests and pushes to main. Those artifacts are smoke checks for the packaging path; publishing is still manual.

Smoke-test the artifact¤

Install the repaired wheel into a fresh environment and test each supported format with a small fixture:

uv venv /tmp/genoio-wheel-test
uv pip install --python /tmp/genoio-wheel-test/bin/python dist/genoio-*.whl
/tmp/genoio-wheel-test/bin/python -c "import genoio; print(genoio.__version__)"

For beta releases, smoke-test VCF, PLINK1, and PLINK2 reads before publishing.

Deploy documentation¤

After GitHub Pages is configured for the repository, deploy the docs from the release commit:

zensical build --strict

Publish the generated site/ directory with the repository's GitHub Pages workflow or another static-site deployment step.

The configured documentation URL is https://mancusolab.github.io/genoio.