Automatic upstream sync may overwrite manually applied changes applied during sync
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 431
- Forks
- 44
- Avg merge
- 21h 18m
- Merged PRs (30d)
- 30
Description
There's a known race condition in the PR:
There's a ~1 minute window (observed in a recent run) where if a dev pushes a commit to the sync PR, it may still be overwritten by the bot.
For now, it seems like the value is very low:
- The window is small.
- If it does happen, the dev can simply push again (they are likely still set up to trivially run a force push).
- Not much CI-running time is lost.
- Losing CI results has been the larger sting for an overwrite. The commit itself was always recoverable.
The amount of investigation needed to implement a fix is probably not all that high, but the value is very low, so I'm filing this just to keep track of the known issue and potentially consider fixing it later.
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
Review PR #175 and the upstream-sync flow described there, along with the context in Go issue #68. Determine where the bot can overwrite a developer commit during the sync window, then verify that manual changes and their CI results are preserved after the fix.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- ci-cd
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100