Skip to content

chore(ci): flatten gitflow to develop → master#20

Merged
ngoclam9415 merged 1 commit into
developfrom
chore/flatten-gitflow-develop-master
Jul 7, 2026
Merged

chore(ci): flatten gitflow to develop → master#20
ngoclam9415 merged 1 commit into
developfrom
chore/flatten-gitflow-develop-master

Conversation

@ngoclam9415

Copy link
Copy Markdown
Contributor

Why

Solo-maintainer repo. The develop → main/<version> → stable stabilization layer adds ceremony without value. Collapse to a single release branch: develop → master.

What changes

File Change
branch-policy.yml Allow only develop/hotfix/*master (was stable ← main/hotfix)
bump-version-on-pr-to-master.yml (renamed from -to-stable) Trigger on PR→master, gate head_ref == 'develop'; auto-bumps patch only if develop isn't already ahead
release-on-merge-to-master.yml (renamed from -to-stable) Trigger on merge→master; checkout master, tag vX.Y.Z + GitHub Release
pr-lint-and-test.yml Trigger on [develop, master] (was [develop, stable, main, main/**])
docs/branching-strategy.md Rewritten for the two-branch model
pyproject.toml 0.1.30.2.0 (next release ships as a minor bump)

How the release works now

  1. Features land on develop via feature/* PRs.
  2. To release: open develop → master. If develop's version isn't ahead, CI bumps the patch component; otherwise (like this 0.2.0) it passes through.
  3. Merge → release-on-merge-to-master tags vX.Y.Z and creates the GitHub Release.

Hotfixes branch from master, bump manually, and merge back to both master and develop.

Follow-ups (out of scope for this PR)

  • Rename stablemaster via gh api repos/.../branches/stable/rename. The repo ruleset (~DEFAULT_BRANCH) auto-covers master, so no protection reconfig needed. PR release: promote develop → stable (timeline compression, reasoning replay, LLM provider injection) #18 (develop→stable) will auto-retarget to develop→master. I'll do this after this PR merges — flagged for explicit confirmation since the rename is irreversible.
  • Delete docs/assets/gitflow-vertical-branching.svg — orphaned diagram of the old 5-branch model, no longer referenced.

Notes

  • The stable ruleset (id 14179917) is keyed on ~DEFAULT_BRANCH, so it automatically protects master post-rename. Its label says "stable branch protection" but is name-agnostic; rename-for-clarity is cosmetic.
  • Default branch stays develop.

Verification

  • YAML lint passes on all 4 rewritten workflows (pre-commit check yaml ✅).
  • No code changes — workflows + docs + version only. Existing test suite unaffected.

Drop the develop → main/<version> → stable stabilization layer (solo
maintainer; the ceremony isn't earning its keep). New release train is
develop → master, with master as the single release branch.

Changes:
- branch-policy.yml: allow only develop/hotfix → master (was stable ←
  main/hotfix). Triggers on PRs to master.
- bump-version-on-pr-to-{stable→master}.yml: trigger on PR to master,
  gate on head_ref == 'develop'. Compares develop vs master; auto-bumps
  patch only if develop isn't already ahead (manual minor/major bumps
  set on develop pass through).
- release-on-merge-to-{stable→master}.yml: trigger on merge to master,
  checkout master, tag vX.Y.Z + GitHub Release targeting master.
- pr-lint-and-test.yml: trigger on [develop, master] (was
  [develop, stable, main, main/**]).
- docs/branching-strategy.md: rewrite for the two-branch model.
- pyproject.toml: 0.1.3 → 0.2.0 (next release is a minor bump).

Follow-up (not in this PR): rename the stable branch → master via
`gh api .../branches/stable/rename`. The existing ruleset is keyed on
~DEFAULT_BRANCH so it auto-covers master without reconfiguration.

Orphaned asset: docs/assets/gitflow-vertical-branching.svg still depicts
the old 5-branch model and is no longer referenced — safe to delete later.
@ngoclam9415 ngoclam9415 merged commit 48d430a into develop Jul 7, 2026
1 check passed
@ngoclam9415 ngoclam9415 deleted the chore/flatten-gitflow-develop-master branch July 7, 2026 10:38
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