summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorDan Duvall <dduvall@wikimedia.org>2017-06-15 17:34:47 -0700
committerDan Duvall <dduvall@wikimedia.org>2017-06-20 10:17:53 -0700
commit77b95b1f94de7cc6c1e28c0fdf2b4ecab93dd91a (patch)
treec136226a28999b65f85fd8c4257591478ca99d7f /docker
parentbbb5eba26ae3edb671693c10d6d73a958546af27 (diff)
downloadblubber-77b95b1f94de7cc6c1e28c0fdf2b4ecab93dd91a.tar.gz
Set HOME environment variable for runs-as user
Summary: Fixes build issues around home permissions by setting `HOME` to the unprivileged user's home directory once the "privileges dropped" build phase has been reached. Test Plan: Run `go test ./...`. Reviewers: thcipriani, mobrovac, hashar, Jrbranaa, mmodell, #release-engineering-team Reviewed By: mobrovac Tags: #release-engineering-team Differential Revision: https://phabricator.wikimedia.org/D686
Diffstat (limited to 'docker')
-rw-r--r--docker/compiler.go2
-rw-r--r--docker/compiler_test.go9
2 files changed, 11 insertions, 0 deletions
diff --git a/docker/compiler.go b/docker/compiler.go
index 0a16362..f398164 100644
--- a/docker/compiler.go
+++ b/docker/compiler.go
@@ -96,6 +96,8 @@ func CompileInstruction(buffer *bytes.Buffer, instruction build.Instruction) {
Writeln(buffer, append([]string{"RUN "}, instruction.Arguments...)...)
case build.Copy:
Writeln(buffer, "COPY [\"", instruction.Arguments[0], "\", \"", instruction.Arguments[1], "\"]")
+ case build.Env:
+ Writeln(buffer, "ENV ", strings.Join(instruction.Arguments, " "))
}
}
diff --git a/docker/compiler_test.go b/docker/compiler_test.go
index c6fec1b..7f6ee87 100644
--- a/docker/compiler_test.go
+++ b/docker/compiler_test.go
@@ -52,3 +52,12 @@ func TestCompileInstructionCopy(t *testing.T) {
assert.Equal(t, "COPY [\"foo\", \"bar\"]\n", buffer.String())
}
+
+func TestCompileInstructionEnv(t *testing.T) {
+ buffer := new(bytes.Buffer)
+ instruction := build.Instruction{build.Env, []string{"foo=bar", "baz=qux"}}
+
+ docker.CompileInstruction(buffer, instruction)
+
+ assert.Equal(t, "ENV foo=bar baz=qux\n", buffer.String())
+}