Should be able to live_update resources in parallel even if they share a dependency
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 10.1k
- Forks
- 413
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 6
Description
With #3010, we don't parallelize resource updates if they share a dependency--so, if resources A and B both require image X, we will not update A and B in parallel, to avoid duplicating the work of building image X twice (on the assumption that subsequent builds of image X will be ~instant).
This rule makes sense when thinking about image builds; it makes less sense for live updates; there's no unnecessarily duplication of work when syncing files / running steps, and so it would be better to do that in parallel.
Unfortunately, I don't think there's a good way to reliably determine "this is/isn't a live update" at the point of selecting resources for update :-/
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests. Start by tracing resource selection and the handling of live updates, then determine where update mode is available. Done means shared dependencies no longer serialize live updates while image builds retain their current behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- build-system, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100