feat(content-aware-hashing): Allow builds to take over failed hashes #4807
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes: flutter/flutter#172694
When a merge group is destroyed (for dequeued or invalided reasons), the corresponding content-aware hash build is now explicitly marked as failed. This short-curcuits waiting for LUCI jobs to be canceled.
When a content-aware hash build fails, it can now be taken over by a subsequent build for the same content hash. This happens when a PR is removed from the merge queue and an "engine" PR is added back - the previous failure will be restarted and "content_hash" passed to LUCI recipes.
The
ContentAwareHashBuildsmodel now includes a list offailedCommitShasto track the history of failed attempts for a given content hash. When a new build takes over a failed one, the old commit SHA is added to this list.