Skip to content

Create a repeatable release and package publication workflow #35

Description

@cmungall

Priority: P1

Problem

The package builds locally, but the repository has no tags, changelog, release instructions, artifact smoke workflow, or package publishing workflow. Version is fixed at 0.1.0, and the CLI has no --version.

Package metadata claims every Python version >=3.10, while CI currently covers only 3.10 through 3.13. A release cannot be reproduced or traced confidently.

Acceptance criteria

  • Define versioning, compatibility, deprecation, and release-note policy.
  • Add provedown --version and expose runtime version through the Python API and machine-readable reports.
  • Build both wheel and sdist in CI.
  • Install the wheel in a clean environment and smoke-test CLI, Python API, built-in verifiers, and the packaged uv worker.
  • Define supported Python minors explicitly and test every claimed version or add an honest upper bound.
  • Validate tag/version consistency.
  • Publish with a guarded tag-based workflow using trusted publishing and provenance.
  • Create a changelog and documented rollback/yank process.
  • Produce the first tagged release only after the P0 readiness items are resolved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions