Skip to content

v0.3.0

Latest

Choose a tag to compare

@hdamker hdamker released this 27 Mar 13:25
· 14 commits to main since this release
1a9eb0e

CAMARA Release Automation

v0.3.0 adds the CAMARA Release Automation system to the tooling repository. This system provides end-to-end release workflow automation for CAMARA API repositories, handling release planning, snapshot creation, review PR generation, changelog updates, and publication — driven by a single reusable GitHub Actions workflow.

The release automation was developed on the release-automation branch across 30+ PRs and validated on multiple API repositories (ReleaseTest, QualityOnDemand, ConsentInfo, ClickToDial) via the ra-v1-rc tag before merging to main.

Key Components

  • Reusable workflow: .github/workflows/release-automation-reusable.yml
  • 7 shared actions: create-snapshot, derive-release-state, post-bot-comment, sync-release-issue, update-issue-section, update-readme-release-info, validate-release-plan
  • Python automation modules: 17 modules in release_automation/scripts/
  • Mustache templates: Bot messages, issue/PR bodies, README and changelog templates
  • Documentation: Repository setup, technical architecture, branching model
  • Test suite: 565 unit tests
  • Caller workflow template: release_automation/workflows/release-automation-caller.yml

Changes since v0.2.3

Core Release Automation

GitHub App Identity

  • Use GitHub App token for protected branch operations by @hdamker in #74
  • Use GitHub App identity for bot commits by @hdamker in #77
  • Derive bot identity from token instead of hardcoding by @hdamker in #78
  • Resolve bot identity via /users/ lookup instead of /user by @hdamker in #79
  • Consistent App bot identity for all workflow activities by @hdamker in #81

Release Issue and PR Enhancements

  • Pre-RC fixes: body marker lookup, bot comment tokens, README template by @hdamker in #83
  • Harmonize "base commit" to "source commit" terminology by @hdamker in #86
  • Always refresh Release Issue body in PLANNED state by @hdamker in #87
  • Add API readiness checklist to Release Issue and Review PR by @hdamker in #90
  • Redesign candidate changes section for codeowner triage by @hdamker in #91
  • Surface non-critical post-publish warnings in Release Issue by @hdamker in #94
  • Guard config drift comment and keep issue open on sync anomalies by @hdamker in #96

Features

  • Add pointer branches for published releases by @hdamker in #93
  • Use api_name for CHANGELOG section headings by @hdamker in #97
  • Rename post-release sync branch by @hdamker in #98
  • Auto-strip candidate changes block from CHANGELOG on PR merge by @hdamker in #102
  • Use api_name in CHANGELOG release summary by @hdamker in #107
  • Add pre-snapshot wip version check by @hdamker in #109
  • CHANGELOG compare base depends on release type by @hdamker in #130

Workflow Improvements

  • Switch SHA-pinned official actions to floating major tags by @hdamker in #104
  • Update caller workflow template to reference @ra-v1-rc by @hdamker in #106
  • Resolve tooling checkout ref from called workflow sha by @hdamker in #111
  • Sync release issue from post-action state by @hdamker in #115
  • Reuse legacy release metadata fallback for version calculation by @hdamker in #117
  • Resolve dependency versions from VERSION.yaml by @hdamker in #119
  • Pre-GA workflow cleanup by @hdamker in #122
  • Copy README release info from tag in post-release sync PR by @hdamker in #124
  • Skip redundant label update on newly created Release Issues by @hdamker in #132

Bug Fixes

  • Guard empty PR link in issue_created bot message by @hdamker in #105

Documentation

  • Repository setup for 3-ruleset branch protection design by @hdamker in #75
  • Update branching model for sequential merge strategy by @hdamker in #133

Repository Management

Full Changelog: v0.2.3...v0.3.0