Refactor how failures are handled in builder.py
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 302
- PR merge metrics
- No merged PRs in 30d
Description
Currently most of the externally used build functions in builder.py use `retry_build_loop` which takes a function `f` runs `f` in parallel on each item in the list, retrying up to 3 times if needed, and returns the list of items in the list that it was able to successfully call `f` on (`f` is either the function for building measurers or building fuzzer-benchmarks). `f` will log an error if it fails.
We should change this in two ways:
1. `f` should probably never log errror. Leave it to `retry_build_loop`. These should probably be warnings, since the error gets logged when retry_build_loop gives up.
2. Returning only successful items is weird. Instead return a list of all items and whether they succeed or not.
Contributor guide
Assessment
This issue has not been assessed yet.