apache / apache/buildstream

Allow incremental builds when retrying builds

Open
#433 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

[See original issue on GitLab](https://gitlab.com/BuildStream/buildstream/-/issues/433)
In GitLab by [[Gitlab user @TheRealMichaelCatanzaro]](https://gitlab.com/TheRealMichaelCatanzaro) on Jun 20, 2018, 15:46

## 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

Contributor guide

Open the contributing guide

Research direction

Start by tracing BuildStream's build and retry entry points; the issue does not name specific files or tests. Determine where a retry discards prior progress, then verify that retrying after a failed build preserves completed work instead of restarting from scratch.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.