Skip to content

Commit

Permalink
Bump TESTed stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
niknetniko committed May 27, 2024
1 parent a36b535 commit 33c5262
Showing 1 changed file with 28 additions and 21 deletions.
49 changes: 28 additions & 21 deletions dodona-tested.dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
FROM python:3.12.3-slim-bullseye
FROM python:3.12.3-slim-bookworm

# Environment Kotlin
ENV SDKMAN_DIR /usr/local/sdkman
ENV HASKELL_DIR /usr/local/ghcupdir
ENV PATH $SDKMAN_DIR/candidates/kotlin/current/bin:$PATH
ENV PATH $SDKMAN_DIR/candidates/java/current/bin:$PATH
ENV PATH $HASKELL_DIR/ghc/bin:$PATH
ENV PATH $HASKELL_DIR/cabal:$PATH
ENV NODE_PATH /usr/lib/node_modules
# Add manual directory for default-jdk
# hadolint ignore=DL3008
RUN mkdir -p /usr/share/man/man1mkdir -p /usr/share/man/man1 \
RUN set -o pipefail \

Check failure on line 12 in dodona-tested.dockerfile

View workflow job for this annotation

GitHub Actions / tested

DL4006 warning: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check

Check failure on line 12 in dodona-tested.dockerfile

View workflow job for this annotation

GitHub Actions / tested

SC2039 warning: In POSIX sh, set option pipefail is undefined.
&& mkdir -p /usr/share/man/man1mkdir -p /usr/share/man/man1 \
&& apt-get update \
# Install additional dependencies
&& apt-get install -y --no-install-recommends \
Expand All @@ -17,42 +21,45 @@ RUN mkdir -p /usr/share/man/man1mkdir -p /usr/share/man/man1 \
unzip \
# Bash language dependencies
bc binutils bsdmainutils cowsay ed figlet file toilet tree vim xxd \
# Dependencies for GHCup
autoconf build-essential zlib1g-dev libgmp-dev \
&& curl https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb --output packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
&& rm packages-microsoft-prod.deb \
# Add nodejs v18
&& bash -c 'set -o pipefail && curl -fsSL https://deb.nodesource.com/setup_18.x | bash -' \
# Install programming languages \
# JavaScript dependencies
&& bash -c 'set -o pipefail && curl -fsSL https://deb.nodesource.com/setup_21.x | bash -' \
# Haskell dependencies
&& curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_MINIMAL=1 sh \
&& bash -c "source /root/.ghcup/env && ghcup install ghc 9.6 --isolate $HASKELL_DIR/ghc" \
&& bash -c "source /root/.ghcup/env && ghcup install cabal --isolate $HASKELL_DIR/cabal" \
# Install programming languages \
&& apt-get install -y --no-install-recommends \
# TESTed Java and Kotlin judge dependency
openjdk-17-jdk \
checkstyle=8.36.1-1 \
# TESTed Haskell judge dependency
haskell-platform=2014.2.0.0.debian8 \
hlint=3.1.6-1 \
# Checkstyle, other Java stuff uses SDKMAN! below
checkstyle \
hlint \
# TESTed C judge dependency
gcc=4:10.2.1-1 \
cppcheck=2.3-1 \
gcc \
cppcheck \
# TESTed Javascript judge dependency
nodejs \
# TESTed bash judge dependency
shellcheck=0.7.1-1+deb11u1 \
shellcheck \
# C# dependency
dotnet-sdk-6.0=6.0.405-1 \
dotnet-sdk-8.0 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
# TESTed Judge depencencies
&& pip install --no-cache-dir --upgrade psutil==5.9.5 attrs==23.1.0 cattrs==23.1.2 jsonschema==4.19.1 typing_inspect==0.9.0 pyyaml==6.0.1 Pygments==2.16.1 python-i18n==0.3.9 pylint==3.0.1 \
&& pip install --no-cache-dir --upgrade psutil==5.9.8 attrs==23.2.0 cattrs==23.2.3 jsonschema==4.22.0 typing_inspect==0.9.0 pyyaml==6.0.1 Pygments==2.18.0 python-i18n==0.3.9 pylint==3.0.1 \
# TESTed Kotlin judge dependencies
&& bash -c 'set -o pipefail && curl -s "https://get.sdkman.io?rcupdate=false" | bash' \
&& chmod a+x "$SDKMAN_DIR/bin/sdkman-init.sh" \
&& bash -c "source \"$SDKMAN_DIR/bin/sdkman-init.sh\" && sdk install kotlin 1.8.0" \
&& curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.48.2/ktlint \
&& bash -c "source \"$SDKMAN_DIR/bin/sdkman-init.sh\" && sdk install java 21.0.3-tem && sdk install kotlin" \
&& curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.2.1/ktlint \
&& chmod a+x ktlint \
&& mv ktlint /usr/local/bin \
# JavaScript dependencies
&& npm install -g eslint@8.36 abstract-syntax-tree@2.17.6 \
# Haskell dependencies
&& npm install -g eslint@8.57 abstract-syntax-tree@2.22 \
# Haskell dependencies \
&& cabal update \
&& cabal v1-install --global aeson \
# Make sure the students can't find our secret path, which is mounted in
Expand Down

0 comments on commit 33c5262

Please sign in to comment.