Skip to content

Allow incremental builds when retrying builds

Background

When a build fails due to a random problem and the only solution is to Retry, I believe BuildStream currently starts over from the beginning. This makes it very frustrating to build WebKit, where we expect the compiler or linker to crash a couple times due to toolchain issues. E.g. last night I hit a linker bug an hour into building WebKit for the GNOME 3.29.3 release, and when I told buildstream to retry the build, I believe it started over from scratch. I was trying to build hundreds of modules, and losing an hour was a significant loss. Under JHBuild, I would just restart the build and it would continue without problems from where it left off. One time in the past, I hit random toolchain bugs three or four builds in a row, which was probably about when I stopped using BuildStream for daily development. The exact bugs do not matter... the fact is that our build toolchain (compiler and linker) are simply not as reliable as we would like, and there are going to be problems outside our control that will occasionally (or even often) necessitate performing an incremental rebuild.

Task description

Add ability to retry a build without restarting the build from scratch

Acceptance Criteria

Should be possible to retry a build without restarting the build from scratch

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information