Merge pull request #32763 from dave-tucker/fix-32744
builder: Make builtin arg pruning work with > 1 arg
This commit is contained in:
commit
9f0ebea335
2 changed files with 9 additions and 6 deletions
|
@ -438,12 +438,11 @@ func run(req dispatchRequest) error {
|
|||
// these args are transparent so resulting image should be the same regardless of the value
|
||||
if len(cmdBuildEnv) > 0 {
|
||||
saveCmd = config.Cmd
|
||||
tmpBuildEnv := make([]string, len(cmdBuildEnv))
|
||||
copy(tmpBuildEnv, cmdBuildEnv)
|
||||
for i, env := range tmpBuildEnv {
|
||||
var tmpBuildEnv []string
|
||||
for _, env := range cmdBuildEnv {
|
||||
key := strings.SplitN(env, "=", 2)[0]
|
||||
if req.builder.buildArgs.IsUnreferencedBuiltin(key) {
|
||||
tmpBuildEnv = append(tmpBuildEnv[:i], tmpBuildEnv[i+1:]...)
|
||||
if !req.builder.buildArgs.IsUnreferencedBuiltin(key) {
|
||||
tmpBuildEnv = append(tmpBuildEnv, env)
|
||||
}
|
||||
}
|
||||
sort.Strings(tmpBuildEnv)
|
||||
|
|
|
@ -4355,7 +4355,8 @@ func (s *DockerSuite) TestBuildTimeArgHistoryExclusions(c *check.C) {
|
|||
ARG %s
|
||||
RUN echo "Testing Build Args!"`, envKey, explicitProxyKey)
|
||||
buildImage(imgName,
|
||||
cli.WithFlags("--build-arg", fmt.Sprintf("%s=%s", envKey, envVal),
|
||||
cli.WithFlags("--build-arg", "https_proxy=https://proxy.example.com",
|
||||
"--build-arg", fmt.Sprintf("%s=%s", envKey, envVal),
|
||||
"--build-arg", fmt.Sprintf("%s=%s", explicitProxyKey, explicitProxyVal),
|
||||
"--build-arg", proxy),
|
||||
build.WithDockerfile(dockerfile),
|
||||
|
@ -4365,6 +4366,9 @@ func (s *DockerSuite) TestBuildTimeArgHistoryExclusions(c *check.C) {
|
|||
if strings.Contains(out, proxy) {
|
||||
c.Fatalf("failed to exclude proxy settings from history!")
|
||||
}
|
||||
if strings.Contains(out, "https_proxy") {
|
||||
c.Fatalf("failed to exclude proxy settings from history!")
|
||||
}
|
||||
if !strings.Contains(out, fmt.Sprintf("%s=%s", envKey, envVal)) {
|
||||
c.Fatalf("explicitly defined ARG %s is not in output", explicitProxyKey)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue