-
Notifications
You must be signed in to change notification settings - Fork 8
Work around outdated master merge commit due to PR merge order race condition #236
Comments
My findings points to this already being done Without having the logs from back then to know exactly, I suppose what happened was
Possible checks to have in that situation:
Both should tell if the branch is outdated in relation to master; if it is, then create another merge commit and try again (reference: merge_pull_request). |
Yes, there is an inherent race condition when merging two or more PRs and should be a reliable way to regenerate the |
Here is another example of that race condition: |
That looks like a different issue to me. Github claims that paritytech/polkadot#2463 was merged at 13:20, while the last non-bot commit before the failure on paritytech/polkadot#2504 was committed at 13:27. i.e. the pull request was already outdated at the time not being the bot's fault. I think it is wrong to create this "Update Substrate" commit if the checks are not passing as e.g. the work might be in-progress or might have some other issue that wouldn't be fixed by updating Substrate. It also should not automatically merge the companion after pushing the commit for similar reasons. I'll open another issue for that. |
This commit is only triggered when the substrate side of the companion is merged. And that has a checks for companion build.
If you look at the merge commit after |
To be clear, the "checks" I mentioned were the ones in the companion PR. That might be why the statement got confusing.
This is feasible as well as the cargo command still has to run after the master merge commit, therefore the time at which the commit is made is not representative of how master was at that point in time. I consider the behavior around the "Update Substrate" commit to be undesirable. To me it's a different problem than the one posted in the OP (recover from outdated master merge commit due to PR merge order), therefore I've opened #250 for the former. |
Sorry if I wasn't clear, but what I meant is that the polkadot side simply can't be in "ill state" because it's build status is checked on the substrate side. |
There are multiple examples (e.g. paritytech/polkadot#2014) when
Updating Substrate
commit into a companion PR results in merge conflicts with master inCargo.lock
file. To prevent this, before making this commit, try to create a merge commit from the current master.The text was updated successfully, but these errors were encountered: