Release Process
This document outlines the procedures for releasing new versions of synth-pdb.
Versioning Scheme
We follow Semantic Versioning (SemVer). Version numbers are formatted as MAJOR.MINOR.PATCH:
- MAJOR: Significant changes, potentially breaking API compatibility.
- MINOR: New features added in a backwards-compatible manner.
- PATCH: Backwards-compatible bug fixes and small improvements.
The version number is centrally defined in pyproject.toml.
Release Workflow
A typical release involves the following steps:
-
Preparation:
- Ensure all tests are passing.
- Update the
CHANGELOG.mdwith a summary of changes since the last release. - Increment the version number in
pyproject.toml.
-
Tagging:
- Create a new Git tag for the release:
-
Documentation Deployment:
- The
Publish DocsGitHub Actions workflow (.github/workflows/deploy_docs.yaml) automatically builds and deploys the documentation to GitHub Pages whenever a change is pushed to themainbranch. - You can manually trigger a deployment using
mkdocs gh-deploy.
- The
-
PyPI Publication:
- Building and uploading to PyPI (if applicable):
Automated Documentation
The documentation website (https://elkins.github.io/synth-pdb) is built using MkDocs with the Material for MkDocs theme.
Key Plugins Used:
- mkdocstrings: Automatically generates API documentation from Python docstrings.
- mkdocs-jupyter: Renders Jupyter notebooks within the documentation.
- search: Provides site-wide search functionality.
To preview the documentation locally:
This will start a local server at http://127.0.0.1:8000 that automatically reloads when you make changes.