Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 1.34 KB

File metadata and controls

28 lines (21 loc) · 1.34 KB

Versioning and releases

BC ModelVault follows Semantic Versioning using MAJOR.MINOR.PATCH.

  • MAJOR: incompatible changes to configuration, behavior, or persistent data.
  • MINOR: backward-compatible features.
  • PATCH: backward-compatible fixes and security updates.

The canonical version must match across VERSION, bc_modelvault/__init__.py, pyproject.toml, version_info.txt, and CHANGELOG.md.

Release checklist

  1. Update the version and changelog.
  2. Run python -m unittest discover -s tests -v.
  3. Run build-windows.ps1 on Windows.
  4. Verify startup and the .exe file properties.
  5. Verify the generated dist/SHA256SUMS.txt.
  6. Verify pip-audit, third-party notices, and dist/sbom.cdx.json.
  7. Create an annotated tag matching the release, for example v1.0.1.
  8. Publish a GitHub Release containing the executable, checksum, SBOM, Windows ZIP, changelog, and license/notice files.

The .github/workflows/release.yml workflow automates these steps for v* tags. For Authenticode signing, configure WINDOWS_CERTIFICATE_BASE64 and WINDOWS_CERTIFICATE_PASSWORD as GitHub Actions secrets. Without these secrets the build remains unsigned, but tests, packaging, checksum generation, and artifact publication still run.

Do not publish a release unless the source, executable, and checksum were produced from the same commit.