-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
workflows/periodic-merge: merge merge-base into haskell-updates #367709
workflows/periodic-merge: merge merge-base into haskell-updates #367709
Conversation
I don't share the worry. This point is the same as in the current |
@vcunat It should be fine, I agree. I had some problems with the current PR, but maybe that was mostly cases of the base reference not updating when staging was pushed when haskell-updates was already ahead which should never happen with this. |
I've tested this on my fork (by removing the
Unfortunately, the workflow is pretty slow since it has to do a full fetch of nixpkgs. I don't think we can get the merge base via the GitHub API, unfortunately. |
We had lots of merge conflicts in this staging-next iteration. And even without them I'm not sure about the order of processing in these automatic merges. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, any reasons not to merge this rn?
127b545
to
e986112
Compare
Successful run with the latest version of the PR: https://github.com/sternenseemann/nixpkgs/actions/runs/12505278130/job/34888392237 |
Since haskell-updates is based on master, but merges into staging, we need to base it on a merge-base of staging and master. See NixOS#361143. I'm a bit worried that the information GitHub uses for displaying Pull-Requests becomes stale and this will “add” commits to the PR compared to the base anyways. We'll find out, I suppose.
e986112
to
ef01a27
Compare
Solved merge conflicts, run successful: https://github.com/sternenseemann/nixpkgs/actions/runs/12583297518/job/35070543436 |
Periodic merge from |
Seems like my fear were warranted. The workflow merged e554bf1 into haskell-updates which is an ancestor of I know that you can fix this by opening the base branch dropdown menu and selecting the same target branch again. I must say I don't really understand why this is a problem in this situation, but wasn't a problem when we'd target master and merge the current HEAD of master into haskell-updates. Why does GitHub update the head of the base branch for the comparison in one case, but not in the other? |
The only difference between the two situations I've outlined above I could think of is that the merge commit merging haskell-updates into master would be part of the branch going forward (or at least as soon as master would be merged into haskell-updates again). With the current situation this only happens after the merge commit goes from staging to staging-next to master and via the merge workflows to staging-next and then to staging, so it is part of the merge-base of haskell-updates and staging. This definitely causes that the branch always shows up as conflicting with staging since staging is always ahead by the merge conflict that also touches all the files haskell-updates does. This is not a problem in practice, you just have to merge manually and git will be able to solve all “conflicts” automatically. It seems like the likeliest explanation for the UI glitch on GitHub, but I'm also not quite sure. That you can get the UI out of this bad state shows that it doesn't have to be this way. It is hard to know what GitHub caches internally to cause this problem… |
Since haskell-updates is based on master, but merges into staging, we need to merge in a merge-base of staging and master. See #361143.
I'm a bit worried that the information GitHub uses for displaying Pull-Requests becomes stale and this will “add” commits to the PR compared to the base anyways. We'll find out, I suppose.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.