From eb4aa40342826451a70db5eda137f2731f750607 Mon Sep 17 00:00:00 2001 From: Nicolas Lacasse Date: Thu, 29 Aug 2019 13:17:48 -0700 Subject: [PATCH] Compile procter binaries during image creation. Using "go run ..." in the ENTRYPOINT causes the go compiler to run each time the container is started. We can just compile the binary once as part of the image. PiperOrigin-RevId: 266212462 --- test/runtimes/go/Dockerfile | 3 ++- test/runtimes/java/Dockerfile | 3 ++- test/runtimes/nodejs/Dockerfile | 3 ++- test/runtimes/php/Dockerfile | 3 ++- test/runtimes/python/Dockerfile | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/test/runtimes/go/Dockerfile b/test/runtimes/go/Dockerfile index 1d5202b70..2d3477392 100644 --- a/test/runtimes/go/Dockerfile +++ b/test/runtimes/go/Dockerfile @@ -30,5 +30,6 @@ WORKDIR ${LANG_DIR} COPY common /root/go/src/gvisor.dev/gvisor/test/runtimes/common/common COPY go/proctor-go.go ${LANG_DIR} +RUN ["/root/go/bin/go", "build", "-o", "/root/go/bin/proctor", "proctor-go.go"] -ENTRYPOINT ["/root/go/bin/go", "run", "proctor-go.go"] +ENTRYPOINT ["/root/go/bin/proctor"] diff --git a/test/runtimes/java/Dockerfile b/test/runtimes/java/Dockerfile index b9132b575..1a61d9d8f 100644 --- a/test/runtimes/java/Dockerfile +++ b/test/runtimes/java/Dockerfile @@ -31,5 +31,6 @@ ENV LANG_DIR=/root COPY common /root/go/src/gvisor.dev/gvisor/test/runtimes/common/common COPY java/proctor-java.go ${LANG_DIR} +RUN ["/root/go/bin/go", "build", "-o", "/root/go/bin/proctor", "proctor-java.go"] -ENTRYPOINT ["/root/go/bin/go", "run", "proctor-java.go"] +ENTRYPOINT ["/root/go/bin/proctor"] diff --git a/test/runtimes/nodejs/Dockerfile b/test/runtimes/nodejs/Dockerfile index aba30d2ee..ce2943af8 100644 --- a/test/runtimes/nodejs/Dockerfile +++ b/test/runtimes/nodejs/Dockerfile @@ -24,7 +24,8 @@ RUN make test-build COPY common /root/go/src/gvisor.dev/gvisor/test/runtimes/common/common COPY nodejs/proctor-nodejs.go ${LANG_DIR} +RUN ["/root/go/bin/go", "build", "-o", "/root/go/bin/proctor", "proctor-nodejs.go"] # Including dumb-init emulates the Linux "init" process, preventing the failure # of tests involving worker processes. -ENTRYPOINT ["/usr/bin/dumb-init", "/root/go/bin/go", "run", "proctor-nodejs.go"] +ENTRYPOINT ["/usr/bin/dumb-init", "/root/go/bin/proctor"] diff --git a/test/runtimes/php/Dockerfile b/test/runtimes/php/Dockerfile index 491ab902d..d79babe58 100644 --- a/test/runtimes/php/Dockerfile +++ b/test/runtimes/php/Dockerfile @@ -26,5 +26,6 @@ RUN make COPY common /root/go/src/gvisor.dev/gvisor/test/runtimes/common/common COPY php/proctor-php.go ${LANG_DIR} +RUN ["/root/go/bin/go", "build", "-o", "/root/go/bin/proctor", "proctor-php.go"] -ENTRYPOINT ["/root/go/bin/go", "run", "proctor-php.go"] +ENTRYPOINT ["/root/go/bin/proctor"] diff --git a/test/runtimes/python/Dockerfile b/test/runtimes/python/Dockerfile index 710daee43..5ae328890 100644 --- a/test/runtimes/python/Dockerfile +++ b/test/runtimes/python/Dockerfile @@ -28,5 +28,6 @@ RUN make -s -j2 COPY common /root/go/src/gvisor.dev/gvisor/test/runtimes/common/common COPY python/proctor-python.go ${LANG_DIR} +RUN ["/root/go/bin/go", "build", "-o", "/root/go/bin/proctor", "proctor-python.go"] -ENTRYPOINT ["/root/go/bin/go", "run", "proctor-python.go"] +ENTRYPOINT ["/root/go/bin/proctor"]