# Compile the proctor binary. FROM golang:1.12 AS golang ADD ["proctor/", "/go/src/proctor/"] RUN ["go", "build", "-o", "/proctor", "/go/src/proctor"] FROM ubuntu:bionic RUN apt-get update && apt-get install -y \ curl \ dumb-init \ g++ \ make \ python WORKDIR /root ARG VERSION=v12.4.0 RUN curl -o node-${VERSION}.tar.gz https://nodejs.org/dist/${VERSION}/node-${VERSION}.tar.gz RUN tar -zxf node-${VERSION}.tar.gz WORKDIR /root/node-${VERSION} RUN ./configure RUN make RUN make test-build COPY --from=golang /proctor /proctor # Including dumb-init emulates the Linux "init" process, preventing the failure # of tests involving worker processes. ENTRYPOINT ["/usr/bin/dumb-init", "/proctor", "--runtime=nodejs"]