Skip to content

feat(ci): release workflow#1865

Draft
erikburt wants to merge 2 commits intomainfrom
ci/release
Draft

feat(ci): release workflow#1865
erikburt wants to merge 2 commits intomainfrom
ci/release

Conversation

@erikburt
Copy link
Contributor

@erikburt erikburt commented Feb 27, 2026

Adds a release workflow to automate versioning, creating draft GH releases.

Features

  • Automated versioning + draft GH release
    • In the simplest case, it only requires providing the module path
  • Automatically chooses the version:
    • Gets latest release (git tag) for the module, based on a preset format for modules/submodules
    • Diffs the public API from the ref to be released, and the latest released version.
    • Uses versioning heuristic from gorelease
      • If no public changes - patch bump
      • If no breaking changes - minor bump
      • If breaking changes:
        • version >= 1.0.0 errors, must override version manually to release
        • version < 1.0.0, changes to a minor bump
  • Release notes: passes the summary output from apidiff-go into the release notes of the draft release
  • Support for non-standard releases (hotfixes, initial releases)
  • Approval gating (requires some repository setup)
  • Dry-run option
    • Requires no approval, doesn't create any GH relese.

Notes

I have tested this, but this is probably going to need a few iterations after dog-fooding here. The dry-run option is useful, but as the GH releases are created as draft, this technically publishes nothing without a human clicking "publish" after the workflow has ran.


DX-2323

@jmank88 jmank88 requested a review from nolag February 27, 2026 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant