-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
executable file
·29 lines (17 loc) · 1.04 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# TODO: implement tiered docker images
# tier 1: gcc python3 python2 clang fpc pypy3 go
# tier 2: more runtimes such as kotlin, java, csharp, etc..
# tier 3: rarely used languages like brainfuck, whitespace, moo, ...
FROM --platform=${BUILDPLATFORM} debian:bookworm-slim AS base
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install -y --no-install-recommends wget apt-transport-https ca-certificates
RUN mkdir -p /etc/apt/keyrings
RUN wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc
COPY igloo-runner.list /etc/apt/sources.list.d/igloo-runner.list
RUN apt clean
FROM --platform=${BUILDPLATFORM} base AS tier-1
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install --no-install-recommends -y gcc-12 python3.11 python2.7 clang-15 fpc pypy3
FROM --platform=${BUILDPLATFORM} tier-1 AS tier-2
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install --no-install-recommends -y golang-1.21-go mono-runtime temurin-21-jdk temurin-17-jdk temurin-11-jdk temurin-8-jdk ruby3.1