Stage concurrent splits
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 159
- Forks
- 156
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 16
Description
This is going to be a pain in the ass, but it would be something like a 25% wallclock speed improvement for legit splits (or even 50%): if a staging fails, the staging is split. Assuming the failure is legit (one of the PRs in the batch is an issue), we'd expect one side of the split to succeed and the other to fail (50/50).
Therefore if we create stagings for both the first and second sides of the split, if the failing PR is in the first split we'll be able to immedaitely merge the second (successful) one as we re-split the first, instead of waiting for the first one to fail before we can even attempt the second one.
Of course if this is a nondeterministic failure and both stagings succeed we'll still need to re-stage the second split. Could also be a situation where two PRs are not logically compatible and they happen to land on different sides of the split.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the staging failure and split-handling flow, then determine how concurrent first- and second-side stagings should be coordinated. Done means the successful split can be merged immediately while the failing side is re-split, while nondeterministic failures are handled safely.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, ci-cd
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100