File tree 8 files changed +44
-46
lines changed
8 files changed +44
-46
lines changed Original file line number Diff line number Diff line change 1
- FROM alpine:3.17 AS builder
1
+ FROM ubuntu:22.04 AS Builder
2
2
3
3
ENV OPAMROOT=/opt/ocaml
4
4
5
5
RUN set -ex; \
6
6
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 \
14
13
opam \
15
14
;
16
15
@@ -31,14 +30,16 @@ RUN set -ex; \
31
30
'zarith=1.12' \
32
31
;
33
32
34
- FROM alpine:3.17
33
+ FROM ubuntu:22.04
35
34
36
35
RUN set -ex; \
37
- apk add --no-cache \
36
+ apt-get update; \
37
+ apt-get install -y --no-install-recommends \
38
38
gcc \
39
- gmp-dev \
40
- musl-dev \
41
- ;
39
+ libc6-dev \
40
+ libgmp-dev \
41
+ ; \
42
+ rm -rf /var/lib/apt/lists/*;
42
43
43
44
COPY --from=builder \
44
45
/opt/ocaml/5.0.0/bin/ocamlc.opt \
@@ -51,13 +52,13 @@ COPY --from=builder \
51
52
/opt/ocaml/5.0.0/lib/ /opt/ocaml/5.0.0/lib/
52
53
53
54
RUN set -ex; \
54
- adduser -D codewarrior; \
55
- mkdir /workspace; \
55
+ useradd --create-home codewarrior; \
56
+ mkdir -p /workspace; \
56
57
chown -R codewarrior:codewarrior /workspace;
57
58
58
59
USER codewarrior
59
60
ENV USER=codewarrior \
60
61
PATH=/opt/ocaml/5.0.0/bin:$PATH
61
62
62
63
COPY --chown=codewarrior:codewarrior workspace/. /workspace/
63
- WORKDIR /workspace
64
+ WORKDIR /workspace
Original file line number Diff line number Diff line change 1
- FROM ubuntu:22.04 AS Builder
1
+ FROM alpine:3.17 AS builder
2
2
3
3
ENV OPAMROOT=/opt/ocaml
4
4
5
5
RUN set -ex; \
6
6
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 \
13
14
opam \
14
15
;
15
16
@@ -30,16 +31,14 @@ RUN set -ex; \
30
31
'zarith=1.12' \
31
32
;
32
33
33
- FROM ubuntu:22.04
34
+ FROM alpine:3.17
34
35
35
36
RUN set -ex; \
36
- apt-get update; \
37
- apt-get install -y --no-install-recommends \
37
+ apk add --no-cache \
38
38
gcc \
39
- libc6-dev \
40
- libgmp-dev \
41
- ; \
42
- rm -rf /var/lib/apt/lists/*;
39
+ gmp-dev \
40
+ musl-dev \
41
+ ;
43
42
44
43
COPY --from=builder \
45
44
/opt/ocaml/5.0.0/bin/ocamlc.opt \
@@ -52,13 +51,13 @@ COPY --from=builder \
52
51
/opt/ocaml/5.0.0/lib/ /opt/ocaml/5.0.0/lib/
53
52
54
53
RUN set -ex; \
55
- useradd --create-home codewarrior; \
56
- mkdir -p /workspace; \
54
+ adduser -D codewarrior; \
55
+ mkdir /workspace; \
57
56
chown -R codewarrior:codewarrior /workspace;
58
57
59
58
USER codewarrior
60
59
ENV USER=codewarrior \
61
60
PATH=/opt/ocaml/5.0.0/bin:$PATH
62
61
63
62
COPY --chown=codewarrior:codewarrior workspace/. /workspace/
64
- WORKDIR /workspace
63
+ WORKDIR /workspace
Original file line number Diff line number Diff line change
1
+ docker build -f DockerfileAlpine -t ocaml:alpine .
Original file line number Diff line number Diff line change
1
+ export IMAGE=ocaml:alpine
2
+ exec "$(dirname "$0")/run" "$@"
Original file line number Diff line number Diff line change 1
- docker build -t ocaml:alpine .
1
+ docker build -t ghcr.io/codewars/ ocaml:latest .
Original file line number Diff line number Diff line change
1
+ set -eu
2
+
3
+ if [ -z "${IMAGE:+x}" ]; then
4
+ IMAGE=ghcr.io/codewars/ocaml:latest
5
+ fi
6
+
1
7
W=/workspace
2
8
# Create container
3
9
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")
5
11
6
12
# Copy files
7
13
docker container cp ${1:-examples/basic}/. $C:$W
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments