!UNVBThoJtlIiVwiDjU:nixos.org

Staging

315 Members
Staging merges | Running staging cycles: https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Astaging-next+head%3Astaging-next-25.05 | Review Reports: https://malob.github.io/nix-review-tools-reports/108 Servers

Load older messages


SenderMessageTime
12 Oct 2025
@emilazy:matrix.orgemily what if we just used the merge queue to ensure that nothing goes into master or staging-next that won't cleanly merge into the branches after it? 15:55:17
@emilazy:matrix.orgemily and switched things around so that, if you would cause a merge conflict on a later branch, you instead merge it into the later branch 15:55:34
@k900:0upti.meK900That is going to completely stall some PRs15:55:39
@emilazy:matrix.orgemilyand then "backport" it to the earlier ones15:55:40
@k900:0upti.meK900 I think 15:55:43
@emilazy:matrix.orgemilystall howso?15:55:51
@k900:0upti.meK900 Oh god that's going to be so painful 15:55:53
@emilazy:matrix.orgemilywhy?15:55:58
@k900:0upti.meK900Because nothing will backport cleanly and then we have to check backports and oof15:56:12
@emilazy:matrix.orgemilyit means the conflicts can be resolved per-PR15:56:03
@emilazy:matrix.orgemilyrather than all at once15:56:08
@emilazy:matrix.orgemilyI don't understand15:56:22
@emilazy:matrix.orgemilythat's exactly the case of periodic merges failing15:56:26
@emilazy:matrix.orgemilyit would be far more auditable and granular than those15:56:35
@k900:0upti.meK900 I'd much rather resolve the conflicts all at once than have random people make three different PRs and compare them against each other 15:56:58
@emilazy:matrix.orgemily this would eliminate the conflicts 15:57:17
@emilazy:matrix.orgemilythere would never be any15:57:21
@emilazy:matrix.orgemily like, exactly when someone would have to manually resolve/check the conflict on staging, the merge would say "this conflicts with staging – target staging instead", and if you need the PR to land in master sooner than that, you would then open a cherry-pick from staging back to master, resolving the conflict 15:57:57
@emilazy:matrix.orgemilywhich a committer could still do – but a contributor could also do, just like with backports to release branches15:58:08
@emilazy:matrix.orgemilyit ensures that every change is always targeting the "latest state" whenever there would otherwise be conflicts15:58:23
@emilazy:matrix.orgemily and we never have "master does X, staging does Y, they are incompatible, we find out 6 hours later" 15:58:31
@wolfgangwalther:matrix.orgWolfgang WaltherThis doesn't solve the case of "A is merged into master, in the 6 hour window where A has not made its way to staging, B is merged into staging; A and B conflict".15:59:44
@wolfgangwalther:matrix.orgWolfgang WaltherSo it would not eliminate all of these cases, but probably reduce them a lot.15:59:57
@emilazy:matrix.orgemilywe can solve that too16:00:08
@emilazy:matrix.orgemily by changing the reverse in the merge queue for staging 16:00:15
@emilazy:matrix.orgemilylike… we can even just insert the merges just-in-time if necessary.16:00:28
@emilazy:matrix.orgemily(or just boot it out and tell someone to run the periodic job)16:00:43
@wolfgangwalther:matrix.orgWolfgang WaltherI see, yes that could work.16:00:43
@emilazy:matrix.orgemily(since they'd need to resolve the conflict manually anyway)16:00:47
@emilazy:matrix.orgemilyI think this would be simpler and more auditable than the "periodic merge via PR" flow16:01:07

Show newer messages


Back to Room ListRoom Version: 6