Skip to content

ci: add release workflow, align with phoenix-static#11

Merged
gigatim merged 1 commit into
mainfrom
ci-add-release-workflow
Jun 25, 2026
Merged

ci: add release workflow, align with phoenix-static#11
gigatim merged 1 commit into
mainfrom
ci-add-release-workflow

Conversation

@gigatim

@gigatim gigatim commented Jun 25, 2026

Copy link
Copy Markdown

What

Brings this buildpack's release process in line with the phoenix-static
buildpack:

  • Adds .github/workflows/release.yml — an automated, conventional-commit
    driven Release workflow (identical to the one in
    gigalixir-buildpack-phoenix-static).
  • Bumps ci.yml's actions/checkout from v3 to v6 to match.

Why

The Elixir buildpack had no automated release/versioning. This adds the same
hands-off flow phoenix-static already uses, so merges to main produce tagged
GitHub Releases without manual steps.

How it works

On every push to main, the workflow computes the next semver tag from the
conventional-commit messages since the last v* tag:

  • feat: → minor
  • fix: → patch
  • BREAKING CHANGE / !: → major
  • anything else (docs/chore/refactor/test/ci) → no tag, no release

It then creates the tag and a GitHub Release with auto-generated notes. Only
first-party tooling is used (git, the preinstalled gh CLI, and
actions/checkout); no third-party actions. A concurrency group prevents
overlapping releases, and an idempotency guard skips tags that already exist.

Baseline / rollout notes

  • The tag baseline is v2.11.0 (current main tip), so the next releasable
    merge will produce v2.12.0.
  • This PR's only commit is ci:-typed, so once merged the workflow runs and
    correctly produces no release.
  • Merge this PR before any feature PR, so the workflow exists on main
    when the next feat:/fix: lands.

Deployment

No root/-style deployment needed — this only affects CI/release automation
in the repo.

Add the conventional-commit Release workflow used by the phoenix-static
buildpack: on every merge to main it computes the next semver tag from
commit subjects/bodies (feat -> minor, fix -> patch, BREAKING -> major)
and cuts a GitHub Release. Uses only first-party tooling (git, gh,
actions/checkout). Also bump CI's checkout action v3 -> v6 to match.
@gigatim gigatim merged commit b25ec8e into main Jun 25, 2026
1 check passed
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