Release Readiness¶
This page is the maintainer-facing release path for sdr-signal-analyzer.
Status labels used here:
- Verified now: exercised in the repository today without SDR hardware.
- Prepared for validation: documented and scripted, but not exercised in this session.
- Pending lab validation: requires attached SDR hardware or a lab session before the claim can be upgraded.
Verified Now¶
The following release checks are reproducible without hardware:
- native configure, build, and ctest
- Python demo and CLI export regression checks
- MkDocs strict build
- source distribution and wheel build
- twine check package metadata validation
- fresh-Ubuntu install smoke through scripts/install_smoke_ubuntu.sh
Primary local command:
python3 scripts/release_validate.py --skip-install-smoke
Full local command, including the Docker-based install smoke:
python3 scripts/release_validate.py
Expected outputs:
- a successful ctest run from build-release
- a successful mkdocs build --strict
- wheel and sdist artifacts under dist/
- a successful twine check dist/*
- release-validation-ok at the end of the run
- release artifacts and docs wording remain aligned with Release Checklist
Maintainer Checklist¶
- Confirm the working tree is intentional and the target version is correct in
pyproject.tomlandCMakeLists.txt. - Review the repository changelog and move release-ready notes out of
Unreleased. - Run
python3 scripts/release_validate.py --skip-install-smoke. - If Docker is available, run
python3 scripts/release_validate.py --skip-native --skip-python-tests --skip-docs --skip-packageonly when you specifically need to re-run the fresh-install smoke in isolation. - Build artifacts locally and inspect
dist/*. - Verify documentation pages and README links render locally with
mkdocs build --strict. - Check the backend status wording:
simulator,replay, andrtl_tcpmay be described as verified code paths only where repo evidence exists.uhdandsoapymust remainPrepared for validation/Pending lab validationuntil real lab reports exist. - Tag the release as
vX.Y.Z. - Confirm the GitHub Actions
Releaseworkflow uploads the sdist and wheels and that PyPI publishing succeeds. - Verify the GitHub Release notes reflect the changelog and do not overstate hardware validation.
Use the checkbox-driven companion page for sign-off: - Release Checklist
Versioning Rules¶
pyproject.tomlandCMakeLists.txtmust carry the same project version.CHANGELOG.mdremains Keep-a-Changelog style with anUnreleasedsection at the top.- Tag names use a
vprefix such asv0.1.0. - Hardware readiness wording is release data, not marketing copy. Do not move
uhdorsoapyout of pending status without attached-hardware evidence.
Artifact Validation¶
Local artifact checks:
rm -rf dist build-release
python3 scripts/release_validate.py --skip-install-smoke
python -m pip install --force-reinstall dist/*.whl
python -m sdr_signal_analyzer.demo --frames 2
sdr-signal-analyzer-demo --frames 2
Expected result: - the installed wheel imports and runs the simulator-backed demo - no source-tree-only paths are required for the installed wheel smoke
What Is Still Pending¶
uhdlive-device validation on attached hardwaresoapylive-device validation on attached hardware- release notes backed by lab reports for those backends
Those items are intentionally blocked on later lab work. See Hardware Validation Plan and Hardware Validation Status.