3 ms·
We made something quite similar work rather well at $work. However, there is a somewhat subtle trick. The staging/prod candidate is built from master/main bran
by ay 5y ago
We made something quite similar work rather well at $work. However, there is a somewhat subtle trick.
The staging/prod candidate is built from master/main branch 21 days old, plus potentially some (few) cherrypicks.
This allows to fearlessly commit to master, and then the “T-21” has 21 days of completely predictable future, that can be changed by doing cherrypicks.
So we can run intense testing on “T-0” aka main, find any issues and add them to be cherry-picked into the T-21.
The bonus is that when the fixes “arrive” to T-21, the cherry-picks become void and stop being applied.
Thus, absent the bugs, the staging/prod code automatically converges to main/master over time.
And yes, we do the reviews of the commits that go into master - but from the T-21 point of view they are 21 days in the future! So there is ample time for any reaction.
Would folks be interested in a more detailed write up ?
- acjacobson 5y agoI would be interested in learning more - this sounds completely novel to any way I have worked before.
- ay 5y agoOk I will post a reply here + do “show hn” or some such…
- gulbrandr 5y ago> Would folks be interested in a more detailed write up ? Yes please.
- ay 5y agoOk I update the reply here when I have something to share !