Skip to content

Commit 6979f91

Browse files
committed
Ubuntu is the default image
1 parent e79d853 commit 6979f91

File tree

8 files changed

+44
-46
lines changed

8 files changed

+44
-46
lines changed

Dockerfile

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
FROM alpine:3.17 AS builder
1+
FROM ubuntu:22.04 AS Builder
22

33
ENV OPAMROOT=/opt/ocaml
44

55
RUN set -ex; \
66
mkdir -p $OPAMROOT; \
7-
adduser -D codewarrior; \
8-
chown -R codewarrior:codewarrior /opt/ocaml; \
9-
apk update; \
10-
apk add --virtual .build-deps \
11-
build-base \
12-
ocaml-compiler-libs \
13-
gmp-dev \
7+
useradd --create-home codewarrior; \
8+
chown codewarrior:codewarrior $OPAMROOT; \
9+
apt-get update; \
10+
apt-get install -y --no-install-recommends \
11+
software-properties-common \
12+
libgmp-dev \
1413
opam \
1514
;
1615

@@ -31,14 +30,16 @@ RUN set -ex; \
3130
'zarith=1.12' \
3231
;
3332

34-
FROM alpine:3.17
33+
FROM ubuntu:22.04
3534

3635
RUN set -ex; \
37-
apk add --no-cache \
36+
apt-get update; \
37+
apt-get install -y --no-install-recommends \
3838
gcc \
39-
gmp-dev \
40-
musl-dev \
41-
;
39+
libc6-dev \
40+
libgmp-dev \
41+
; \
42+
rm -rf /var/lib/apt/lists/*;
4243

4344
COPY --from=builder \
4445
/opt/ocaml/5.0.0/bin/ocamlc.opt \
@@ -51,13 +52,13 @@ COPY --from=builder \
5152
/opt/ocaml/5.0.0/lib/ /opt/ocaml/5.0.0/lib/
5253

5354
RUN set -ex; \
54-
adduser -D codewarrior; \
55-
mkdir /workspace; \
55+
useradd --create-home codewarrior; \
56+
mkdir -p /workspace; \
5657
chown -R codewarrior:codewarrior /workspace;
5758

5859
USER codewarrior
5960
ENV USER=codewarrior \
6061
PATH=/opt/ocaml/5.0.0/bin:$PATH
6162

6263
COPY --chown=codewarrior:codewarrior workspace/. /workspace/
63-
WORKDIR /workspace
64+
WORKDIR /workspace

DockerfileUbuntu renamed to DockerfileAlpine

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
FROM ubuntu:22.04 AS Builder
1+
FROM alpine:3.17 AS builder
22

33
ENV OPAMROOT=/opt/ocaml
44

55
RUN set -ex; \
66
mkdir -p $OPAMROOT; \
7-
useradd --create-home codewarrior; \
8-
chown codewarrior:codewarrior $OPAMROOT; \
9-
apt-get update; \
10-
apt-get install -y --no-install-recommends \
11-
software-properties-common \
12-
libgmp-dev \
7+
adduser -D codewarrior; \
8+
chown -R codewarrior:codewarrior /opt/ocaml; \
9+
apk update; \
10+
apk add --virtual .build-deps \
11+
build-base \
12+
ocaml-compiler-libs \
13+
gmp-dev \
1314
opam \
1415
;
1516

@@ -30,16 +31,14 @@ RUN set -ex; \
3031
'zarith=1.12' \
3132
;
3233

33-
FROM ubuntu:22.04
34+
FROM alpine:3.17
3435

3536
RUN set -ex; \
36-
apt-get update; \
37-
apt-get install -y --no-install-recommends \
37+
apk add --no-cache \
3838
gcc \
39-
libc6-dev \
40-
libgmp-dev \
41-
; \
42-
rm -rf /var/lib/apt/lists/*;
39+
gmp-dev \
40+
musl-dev \
41+
;
4342

4443
COPY --from=builder \
4544
/opt/ocaml/5.0.0/bin/ocamlc.opt \
@@ -52,13 +51,13 @@ COPY --from=builder \
5251
/opt/ocaml/5.0.0/lib/ /opt/ocaml/5.0.0/lib/
5352

5453
RUN set -ex; \
55-
useradd --create-home codewarrior; \
56-
mkdir -p /workspace; \
54+
adduser -D codewarrior; \
55+
mkdir /workspace; \
5756
chown -R codewarrior:codewarrior /workspace;
5857

5958
USER codewarrior
6059
ENV USER=codewarrior \
6160
PATH=/opt/ocaml/5.0.0/bin:$PATH
6261

6362
COPY --chown=codewarrior:codewarrior workspace/. /workspace/
64-
WORKDIR /workspace
63+
WORKDIR /workspace

bin/alpine_build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docker build -f DockerfileAlpine -t ocaml:alpine .

bin/alpine_run

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export IMAGE=ocaml:alpine
2+
exec "$(dirname "$0")/run" "$@"

bin/build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
docker build -t ocaml:alpine .
1+
docker build -t ghcr.io/codewars/ocaml:latest .

bin/run

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1+
set -eu
2+
3+
if [ -z "${IMAGE:+x}" ]; then
4+
IMAGE=ghcr.io/codewars/ocaml:latest
5+
fi
6+
17
W=/workspace
28
# Create container
39
BUILD="ocamlbuild -quiet -use-ocamlfind cwtest.native"
4-
C=$(docker container create --rm -w $W ocaml:alpine sh -c "$BUILD && exec ./cwtest.native")
10+
C=$(docker container create --rm -w $W $IMAGE sh -c "$BUILD && exec ./cwtest.native")
511

612
# Copy files
713
docker container cp ${1:-examples/basic}/. $C:$W

bin/ubuntu_build

Lines changed: 0 additions & 1 deletion
This file was deleted.

bin/ubuntu_run

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)