Skip to content

Commit 33e8f8c

Browse files
committed
tiericpc
1 parent a83a48e commit 33e8f8c

File tree

4 files changed

+88
-3
lines changed

4 files changed

+88
-3
lines changed

.github/workflows/docker.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- uses: actions/checkout@v4
12+
- name: Build tier icpc Docker image
13+
run: make TAG=amd64-latest image-tiericpc
14+
- name: Test tier icpc Docker image
15+
run: make TAG=amd64-latest test-tiericpc
1216
- name: Build tier 1 Docker image
1317
run: make TAG=amd64-latest image-tier1
1418
- name: Test tier 1 Docker image
@@ -28,6 +32,10 @@ jobs:
2832
docker push vnoj/runtimes-tier1:amd64-latest
2933
docker push vnoj/runtimes-tier2:amd64-latest
3034
docker push vnoj/runtimes-tier3:amd64-latest
35+
docker push vnoj/runtimes-tiericpc:amd64-latest
36+
docker run -v "$(pwd)":/code mplatform/manifest-tool \
37+
--username="$DOCKER_USERNAME" --password="$DOCKER_PASSWORD" \
38+
push from-spec /code/tiericpc/manifest.yml
3139
docker run -v "$(pwd)":/code mplatform/manifest-tool \
3240
--username="$DOCKER_USERNAME" --password="$DOCKER_PASSWORD" \
3341
push from-spec /code/tier1/manifest.yml

Makefile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
TAG ?= latest
22

3-
.PHONY: all image-tier1 image-tier2 image-tier3 test-tier1 test-tier2 test-tier3
3+
.PHONY: all image-tiericpc image-tier1 image-tier2 image-tier3 test-tiericpc test-tier1 test-tier2 test-tier3
44

5-
all: image-tier1 image-tier2 image-tier3
5+
all: image-tiericpc image-tier1 image-tier2 image-tier3
6+
7+
image-tiericpc:
8+
cd tiericpc && docker build -t vnoj/runtimes-tiericpc -t vnoj/runtimes-tiericpc:$(TAG) -t ghcr.io/vnoj/runtimes-tiericpc:$(TAG) .
69

710
image-tier1:
811
cd tier1 && docker build -t vnoj/runtimes-tier1 -t vnoj/runtimes-tier1:$(TAG) -t ghcr.io/vnoj/runtimes-tier1:$(TAG) .
@@ -13,7 +16,10 @@ image-tier2: image-tier1
1316
image-tier3: image-tier2
1417
cd tier3 && docker build -t vnoj/runtimes-tier3 -t vnoj/runtimes-tier3:$(TAG) -t ghcr.io/vnoj/runtimes-tier3:$(TAG) .
1518

16-
test: test-tier1 test-tier2 test-tier3
19+
test: test-tiericpc test-tier1 test-tier2 test-tier3
20+
21+
test-tiericpc:
22+
docker run --rm -v "`pwd`/test":/code --cap-add=SYS_PTRACE vnoj/runtimes-tiericpc
1723

1824
test-tier1:
1925
docker run --rm -v "`pwd`/test":/code --cap-add=SYS_PTRACE vnoj/runtimes-tier1

