Skip to content

Two-branch release strategy: CI gating + docs (stacked on #1) - #2

Closed
alexshapalov wants to merge 5 commits into
pgx-local-devfrom
pgx-release-strategy
Closed

alexshapalov wants to merge 5 commits into
pgx-local-devfrom
pgx-release-strategy

Conversation

@alexshapalov

Copy link
Copy Markdown
Contributor

Two-branch release strategy (CI gating + docs)

Stacked on #1. This PR is the single commit f4f7bc4be2; its base is pgx-local-dev so the diff is only the release-strategy change. After #1 merges to main, this retargets to main.

Changes

  • release.yml — adds a guard job: a release tag must be an ancestor of origin/main, so a tag pushed from prod or a feature branch cannot produce public artifacts. Public releases are cut from main only.
  • ci.yml — runs on push to main and prod (plus all PRs).
  • docs/pgx/local-dev/release-strategy.md — the branch topology, verified SHAs (prod = 913630e11d = pgx-v0.1-beta.1, rollback 727f31e49f), the one-way cherry-pick backport policy (main → prod, never a branch merge), the no-auto-sync rule, the branch-protection + prod engine-only CI spec, and the artifact-source separation (public installer downloads GitHub Release artifacts; PGRun stages internal ssh builds pinned by SHA-256 — disjoint).

Model

Branch Audience Released as
main public OSS developers public GitHub Release artifacts
prod PGRun control plane internal SHA-pinned builds, never the public artifacts

prod is an ancestor of main; they do not diverge. main's engine is byte-identical to the deployed prod engine plus the additive libxml2 fix.

🤖 Generated with Claude Code

alexshapalov and others added 2 commits October 17, 2026 20:05
- release.yml: a guard job refuses any tag that is not an ancestor of
  origin/main, so public release artifacts are built from main only; a tag
  from prod or a feature branch cannot publish.
- ci.yml: run on push to main and prod (not the dev branch).
- docs/pgx/local-dev/release-strategy.md: the branch topology with verified
  SHAs (prod = 913630e, tag pgx-v0.1-beta.1, the PGRun Beta v1 engine),
  the one-way selective cherry-pick backport policy, the no-auto-sync rule,
  the branch-protection and prod engine-only CI spec to apply in GitHub
  settings, and the artifact-source separation (public install vs PGRun
  internal build).

Prepared for review: no branches pushed, no release published, no GitHub
settings or PGRun deploy configuration changed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@alexshapalov
alexshapalov deleted the branch pgx-local-dev October 18, 2026 06:30
alexshapalov added a commit that referenced this pull request Oct 18, 2026
Two-branch release strategy: CI gating + docs (re-opens #2 onto main)
alexshapalov added a commit that referenced this pull request Oct 18, 2026
pgx run — one command to a ready database (stacked on #2)
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