Make build cancelled/failed when it can not be fully done from cache.
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 4.5k
- Forks
- 682
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 29
Description
Description
Hello,
let's imagine:
I have an exotic case where I have to do some very compute-intensive compilation for non-x86 architecture. To increase the speed, I spin up an instance with the needed architecture in the cloud (e.g. AWS EC2) and spawn a buildkit builder in it and do my build in this remote builder.
For the next builds (until I make some changes and invalidate the cache) I won't need to spin up a remote builder because
everything will be cached, so it would be great to be able to perform the next set of actions:
- Try to do a build that will fail/cancel if it can not be fully done from the cache.
- a. If there is a cache miss, then the build fails and I spin up a remote builder and do another build in it.
b. If there is no cache-miss, then everything is cool and I don't have to do anything else.
For now, if you run build locally and cache-miss has happened. There's no way to stop that build.
PS: Sorry, it seems that this request has to be in the buildkit project, not here. I would be glad to keep it open anyway in case I missed something and solution already exists.
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 the local build path and how BuildKit reports cache misses or cancellation; done means a build can stop when any work cannot be completed entirely from cache and can distinguish that result from a successful cache-only build.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- build-system, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100