Open blowfishpro opened 6 months ago
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/d
then the a/b
part 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.
Broadly I would expect the same behavior with and without --parents
with respect to what is validated.
I didn't see this clearly documented so reporting as an issue.
When using the new
COPY --parents
option (in labs), it will silently skip over files that do not exist.Compare the following:
Without
--parents
:results in:
With
--parents
: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.