Formalise the pushing of failed sources
- 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/1225)
In GitLab by [[Gitlab user @tpollard]](https://gitlab.com/tpollard) on Dec 2, 2019, 12:17
## Background
As highlighted in this MR https://gitlab.com/BuildStream/buildstream/merge_requests/1741 a current bst build execution will not push sources (by default) if the build queue failed. This behaviour is achieved by the ordering of the source push queue being after the build queue, but there's no explicit conditional in the source push logic that stops failed build sources being pushed. Adding in logic to enforce the behaviour brings up questions about how we handle sources, especially what the default behaviour should be during a build, and how a future source push command would operate with the given build status of sources. For instance, if a buildstep failed due to a temporary issue (say OOM, or network issues) it's probably wrong to presume that we shouldn't be pushing the source. There's the plausibility of pushing source as soon as it's cached locally instead of waiting for a build to complete as the operations can somewhat be independent, unlike pushing built artifacts.
Contributor guide
Research direction
Start by reviewing the linked GitLab MR 1741 and the source push logic around the build and source push queues. Clarify the intended default behavior for failed or independently cached sources and how a future source push command should use build status. Done requires an agreed design for these cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100