Release Process¶
This guide describes the process used to prepare, validate and publish new releases of Lupaxa GitHub Repository Sync.
Following a consistent release process helps ensure that every published version is stable, well tested and fully documented.
The release process applies to both feature releases and maintenance releases.
Release Objectives¶
Every release should:
- Be stable.
- Be fully tested.
- Include accurate documentation.
- Be versioned consistently.
- Be reproducible.
- Be easy to verify.
No release should be published until all validation steps have been completed successfully.
Release Workflow¶
The overall release process follows the workflow below.
Complete Development
│
▼
Run Automated Tests
│
▼
Update Documentation
│
▼
Update Version Number
│
▼
Create Release Commit
│
▼
Create Git Tag
│
▼
Build Distribution
│
▼
Validate Package
│
▼
Publish Release
│
▼
Publish Documentation
Each stage should be completed before progressing to the next.
Preparing a Release¶
Before creating a release:
- Complete all planned development.
- Merge approved pull requests.
- Resolve known defects scheduled for the release.
- Ensure the repository is in a clean state.
- Verify that all automated checks are passing.
Releases should always begin from a stable branch.
Version Management¶
The project follows a consistent versioning scheme.
Whenever a release is prepared:
- Update the application version.
- Update package metadata.
- Update any version references within the documentation.
- Ensure the reported version matches the release tag.
Version numbers should only be changed as part of the release process.
Documentation Review¶
Documentation should be reviewed before every release.
Verify that:
- New features are documented.
- Removed features are no longer referenced.
- Examples remain accurate.
- Command-line documentation matches the application.
- Configuration documentation reflects the current implementation.
Documentation should always be released alongside the corresponding version of the application.
Running Automated Validation¶
Before publishing a release, execute the complete validation process.
Typical validation includes:
- Static analysis.
- Code formatting checks.
- Automated tests.
- Documentation build.
- Package build.
- Installation verification.
Every validation stage should complete successfully before publishing.
Building the Package¶
Build the distribution packages.
For example:
Typical build artefacts include:
- Source distribution (
sdist). - Python wheel (
wheel).
Generated artefacts should be inspected before publication.
Package Verification¶
Before publishing:
- Verify the package builds successfully.
- Confirm the package installs correctly.
- Verify the command-line interface starts successfully.
- Confirm the reported version matches the release.
Installation testing should be performed using a clean virtual environment wherever practical.
Creating a Release Tag¶
Once validation has completed successfully, create a Git tag for the release.
Example:
Release tags should uniquely identify every published version.
Publishing¶
Once the release has been validated:
- Publish the package.
- Publish the release notes.
- Publish the updated documentation.
- Verify that published artefacts are accessible.
Any automated publication workflows should be monitored until they complete successfully.
Post-Release Verification¶
After publication:
- Confirm the package can be installed.
- Verify the documentation site has updated.
- Confirm the correct version is reported.
- Review automated workflow results.
- Check that release assets are available.
Any issues discovered after publication should be investigated immediately.
Hotfix Releases¶
Where a critical issue is identified after publication:
- Prepare a focused fix.
- Validate the change.
- Increment the version appropriately.
- Publish a maintenance release.
- Update the release notes.
Hotfix releases should contain only the changes required to resolve the issue.
Release Checklist¶
Before publishing a release, confirm that:
- Development is complete.
- All automated tests pass.
- Static analysis passes.
- Documentation has been updated.
- Version numbers have been updated.
- Distribution packages build successfully.
- Installation has been verified.
- Release notes have been prepared.
- The Git tag has been created.
- Publication workflows complete successfully.
Using a consistent checklist reduces the likelihood of release errors.
Summary¶
A consistent release process helps ensure that every version of Lupaxa GitHub Repository Sync is reliable, reproducible and fully documented.
By validating the application, reviewing the documentation and verifying the published artefacts, maintainers can confidently deliver high-quality releases.
Next Steps¶
You have now reached the end of the documentation.
If you are new to the project, return to Getting Started. If you are contributing to the project, the Development section should serve as your primary reference for future work.