You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 520ef390-e014-48a2-bdd5-b7fb3e850763::43brx8ibsmqfjzdxft4n7es8p: "/nonexistent-file": not found
With --parents:
# syntax=docker/dockerfile:1.7-labsFROM scratch AS parents
COPY --parents ./nonexistent-file /
Is successful even though the file doesn't exist.
From a quick read of the code, it appears to treat every source as a wildcard pattern with --parents even if it doesn't contain any wildcard characters. Wildcard paths that don't match anything are silently accepted with our without the --parents option. I do see a lot of historical issues and confusion relating to wildcards that don't match anything, but it seems like that aspect is intended behavior.
Activity
tonistiigi commentedon May 7, 2024
cc @DYefimov
Looks bit unexpected indeed. It makes more sense with the internal API that is based on include patterns.
In case you would use pivot point
COPY --parents a/b/./c/dthen thea/bpart of the code would be validated.Additional question is what would happen with multiple paths. Or is the validation that if the pattern is not a wildcard then it needs to match.
Unfortunately, it looks like this requires a new LLB option and can't be fixed by just a frontend update.
blowfishpro commentedon May 8, 2024
Broadly I would expect the same behavior with and without
--parentswith respect to what is validated.4 remaining items