Skip to content

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

@YaronZaki

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

No one assigned

    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