Skip to content

Commit

Permalink
Merge pull request #152 from pwittrock/release-cmd
Browse files Browse the repository at this point in the history
Prune GO environment variables when execing from release
  • Loading branch information
Phillip Wittrock committed Sep 20, 2017
2 parents 1f2cd2a + 8307b99 commit e2de194
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions cmd/apiserver-builder-release/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,18 @@ func RunCmd(cmd *exec.Cmd, gopath string) {
if err != nil {
log.Fatal(err)
}
cmd.Env = []string{}
if setgopath {
cmd.Env = append(cmd.Env, fmt.Sprintf("GOPATH=%s", gopath))
cmd.Env = append(cmd.Env, fmt.Sprintf("GOPATH=%s", gopath))
}
cmd.Env = append(cmd.Env, os.Environ()...)
cmd.Stderr = os.Stderr
for _, v := range os.Environ() {
if strings.HasPrefix(v, "GOPATH=") && setgopath {
continue
}
cmd.Env = append(cmd.Env, v)
}

cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
if len(cmd.Dir) == 0 && len(gopath) > 0 {
cmd.Dir = gopath
Expand All @@ -189,13 +196,25 @@ func Build(input, output, goos, goarch string) {
cmd := exec.Command("go", "build", "-o", output, input)

// CGO_ENABLED=0 for statically compile binaries
cmd.Env = append(cmd.Env, "CGO_ENABLED=0")
cmd.Env = []string{"CGO_ENABLED=0"}
if len(goos) > 0 {
cmd.Env = append(cmd.Env, fmt.Sprintf("GOOS=%s", goos))
}
if len(goarch) > 0 {
cmd.Env = append(cmd.Env, fmt.Sprintf("GOARCH=%s", goarch))
}
for _, v := range os.Environ() {
if strings.HasPrefix(v, "CGO_ENABLED=") {
continue
}
if strings.HasPrefix(v, "GOOS=") && len(goos) > 0 {
continue
}
if strings.HasPrefix(v, "GOARCH=") && len(goarch) > 0 {
continue
}
cmd.Env = append(cmd.Env, v)
}
RunCmd(cmd, "")
}

Expand Down

0 comments on commit e2de194

Please sign in to comment.