Skip to content

ci: Add automated release workflow (version bump, changelog gen, git tag) #73

Description

@YaronZaki

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

  • Release workflow created in .github/workflows/release.yml
  • Semantic version bump based on conventional commits (feat=minor, fix=patch, BREAKING=major)
  • Changelog entry generated automatically
  • Git tag created with version number
  • GitHub release created with generated notes

File Map

  • .github/workflows/release.ymlNew: 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

  • Code implemented and peer-reviewed
  • Release workflow tested
  • PR linked and merged

Labels: ci-cd
Priority: Medium
Difficulty: Intermediate
Estimated Effort: 4h

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaignci-cd

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions