diff --git a/pkg/commands/copy.go b/pkg/commands/copy.go index f5736bcab6..2c3e3d4661 100644 --- a/pkg/commands/copy.go +++ b/pkg/commands/copy.go @@ -58,6 +58,7 @@ func (c *CopyCommand) ExecuteCommand(config *v1.Config, buildArgs *dockerfile.Bu return errors.Wrap(err, "getting user group from chown") } + // sources from the Copy command are resolved with wildcards {*?[} srcs, dest, err := util.ResolveEnvAndWildcards(c.cmd.SourcesAndDest, c.fileContext, replacementEnvs) if err != nil { return errors.Wrap(err, "resolving src") diff --git a/pkg/commands/copy_test.go b/pkg/commands/copy_test.go index 7851ffa27c..0504df423b 100755 --- a/pkg/commands/copy_test.go +++ b/pkg/commands/copy_test.go @@ -51,6 +51,21 @@ var copyTests = []struct { sourcesAndDest: []string{"foo", "tempCopyExecuteTest"}, expectedDest: []string{"tempCopyExecuteTest"}, }, + { + name: "copy f* into tempCopyExecuteTest", + sourcesAndDest: []string{"foo*", "tempCopyExecuteTest"}, + expectedDest: []string{"tempCopyExecuteTest"}, + }, + { + name: "copy fo? into tempCopyExecuteTest", + sourcesAndDest: []string{"fo?", "tempCopyExecuteTest"}, + expectedDest: []string{"tempCopyExecuteTest"}, + }, + { + name: "copy f[o][osp] into tempCopyExecuteTest", + sourcesAndDest: []string{"f[o][osp]", "tempCopyExecuteTest"}, + expectedDest: []string{"tempCopyExecuteTest"}, + }, } func setupTestTemp(t *testing.T) string {