Replies: 1 comment 4 replies
-
|
yes, that would be an option. What I was thinking of is to move the beta release channel to main while creating a new stable branch and then have at least a weekly main to beta for all the bug fixes. I also thinking of moving this project to an organization |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
main(stable) andbetaare fed off the same line, so a bugfix can't reach stable users without dragging along every half-finished beta feature. Fixes end up hostage to features.Concretely: I noticed
main(stable) is ~3 weeks old with no bugfix shipped, whilebetahas moved well ahead. I think the flow below would let us solve exactly this — ship fixes to stable quickly while features keep landing on beta.As far as I see, without really more work for you @the-luap as project owner.
Proposed model — dual-track
bugfix/* ──▶ main ──▶ (forward-merge) ──▶ beta
feature/* ─────────────────────────────▶ beta ──▶ main (promote when stable)
bugfix/*orfeature/*branches (PR + CI + review, no direct commits tomain/beta).mainafter testing, then forward-mergemain→betaso the fix lives on one timeline.betaonly.beta → mainoccasionally, once its features are considered stable. Becausemainis always merged forward intobeta,betastays a superset ofmainand promotions stay near-conflict-free.Three rules that make it work
main → betaright after a fix lands) — keepsmainan ancestor ofbeta, so promotions don't conflict.NNN_to a timestamp prefix (YYYYMMDDHHMM_*.js). The shared counter is the one thing that collides under parallel branches; timestamps are unique per branch and sort after the legacyNNN_files (~1-line change to the migration runner's filename filter; history untouched). Keep migrations additive /addColumnIfNotExists-guarded so interleave order never matters.What this changes
RELEASING.mddocumenting the flow + a checklist ("feature → flag, default-off, safe-when-off; migration → additive/timestamped").run-migrations-safe.jsto accept timestamp IDs.mainjust gets patch releases between feature promotions.Open questions
maindirect-merge for fixes, or should fixes also soak onbetafirst?beta → mainon a fixed cadence, or "when it's ready"?Beta Was this translation helpful? Give feedback.
All reactions