Problem Statement
No automated release process exists. The version in pyproject.toml is stuck at 0.1.0. CHANGELOG.md is manually maintained. No git tags correlate with releases. Releases are manual and error-prone.
Evidence
# quantara/pyproject.toml
[tool.poetry]
version = "0.1.0" # Never bumped
No release workflow in .github/workflows/. No git tags in repository history beyond initial commits.
Impact
Medium — release management gap. No version tracking for deployments. Impossible to know which version is running in production. Changelog is manual and may be out of date. Rollbacks require guessing which commit was deployed.
Proposed Solution
Add a release workflow (semantic-release or release-please): on merge to main, analyze conventional commit messages since last release, bump version in pyproject.toml, generate changelog entry from commits, create git tag, create GitHub release with release notes.
Acceptance Criteria
File Map
.github/workflows/release.yml — New: release workflow
quantara/pyproject.toml — may need release configuration
Dependencies
- Related: REPO-031 (PR template should encourage conventional commits)
Testing Strategy
- CI: Create a test PR with
feat: commit, merge, verify release created with bumped version.
Security Considerations
Ensure release workflow has appropriate permissions. Use GitHub Actions secrets for any tokens needed.
Definition of Done
Labels: ci-cd
Priority: Medium
Difficulty: Intermediate
Estimated Effort: 4h
Problem Statement
No automated release process exists. The version in
pyproject.tomlis stuck at0.1.0.CHANGELOG.mdis manually maintained. No git tags correlate with releases. Releases are manual and error-prone.Evidence
No release workflow in
.github/workflows/. No git tags in repository history beyond initial commits.Impact
Medium — release management gap. No version tracking for deployments. Impossible to know which version is running in production. Changelog is manual and may be out of date. Rollbacks require guessing which commit was deployed.
Proposed Solution
Add a release workflow (semantic-release or release-please): on merge to main, analyze conventional commit messages since last release, bump version in
pyproject.toml, generate changelog entry from commits, create git tag, create GitHub release with release notes.Acceptance Criteria
.github/workflows/release.ymlFile Map
.github/workflows/release.yml— New: release workflowquantara/pyproject.toml— may need release configurationDependencies
Testing Strategy
feat:commit, merge, verify release created with bumped version.Security Considerations
Ensure release workflow has appropriate permissions. Use GitHub Actions secrets for any tokens needed.
Definition of Done
Labels: ci-cd
Priority: Medium
Difficulty: Intermediate
Estimated Effort: 4h