Skip to content

docs(release): propose trunk-based CI/CD design - #72

Merged
JSisques merged 1 commit into
mainfrom
docs/trunk-based-ci-cd-design
Sep 16, 2026
Merged

JSisques merged 1 commit into
mainfrom
docs/trunk-based-ci-cd-design

Conversation

@JSisques

Copy link
Copy Markdown
Contributor

Summary

Proposes migrating the org's release model from branch-per-environment (develop→alpha, staging→beta, main→stable, via release-train.yml) to trunk-based development: a single main branch, with devpreprod promotion driven by the pipeline instead of git merges, and prod releases promoting an already-validated artifact by digest instead of rebuilding.

This PR is documentation only (OpenSpec proposal + design + tasks) — no workflow code changes, no impact on any existing consumer of release-train.yml. Beacon-api will pilot the actual implementation in a follow-up change once this design is agreed.

See openspec/changes/trunk-based-ci-cd/proposal.md and design.md for the full rationale and decisions.

Test plan

  • N/A — documentation only, no code changes in this PR

Documents a proposed migration from branch-per-environment
(develop/staging/main) to trunk-based development, where main is
the only long-lived branch and dev/pre/prod promotion is driven by
the pipeline instead of git merges. Additive only: no existing
consumer of release-train.yml is affected until it opts in.
@JSisques
JSisques merged commit e535b79 into main Sep 16, 2026
2 checks passed
@JSisques
JSisques deleted the docs/trunk-based-ci-cd-design branch September 16, 2026 08:59
JSisques added a commit to sisques-labs/beacon-api that referenced this pull request Sep 16, 2026
sisques-labs/workflows#72 and #73 merged, so trunk-ci-cd.yml and
docker-release.yml's promote mode now exist on main — drop the
temporary pin to the pilot branch.
JSisques added a commit to sisques-labs/beacon-api that referenced this pull request Sep 16, 2026
* feat(release): migrate to trunk-based CI/CD pipeline

Replaces release-train.yml with trunk-ci-cd.yml: every push to main
builds one commit-addressed image (sha-<shortsha>/edge, no version
bump) and sequences it through dev then pre. release.yml no longer
rebuilds from source — it promotes an already-validated digest to a
versioned stable release via docker-release.yml's new promote mode.

Only one channel remains (stable); alpha/beta/rc are gone along
with develop/staging. Pilot for the org-wide trunk-based-ci-cd
proposal in sisques-labs/workflows#72/#73.

Temporarily pinned to the workflows pilot branch until #72/#73
merge to main there.

* chore(release): repoint trunk-based workflows to workflows@main

sisques-labs/workflows#72 and #73 merged, so trunk-ci-cd.yml and
docker-release.yml's promote mode now exist on main — drop the
temporary pin to the pilot branch.
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