-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #260 from symflower/testing-docker-runtime
Testing docker runtime
- Loading branch information
Showing
7 changed files
with
432 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,54 @@ | ||
FROM ubuntu:noble | ||
RUN apt-get update && apt-get install -y ca-certificates wget unzip git make && update-ca-certificates | ||
# Builder image. | ||
FROM golang:latest as builder | ||
|
||
WORKDIR /home/ubuntu/eval-dev-quality | ||
WORKDIR /app | ||
COPY ./ ./ | ||
RUN chown -R ubuntu:ubuntu ./ | ||
|
||
# Build the binary. | ||
RUN go mod tidy | ||
RUN CGO_ENABLED=0 go build -o eval-dev-quality ./cmd/eval-dev-quality | ||
|
||
# Actual running image. | ||
FROM ubuntu:noble | ||
RUN apt-get update && apt-get install -y ca-certificates wget unzip git make && update-ca-certificates | ||
|
||
# Switch to the ubuntu user as we want it to run as non-root. | ||
USER ubuntu | ||
RUN mkdir -p ~/.eval-dev-quality | ||
WORKDIR /app | ||
COPY --chown=ubuntu:ubuntu ./testdata ./testdata | ||
COPY --chown=ubuntu:ubuntu ./Makefile ./Makefile | ||
RUN mkdir -p .eval-dev-quality | ||
RUN mkdir -p /app/evaluation | ||
|
||
# Install Maven | ||
RUN wget https://archive.apache.org/dist/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz && \ | ||
tar -xf apache-maven-3.9.1-bin.tar.gz -C ~/.eval-dev-quality/ && \ | ||
tar -xf apache-maven-3.9.1-bin.tar.gz -C /app/.eval-dev-quality/ && \ | ||
rm apache-maven-3.9.1-bin.tar.gz | ||
ENV PATH="${PATH}:/home/ubuntu/.eval-dev-quality/apache-maven-3.9.1/bin" | ||
ENV PATH="${PATH}:/app/.eval-dev-quality/apache-maven-3.9.1/bin" | ||
|
||
# Install Gradle | ||
RUN wget https://services.gradle.org/distributions/gradle-8.0.2-bin.zip && \ | ||
unzip gradle-8.0.2-bin.zip -d ~/.eval-dev-quality/ && \ | ||
unzip gradle-8.0.2-bin.zip -d /app/.eval-dev-quality/ && \ | ||
rm gradle-8.0.2-bin.zip | ||
ENV PATH="${PATH}:/home/ubuntu/.eval-dev-quality/gradle-8.0.2/bin" | ||
ENV PATH="${PATH}:/app/.eval-dev-quality/gradle-8.0.2/bin" | ||
|
||
# Install Java | ||
RUN wget https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.tar.gz && \ | ||
tar -xf amazon-corretto-11-x64-linux-jdk.tar.gz -C ~/.eval-dev-quality/ && \ | ||
tar -xf amazon-corretto-11-x64-linux-jdk.tar.gz -C /app/.eval-dev-quality/ && \ | ||
rm amazon-corretto-11-x64-linux-jdk.tar.gz | ||
ENV JAVA_HOME="/home/ubuntu/.eval-dev-quality/amazon-corretto-11.0.23.9.1-linux-x64" | ||
ENV JAVA_HOME="/app/.eval-dev-quality/amazon-corretto-11.0.23.9.1-linux-x64" | ||
ENV PATH="${PATH}:${JAVA_HOME}/bin" | ||
|
||
# Install Go | ||
RUN wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz && \ | ||
tar -xf go1.21.5.linux-amd64.tar.gz -C ~/.eval-dev-quality/ && \ | ||
tar -xf go1.21.5.linux-amd64.tar.gz -C /app/.eval-dev-quality/ && \ | ||
rm go1.21.5.linux-amd64.tar.gz | ||
ENV PATH="${PATH}:/home/ubuntu/.eval-dev-quality/go/bin" | ||
ENV PATH="${PATH}:/app/.eval-dev-quality/go/bin" | ||
ENV GOROOT="/app/.eval-dev-quality/go" | ||
ENV PATH="${PATH}:/home/ubuntu/go/bin" | ||
|
||
# Setup the evaluation | ||
|
||
RUN make install-all | ||
ENV PATH="${PATH}:/home/ubuntu/.eval-dev-quality/bin" | ||
# Install the binary | ||
COPY --from=builder --chown=ubuntu:ubuntu /app/eval-dev-quality /app/.eval-dev-quality/bin/ | ||
ENV PATH="${PATH}:/app/.eval-dev-quality/bin" | ||
RUN make install-tools-testing | ||
RUN make install-tools /app/.eval-dev-quality/bin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.