-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake.sh
executable file
·48 lines (41 loc) · 1.73 KB
/
make.sh
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env bash
set -ex
docker build --pull --squash -t ghcr.io/katamaran-project/coq:base base
docker image push ghcr.io/katamaran-project/coq:base
for conf in $(jq -c '.[]' versions.json); do
coqversion=$(echo "${conf}" | jq -r '.coq')
irisversions=$(echo "${conf}" | jq -c '.iris')
equationsversions=$(echo "${conf}" | jq -c '.equations')
coqtag="${coqversion}"
docker build --squash -t "ghcr.io/katamaran-project/coq:$coqtag" - <<- EOF
FROM ghcr.io/katamaran-project/coq:base
RUN set -x \\
&& opam pin add -vyj\$(nproc) coq "${coqversion}" \\
&& opam clean -acrs --logs \\
&& opam config list && opam list
EOF
docker image push "ghcr.io/katamaran-project/coq:$coqtag"
for irisversion in $(echo "${irisversions}" | jq -cr '.[]'); do
iristag="${coqtag}_iris-${irisversion}"
docker build --squash -t "ghcr.io/katamaran-project/coq:$iristag" - <<- EOF
FROM ghcr.io/katamaran-project/coq:$coqtag
RUN set -x \\
&& opam install -vyj\$(nproc) --ignore-constraints-on coq coq-iris=${irisversion} \\
&& opam clean -acrs --logs \\
&& opam config list && opam list
EOF
docker image push "ghcr.io/katamaran-project/coq:$iristag"
for equationsversion in $(echo "${equationsversions}" | jq -cr '.[]'); do
equationstag="$(echo "${equationsversion}" | sed 's/+.*$//')"
equationstag="${coqtag}_iris-${irisversion}_equations-${equationstag}"
docker build --squash -t "ghcr.io/katamaran-project/coq:$equationstag" - <<- EOF
FROM ghcr.io/katamaran-project/coq:$iristag
RUN set -x \\
&& opam install -vyj\$(nproc) coq-equations=${equationsversion} \\
&& opam clean -acrs --logs \\
&& opam config list && opam list
EOF
docker image push "ghcr.io/katamaran-project/coq:$equationstag"
done
done
done