-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add rest of Dockerfiles from Submitty/DockerImages (#22)
- Loading branch information
Showing
13 changed files
with
2,095 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
|
||
FROM debian:stable-slim | ||
|
||
RUN apt-get update \ | ||
&& apt-get -y --no-install-recommends install \ | ||
grep \ | ||
libseccomp-dev \ | ||
libseccomp2 \ | ||
procps \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list \ | ||
&& apt-get update \ | ||
&& apt-get -y --no-install-recommends install \ | ||
clang-6.0 \ | ||
&& apt-get -y install cmake\ | ||
&& apt-get -y install make\ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& ln -sf /usr/bin/clang-6.0 /usr/bin/clang \ | ||
&& ln -sf /usr/bin/clang++-6.0 /usr/bin/clang++ | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends g++ \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
|
||
ENV DRMEMORY_TAG release_2.6.0 | ||
ENV DRMEMORY_VERSION 2.6.0 | ||
ENV SUBMITTY_INSTALL_DIR /usr/local/submitty | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget ca-certificates rsync \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/drmemory \ | ||
&& cd /tmp \ | ||
&& wget https://github.com/DynamoRIO/drmemory/releases/download/${DRMEMORY_TAG}/DrMemory-Linux-${DRMEMORY_VERSION}.tar.gz \ | ||
&& tar -xpzf DrMemory-Linux-${DRMEMORY_VERSION}.tar.gz \ | ||
&& rsync --delete -a /tmp/DrMemory-Linux-${DRMEMORY_VERSION}/ ${SUBMITTY_INSTALL_DIR}/drmemory \ | ||
&& rm -rf /tmp/DrMemory* \ | ||
&& chown -R root ${SUBMITTY_INSTALL_DIR}/drmemory \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/drmemory \ | ||
&& apt-get purge -y --auto-remove wget \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y valgrind \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y imagemagick \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y wkhtmltopdf \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y xvfb \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y time \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
ENV AnalysisTools_Version v.18.06.00 | ||
ENV SUBMITTY_INSTALL_DIR /usr/local/submitty | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools \ | ||
&& wget -nv "https://github.com/Submitty/AnalysisTools/releases/download/${AnalysisTools_Version}/count" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools/count \ | ||
&& wget -nv "https://github.com/Submitty/AnalysisTools/releases/download/${AnalysisTools_Version}/plagiarism" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools/plagiarism \ | ||
&& wget -nv "https://github.com/Submitty/AnalysisTools/releases/download/${AnalysisTools_Version}/diagnostics" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools/diagnostics \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisTools \ | ||
&& apt-get purge -y --auto-remove wget \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
|
||
ENV AnalysisToolsTS_Version v23.06.01 | ||
ENV SUBMITTY_INSTALL_DIR /usr/local/submitty | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS/build \ | ||
&& wget -nv "https://github.com/Submitty/AnalysisToolsTS/releases/download/${AnalysisToolsTS_Version}/submitty_count_ts" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS/build/submitty_count_ts \ | ||
&& wget -nv "https://github.com/Submitty/AnalysisToolsTS/releases/download/${AnalysisToolsTS_Version}/submitty_diagnostics_ts" -O ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS/build/submitty_diagnostics_ts \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/SubmittyAnalysisToolsTS \ | ||
&& apt-get purge -y --auto-remove wget \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
CMD ["/bin/bash"] |
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 |
---|---|---|
@@ -0,0 +1,22 @@ | ||
FROM debian:stable-slim | ||
|
||
RUN apt-get update \ | ||
&& apt-get -y --no-install-recommends install \ | ||
grep \ | ||
libseccomp-dev \ | ||
libseccomp2 \ | ||
procps \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends g++ \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y valgrind \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends gdb \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
CMD ["/bin/bash"] |
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 |
---|---|---|
@@ -0,0 +1,14 @@ | ||
FROM debian:stable-slim | ||
|
||
RUN apt-get update \ | ||
&& apt-get -y --no-install-recommends install \ | ||
grep \ | ||
libseccomp-dev \ | ||
libseccomp2 \ | ||
procps \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
RUN apt-get update \ | ||
&& apt-get install -y spim \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
CMD ["/bin/bash"] |
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 |
---|---|---|
@@ -0,0 +1,94 @@ | ||
FROM ubuntu:18.04 | ||
|
||
# Install "software-properties-common" (for the "add-apt-repository") | ||
RUN apt-get update && apt-get install -y \ | ||
software-properties-common | ||
# Add the "JAVA" ppa | ||
RUN add-apt-repository -y \ | ||
ppa:openjdk-r/ppa | ||
|
||
# Install OpenJDK-8 | ||
RUN apt-get update && \ | ||
apt-get install -y openjdk-8-jdk && \ | ||
apt-get install -y ant && \ | ||
apt-get clean; | ||
|
||
# Fix certificate issues | ||
RUN apt-get update && \ | ||
apt-get install ca-certificates-java && \ | ||
apt-get clean && \ | ||
update-ca-certificates -f \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
rm -rf /var/cache/oracle-jdk8-installer | ||
|
||
# Setup JAVA_HOME -- useful for docker commandline | ||
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ | ||
RUN export JAVA_HOME | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG C.UTF-8 | ||
|
||
ENV SUBMITTY_INSTALL_DIR /usr/local/submitty | ||
ENV JUNIT_VERSION 4.12 | ||
ENV HAMCREST_VERSION 1.3 | ||
ENV JACOCO_VERSION 0.8.0 | ||
|
||
|
||
# Create the necessary directories | ||
RUN mkdir -p ${SUBMITTY_INSTALL_DIR}/java_tools/JUnit \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/java_tools/hamcrest \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/java_tools/jacoco | ||
|
||
# Get JUnit | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& echo 0 \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/JUnit \ | ||
&& wget https://repo1.maven.org/maven2/junit/junit/${JUNIT_VERSION}/junit-${JUNIT_VERSION}.jar -o /dev/null > /dev/null 2>&1 \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget | ||
|
||
# Get Hamcrest | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/hamcrest \ | ||
&& wget https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/${HAMCREST_VERSION}/hamcrest-core-${HAMCREST_VERSION}.jar -o /dev/null > /dev/null 2>&1 \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget | ||
|
||
# Get Jacoco | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget unzip \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/jacoco \ | ||
&& wget https://github.com/jacoco/jacoco/releases/download/v${JACOCO_VERSION}/jacoco-${JACOCO_VERSION}.zip -o /dev/null > /dev/null 2>&1 \ | ||
&& mkdir jacoco-${JACOCO_VERSION} \ | ||
&& unzip jacoco-${JACOCO_VERSION}.zip -d jacoco-${JACOCO_VERSION} > /dev/null \ | ||
&& mv jacoco-${JACOCO_VERSION}/lib/jacococli.jar jacococli.jar \ | ||
&& mv jacoco-${JACOCO_VERSION}/lib/jacocoagent.jar jacocoagent.jar \ | ||
&& rm -rf jacoco-${JACOCO_VERSION} \ | ||
&& rm -f jacoco-${JACOCO_VERSION}.zip \ | ||
&& chmod o+r . *.jar \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget unzip | ||
|
||
# Retrieve the Submitty Testrunner. | ||
# TODO: replace this with something more sustainable than a wget from master | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& wget https://raw.githubusercontent.com/Submitty/Submitty/master/junit_test_runner/TestRunner.java --output-document=${SUBMITTY_INSTALL_DIR}/java_tools/JUnit/TestRunner.java \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/JUnit/ \ | ||
&& /usr/bin/javac -cp ./junit-4.12.jar TestRunner.java \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget | ||
|
||
|
||
# Fix Permissions | ||
RUN chown -R root:${COURSE_BUILDERS_GROUP} ${SUBMITTY_INSTALL_DIR}/java_tools \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/java_tools | ||
|
||
|
||
CMD ["/bin/bash"] |
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 |
---|---|---|
@@ -0,0 +1,132 @@ | ||
FROM ubuntu:18.04 | ||
|
||
# Install "software-properties-common" (for the "add-apt-repository") | ||
RUN apt-get update && apt-get install -y \ | ||
software-properties-common | ||
# Add the "JAVA" ppa | ||
RUN add-apt-repository -y \ | ||
ppa:openjdk-r/ppa | ||
|
||
# Install OpenJDK-8 | ||
RUN apt-get update && \ | ||
apt-get install -y openjdk-8-jdk && \ | ||
apt-get install -y ant && \ | ||
apt-get clean; | ||
|
||
# Fix certificate issues | ||
RUN apt-get update && \ | ||
apt-get install ca-certificates-java && \ | ||
apt-get clean && \ | ||
update-ca-certificates -f \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
rm -rf /var/cache/oracle-jdk8-installer | ||
|
||
# Setup JAVA_HOME -- useful for docker commandline | ||
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ | ||
RUN export JAVA_HOME | ||
# see CA_CERTIFICATES_JAVA_VERSION notes above | ||
RUN /var/lib/dpkg/info/ca-certificates-java.postinst configure | ||
ENV SUBMITTY_INSTALL_DIR /usr/local/submitty | ||
ENV JUNIT_VERSION 4.12 | ||
ENV HAMCREST_VERSION 1.3 | ||
ENV JACOCO_VERSION 0.8.0 | ||
|
||
|
||
# Create the necessary directories | ||
RUN mkdir -p ${SUBMITTY_INSTALL_DIR}/java_tools/JUnit \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/java_tools/hamcrest \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/java_tools/jacoco | ||
|
||
# Get JUnit | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& echo 0 \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/JUnit \ | ||
&& wget https://repo1.maven.org/maven2/junit/junit/${JUNIT_VERSION}/junit-${JUNIT_VERSION}.jar -o /dev/null > /dev/null 2>&1 \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget | ||
|
||
# Get Hamcrest | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/hamcrest \ | ||
&& wget https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/${HAMCREST_VERSION}/hamcrest-core-${HAMCREST_VERSION}.jar -o /dev/null > /dev/null 2>&1 \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget | ||
|
||
# Get Jacoco | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget unzip \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/jacoco \ | ||
&& wget https://github.com/jacoco/jacoco/releases/download/v${JACOCO_VERSION}/jacoco-${JACOCO_VERSION}.zip -o /dev/null > /dev/null 2>&1 \ | ||
&& mkdir jacoco-${JACOCO_VERSION} \ | ||
&& unzip jacoco-${JACOCO_VERSION}.zip -d jacoco-${JACOCO_VERSION} > /dev/null \ | ||
&& mv jacoco-${JACOCO_VERSION}/lib/jacococli.jar jacococli.jar \ | ||
&& mv jacoco-${JACOCO_VERSION}/lib/jacocoagent.jar jacocoagent.jar \ | ||
&& rm -rf jacoco-${JACOCO_VERSION} \ | ||
&& rm -f jacoco-${JACOCO_VERSION}.zip \ | ||
&& chmod o+r . *.jar \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget unzip | ||
|
||
# Retrieve the Submitty Testrunner. | ||
# TODO: replace this with something more sustainable than a wget from master | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& wget https://raw.githubusercontent.com/Submitty/Submitty/master/junit_test_runner/TestRunner.java --output-document=${SUBMITTY_INSTALL_DIR}/java_tools/JUnit/TestRunner.java \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/java_tools/JUnit/ \ | ||
&& /usr/bin/javac -cp ./junit-4.12.jar TestRunner.java \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget | ||
|
||
|
||
# Fix Permissions | ||
RUN chown -R root:${COURSE_BUILDERS_GROUP} ${SUBMITTY_INSTALL_DIR}/java_tools \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/java_tools | ||
|
||
|
||
ENV MONO_VERSION 6.8.0.96 | ||
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \ | ||
gnupg \ | ||
ca-certificates \ | ||
wget \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \ | ||
apt-transport-https \ | ||
dirmngr \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic/snapshots/6.12.0 main" | tee /etc/apt/sources.list.d/mono-official.list \ | ||
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ | ||
&& apt-get update && apt-get install -y --no-install-recommends \ | ||
mono-devel \ | ||
msbuild \ | ||
&& rm -rf /var/lib/apt/lists/* /tmp/* | ||
|
||
ENV DAFNY_VER v2.3.0 | ||
ENV DAFNY_FILE dafny-2.3.0.10506-x64-debian-8.11.zip | ||
ENV SUBMITTY_INSTALL_DIR /usr/local/submitty | ||
|
||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends wget unzip \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& mkdir -p ${SUBMITTY_INSTALL_DIR}/Dafny \ | ||
&& chown root:${COURSE_BUILDERS_GROUP} ${SUBMITTY_INSTALL_DIR}/Dafny \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/Dafny \ | ||
&& cd ${SUBMITTY_INSTALL_DIR}/Dafny \ | ||
&& wget https://github.com/Microsoft/dafny/releases/download/${DAFNY_VER}/${DAFNY_FILE} \ | ||
&& unzip $DAFNY_FILE \ | ||
&& rm -f $DAFNY_FILE \ | ||
&& chmod -R 755 ${SUBMITTY_INSTALL_DIR}/Dafny \ | ||
&& cd / \ | ||
&& apt-get purge -y --auto-remove wget unzip | ||
|
||
# dafny requires libgomp1 | ||
RUN apt-get update \ | ||
&& apt-get install -y libgomp1 \ | ||
&& rm -rf /var/lib/apt/lists/* CMD ["/bin/bash"] |
Oops, something went wrong.