ADR-031: Automated releases with release-please¶
Category: development Provenance: human
Decision¶
Automate release process using release-please. Releases are triggered by conventional commits and create GitHub releases, changelogs, and version bumps automatically.
Rationale¶
release-please eliminates manual release toil (changelog writing, version bumping, tag creation). Conventional commits provide machine-readable history for automatic version determination. Changelogs generated from commits stay accurate and complete. Separate versioning for operator and each Helm chart (via commit scopes). Release PRs provide review opportunity before publishing. Consistent release process reduces errors.
Agent Instructions¶
Follow conventional commit format (covered in decision 011). release-please analyzes commits to determine version bumps (major/minor/patch). Never manually create releases or update version numbers. Let release-please handle changelog generation from commit messages. Review and merge release PRs created by release-please to trigger releases.
Rejected Alternatives¶
Manual releases with hand-written changelogs¶
Error-prone, time-consuming, changelogs drift from actual changes. Inconsistent versioning.
Semantic-release or other tools¶
release-please better supports monorepo with multiple versioned components (operator + 3 charts).