tiericpc/Dockerfile

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
FROM ubuntu:jammy AS base
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
curl file gcc g++ python3-full python3-pip python3-dev python3-setuptools python3-wheel cython3 libseccomp-dev bzip2 unzip \
6+
fp-compiler tini ca-certificates-java \
7+
$([ "$(arch)" = aarch64 ] && echo binutils-arm-linux-gnueabihf)
8+
9+
RUN if [ "$(arch)" = x86_64 ]; then DEB_ARCH=amd64; else DEB_ARCH=arm64; fi && \
10+
if [ "$(arch)" = x86_64 ]; then OPENJDK_BUILD=24567508; else OPENJDK_BUILD=24567509; fi && \
11+
OPENJDK_FILES_URL="https://launchpad.net/~openjdk-security/+archive/ubuntu/ppa/+build/$OPENJDK_BUILD/+files" && \
12+
curl -L -O $OPENJDK_FILES_URL/openjdk-17-jdk-headless_17.0.5+8-2ubuntu1~22.04_$DEB_ARCH.deb && \
13+
curl -L -O $OPENJDK_FILES_URL/openjdk-17-jre-headless_17.0.5+8-2ubuntu1~22.04_$DEB_ARCH.deb && \
14+
dpkg -i *.deb && rm *.deb
15+
16+
RUN if [ "$(arch)" = x86_64 ]; then DEB_ARCH=amd64; else DEB_ARCH=arm64; fi && \
17+
if [ "$(arch)" = x86_64 ]; then GCC_BUILD=23596444; else GCC_BUILD=23596445; fi && \
18+
GCC_FILES_URL="https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/ppa/+build/$GCC_BUILD/+files" && \
19+
curl -L -O $GCC_FILES_URL/cpp-11_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
20+
curl -L -O $GCC_FILES_URL/g++-11_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
21+
curl -L -O $GCC_FILES_URL/gcc-11_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
22+
curl -L -O $GCC_FILES_URL/gcc-11-base_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
23+
curl -L -O $GCC_FILES_URL/libasan6_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
24+
curl -L -O $GCC_FILES_URL/libgcc-11-dev_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
25+
curl -L -O $GCC_FILES_URL/libstdc++-11-dev_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
26+
curl -L -O $GCC_FILES_URL/libtsan0_11.3.0-1ubuntu1~22.04_$DEB_ARCH.deb && \
27+
dpkg -i *.deb && rm *.deb
28+
29+
RUN curl -L -okotlin.zip https://github.com/JetBrains/kotlin/releases/download/v1.7.21/kotlin-compiler-1.7.21.zip && \
30+
unzip kotlin.zip && mv kotlinc /opt/kotlin && rm kotlin.zip
31+
32+
RUN apt-get clean && rm -rf /var/lib/apt/lists/* && \
33+
useradd -m judge
34+
35+
FROM base AS build
36+
37+
RUN apt-get update && apt-get install -y dpkg-dev devscripts equivs
38+
39+
RUN mkdir /build-pypy3 && \
40+
cd /build-pypy3 && \
41+
curl -L -O https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/pypy3/7.3.10+dfsg-1/pypy3_7.3.10+dfsg-1.dsc && \
42+
curl -L -O https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/pypy3/7.3.10+dfsg-1/pypy3_7.3.10+dfsg.orig-cpython27.tar.xz && \
43+
curl -L -O https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/pypy3/7.3.10+dfsg-1/pypy3_7.3.10+dfsg.orig.tar.xz && \
44+
curl -L -O https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/pypy3/7.3.10+dfsg-1/pypy3_7.3.10+dfsg-1.debian.tar.xz && \
45+
dpkg-source -x pypy3_7.3.10+dfsg-1.dsc && \
46+
cd pypy3-7.3.10+dfsg && \
47+
mk-build-deps && apt-get install -y ./pypy3-build-deps_7.3.10+dfsg-1_all.deb && \
48+
dpkg-buildpackage -us -uc -b
49+
50+
FROM base AS main
51+
52+
COPY --from=build /build-pypy3/pypy3-lib_7.3.10+dfsg-1_amd64.deb pypy3-lib_7.3.10+dfsg-1_amd64.deb
53+
COPY --from=build /build-pypy3/pypy3_7.3.10+dfsg-1_amd64.deb pypy3_7.3.10+dfsg-1_amd64.deb
54+
55+
RUN dpkg -i pypy3-lib_7.3.10+dfsg-1_amd64.deb && dpkg -i pypy3_7.3.10+dfsg-1_amd64.deb && rm -rf *.deb
56+
57+
ENV PATH="/opt/kotlin/bin:${PATH}"
58+
59+
ENTRYPOINT ["/usr/bin/tini", "/code/run"]

tiericpc/manifest.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
image: vnoj/runtimes-tiericpc:latest
2+
manifests:
3+
-
4+
image: vnoj/runtimes-tiericpc:amd64-latest
5+
platform:
6+
architecture: amd64
7+
os: linux
8+
-
9+
image: vnoj/runtimes-tiericpc:aarch64-latest
10+
platform:
11+
architecture: arm64
12+
os: linux

0 commit comments

Comments
 (0)