Replies: 1 comment
-
This feels like you're using Please targets in the wrong way. If you need to force rebuilds of a large number of actions across the repo, that implies you're relying on them having side-effects (which builds against a system Docker daemon do). Please is designed to be a caching build system that can optimise builds by choosing not to re-run actions, and it can't know about stuff you're doing to your system Docker daemon. There are alternative methods out there about how Docker builds can work. I'm not sure what we have out in the wild though. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
My plz targets look like:
I've got 3 scenarios.
Scenario 1:
plz build //dockerfiles/...
docker image rm app:version
plz build --rebuild //dockerfiles/app:app
This scenario works fine for me.
//dockerfiles/app:app
depends on//dockerfiles/python:with-pandas
and the later wasn't deleted.Scenario 2:
plz build //dockerfiles/...
docker system prune -af
plz build --rebuild //dockerfiles/app:app
This scenario doesn't work.
//dockerfiles/app:app
depends on//dockerfiles/python:with-pandas
and that was deleted on step 2 of this scenario.Scenario 3:
plz build //dockerfiles/...
docker system prune -af
plz clean
plz build [--rebuild] //dockerfiles/app:app
This scenario works. As I cleaned plz's cache, it'll rebuild all dependencies of
//dockerfiles/app:app
.I need to find a solution for Scenario 2. Is there a way to force plz to rebuild a target and its dependencies tree without using
plz clean
?Scenario 3 "solves" the problem but I don't want to use it as I have more then just the 3 images on this example.
Beta Was this translation helpful? Give feedback.
All reactions