Build:
  1. 0
2026-06-20 18:03.52: New job: Build Dockerfile using linux-x86_64 in
                                [https://github.com/ocaml-opam/opam2web.git#refs/heads/live (d9ae0061862d72004d81e35657251de4f72643ff)]
2026-06-20 18:03.52: Will push staging image to ocurrentbuilder/staging:live-ocurrent-opam.ocaml.org-linux-x86_64
2026-06-20 18:03.52: Using cache hint "https://github.com/ocaml-opam/opam2web.git-Dockerfile"
2026-06-20 18:03.53: Waiting for worker…
2026-06-20 18:03.53: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
Submodule path 'content/doc': checked out '13a77b2bc576763bfa469ca3ef6f139402b7357b'
HEAD is now at d9ae006 Merge pull request #255 from kit-ty-kate/menu-api-manpages
Synchronizing submodule url for 'content/doc'
Cleared directory 'content/doc'
Submodule 'content/doc' (https://github.com/ocaml/opam.wiki.git) unregistered for path 'content/doc'
Submodule 'content/doc' (https://github.com/ocaml/opam.wiki.git) registered for path 'content/doc'
Submodule path 'content/doc': checked out '13a77b2bc576763bfa469ca3ef6f139402b7357b'
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 3.47kB done
#1 DONE 0.0s

#2 resolve image config for docker-image://docker.io/docker/dockerfile:1.3
#2 DONE 0.2s

#3 docker-image://docker.io/docker/dockerfile:1.3@sha256:42399d4635eddd7a9b8a24be879d2f9a930d0ed040a61324cfdf59ef1357b3b2
#3 resolve docker.io/docker/dockerfile:1.3@sha256:42399d4635eddd7a9b8a24be879d2f9a930d0ed040a61324cfdf59ef1357b3b2 0.0s done
#3 CACHED

#4 [internal] load .dockerignore
#4 transferring context: 53B done
#4 DONE 0.0s

#5 [internal] load metadata for docker.io/ocaml/opam:alpine-3.20-ocaml-4.14
#5 DONE 0.4s

#6 [internal] load metadata for docker.io/ocaml/opam:archive
#6 DONE 0.4s

#7 [build-opam-doc  1/15] FROM docker.io/ocaml/opam:alpine-3.20-ocaml-4.14@sha256:f92b268390a2ea23f1e5a779f5cf75454639ec00650fa9def72c458bec72ddf4
#7 resolve docker.io/ocaml/opam:alpine-3.20-ocaml-4.14@sha256:f92b268390a2ea23f1e5a779f5cf75454639ec00650fa9def72c458bec72ddf4 0.0s done
#7 DONE 0.0s

#8 [stage-2  1/16] FROM docker.io/ocaml/opam:archive@sha256:4e155cb7b53112a692768818ef5c3c7ecff3310daa71b47cbeb70235b6e229e9
#8 resolve docker.io/ocaml/opam:archive@sha256:4e155cb7b53112a692768818ef5c3c7ecff3310daa71b47cbeb70235b6e229e9 0.0s done
#8 DONE 0.0s

#9 [internal] load build context
#9 transferring context: 1.16MB 0.1s done
#9 DONE 0.3s

#10 [stage-2  7/16] ADD bin/opam-web.sh /usr/local/bin
#10 CACHED

#11 [build-opam-doc  6/15] RUN opam install odoc
#11 CACHED

#12 [stage-2  6/16] COPY ext/key/opam-dev-team.pgp /www/opam-dev-pubkey.pgp
#12 CACHED

#13 [stage-2  4/16] COPY --from=build-opam-doc /usr/bin/opam-dev /usr/local/bin/opam
#13 CACHED

#14 [stage-2  9/16] RUN echo 6149a0b6430c739f5a02d3315b47e16c76ebd91b >> /www/blog_git_sha
#14 CACHED

#15 [stage-2  3/16] COPY --from=build-opam2web /opt/opam2web /usr/local
#15 CACHED

#16 [build-opam2web  3/14] COPY --chown=opam:opam . /home/opam/opam2web
#16 CACHED

#17 [stage-2  8/16] RUN echo 38b8d4531633db2f927868caf84e5a9b8992229e >> /www/opam_git_sha
#17 CACHED

#18 [build-opam-doc 13/15] RUN cp -r doc/html /opt/opam/doc/api
#18 CACHED

#19 [build-opam2web  6/14] RUN sudo mv /usr/bin/opam-2.3 /usr/bin/opam && opam update
#19 CACHED

#20 [build-opam-doc  9/15] RUN opam exec -- ./configure --with-vendored-deps --without-mccs && opam exec -- make lib-ext && opam exec -- make
#20 CACHED

#21 [build-opam-doc 10/15] RUN echo '(vendored_dirs src_ext)' >> dune
#21 CACHED

#22 [build-opam-doc 14/15] RUN cp -r doc/man-html /opt/opam/doc/man
#22 CACHED

#23 [build-opam-doc 12/15] RUN sudo mkdir -p /opt/opam/doc && sudo chown -R opam:opam /opt/opam
#23 CACHED

#24 [build-opam2web 14/14] RUN git clone https://github.com/ocaml/opam --depth 1 -b 1.2 /tmp/opam-1.2     && mv /tmp/opam-1.2/doc/pages /opt/opam2web/share/opam2web/content/doc/1.2     && rm -rf /tmp/opam-1.2
#24 CACHED

#25 [build-opam2web 13/14] RUN git clone https://github.com/ocaml/opam.wiki.git --depth 1 -b old_wiki /opt/opam2web/share/opam2web/content/doc/1.1     && rm -rf /opt/opam2web/share/opam2web/content/doc/1.1/.git
#25 CACHED

#26 [stage-2  2/16] RUN apk add --update git curl rsync libstdc++ rdfind caddy
#26 CACHED

#27 [build-opam2web  2/14] RUN sudo apk add g++ gmp-dev
#27 CACHED

#28 [build-opam2web 12/14] RUN rm -rf /opt/opam2web/share/opam2web/doc
#28 CACHED

#29 [build-opam-doc  5/15] RUN opam option --global 'archive-mirrors+="https://opam.ocaml.org/cache"'
#29 CACHED

#30 [build-opam2web  9/14] RUN opam install . --destdir /opt/opam2web
#30 CACHED

#31 [stage-2 10/16] RUN echo 65fa20ed7d17aa13482d60962924ff61888b87de >> /www/doc_git_sha
#31 CACHED

#32 [build-opam-doc  2/15] RUN sudo apk add cgit groff
#32 CACHED

#33 [build-opam2web  5/14] RUN sudo mkdir -p /opt/opam2web && sudo chown opam:opam /opt/opam2web
#33 CACHED

#34 [build-opam-doc  4/15] RUN sudo mv /usr/bin/opam-2.3 /usr/bin/opam && opam update
#34 CACHED

#35 [build-opam-doc  8/15] WORKDIR /home/opam/opam
#35 CACHED

#36 [build-opam-doc 11/15] RUN opam exec -- make -C doc html man-html DUNE=dune
#36 CACHED

#37 [stage-2 14/16] RUN /usr/local/bin/opam-web.sh opam.ocaml.org 38b8d4531633db2f927868caf84e5a9b8992229e 6149a0b6430c739f5a02d3315b47e16c76ebd91b
#37 CACHED

#38 [build-opam2web 11/14] RUN rm -rf /opt/opam2web/share/opam2web/lib
#38 CACHED

#39 [stage-2 12/16] RUN cp -r /usr/local/share/opam2web/content/doc/api /www/doc/api
#39 CACHED

#40 [build-opam-doc 15/15] RUN cp -r doc/pages/* /opt/opam/doc/
#40 CACHED

#41 [stage-2 15/16] WORKDIR /srv
#41 CACHED

#42 [build-opam2web  8/14] RUN opam option --global 'archive-mirrors+="https://opam.ocaml.org/cache"'
#42 CACHED

#43 [build-opam-doc  7/15] RUN git clone https://github.com/ocaml/opam /home/opam/opam     && git -C /home/opam/opam checkout 65fa20ed7d17aa13482d60962924ff61888b87de
#43 CACHED

#44 [build-opam2web  7/14] RUN opam repo set-url default git+https://github.com/ocaml/opam-repository.git#38b8d4531633db2f927868caf84e5a9b8992229e
#44 CACHED

#45 [build-opam-doc  3/15] RUN sudo mkdir -p /usr/local/bin     && echo -e '#!/bin/sh\n                set -euo pipefail\n                echo\n                echo\n                echo "<!DOCTYPE html>"\n                echo "<HTML><HEAD><TITLE>$(basename $2 .1) manpage</TITLE></HEAD><BODY>"\n                /usr/lib/cgit/filters/html-converters/man2html <$2\n                echo "</BODY></HTML>"\n'        | sudo tee /usr/local/bin/man2html     && sudo chmod a+x /usr/local/bin/man2html
#45 CACHED

#46 [stage-2  5/16] COPY --from=build-opam-doc /opt/opam/doc /usr/local/share/opam2web/content/doc
#46 CACHED

#47 [stage-2 13/16] RUN cp -r /usr/local/share/opam2web/content/doc/man /www/doc/man
#47 CACHED

#48 [build-opam2web  4/14] WORKDIR /home/opam/opam2web
#48 CACHED

#49 [stage-2 11/16] RUN mkdir -p /www/doc
#49 CACHED

#50 [build-opam2web 10/14] RUN cp -r content /opt/opam2web/share/opam2web/
#50 CACHED

#51 [stage-2 16/16] COPY Caddyfile /etc/caddy/Caddyfile
#51 CACHED

#52 exporting to image
#52 exporting layers 0.0s done
#52 exporting manifest sha256:99b7db7d324507ccf1b53820e2600ae33e78f2b21016d5fe3ece7a5795ab7dd6 done
#52 exporting config sha256:a1c02b991e3ef7d159630631fe12d78aa22078c34d566e0b3e57f700fe7c2caf done
#52 exporting attestation manifest sha256:0fb456db87c0661d8c2b016d58a0fcf5c02f8764aec823cd5057b6253cdcfbe6 done
#52 exporting manifest list sha256:0511336ab73bd2ca7ed5bb07c82c96034c998a4452a27b484016a801647f3d78 done
#52 naming to moby-dangling@sha256:0511336ab73bd2ca7ed5bb07c82c96034c998a4452a27b484016a801647f3d78 done
#52 unpacking to moby-dangling@sha256:0511336ab73bd2ca7ed5bb07c82c96034c998a4452a27b484016a801647f3d78 0.0s done
#52 DONE 0.1s
Pushing "sha256:0511336ab73bd2ca7ed5bb07c82c96034c998a4452a27b484016a801647f3d78" to "ocurrentbuilder/staging:live-ocurrent-opam.ocaml.org-linux-x86_64" as user "ocurrentbuilder"
Login Succeeded
The push refers to repository [docker.io/ocurrentbuilder/staging]
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
f3fec09e9960: Layer already exists
9ea59e3430c2: Waiting
7231be9fee3c: Waiting
284dac1157e2: Waiting
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
57a673cd6274: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
9ea59e3430c2: Waiting
7231be9fee3c: Layer already exists
284dac1157e2: Layer already exists
7b4ce17d1405: Waiting
541695b1ec85: Waiting
7b98be022144: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Waiting
29ff4c6c561c: Waiting
218dbee6ab60: Waiting
ad1e79e9c788: Waiting
16db156d467f: Waiting
4f4fb700ef54: Waiting
7f9f13018c9d: Waiting
7dd9f1e3e19b: Waiting
d91262a028b5: Layer already exists
29ff4c6c561c: Layer already exists
218dbee6ab60: Waiting
57a673cd6274: Layer already exists
21e7fdb11d87: Waiting
87bb456763d0: Waiting
55afa1ecc21d: Waiting
9ea59e3430c2: Waiting
7b4ce17d1405: Layer already exists
541695b1ec85: Waiting
7b98be022144: Layer already exists
7f9f13018c9d: Layer already exists
7dd9f1e3e19b: Waiting
218dbee6ab60: Layer already exists
21e7fdb11d87: Layer already exists
87bb456763d0: Layer already exists
55afa1ecc21d: Layer already exists
9ea59e3430c2: Layer already exists
541695b1ec85: Waiting
ad1e79e9c788: Layer already exists
16db156d467f: Layer already exists
4f4fb700ef54: Layer already exists
541695b1ec85: Waiting
541695b1ec85: Waiting
541695b1ec85: Waiting
541695b1ec85: Layer already exists
7dd9f1e3e19b: Pushed
live-ocurrent-opam.ocaml.org-linux-x86_64: digest: sha256:0511336ab73bd2ca7ed5bb07c82c96034c998a4452a27b484016a801647f3d78 size: 856
The push refers to repository [docker.io/ocurrentbuilder/staging]
7b4ce17d1405: Waiting
d91262a028b5: Waiting
4f4fb700ef54: Waiting
87bb456763d0: Waiting
7dd9f1e3e19b: Waiting
f3fec09e9960: Waiting
284dac1157e2: Waiting
9ea59e3430c2: Waiting
21e7fdb11d87: Waiting
55afa1ecc21d: Waiting
7231be9fee3c: Waiting
541695b1ec85: Waiting
7f9f13018c9d: Waiting
ad1e79e9c788: Waiting
57a673cd6274: Waiting
218dbee6ab60: Waiting
7b98be022144: Waiting
29ff4c6c561c: Waiting
16db156d467f: Waiting
57a673cd6274: Waiting
218dbee6ab60: Waiting
7b98be022144: Waiting
29ff4c6c561c: Waiting
16db156d467f: Waiting
7b4ce17d1405: Waiting
d91262a028b5: Waiting
4f4fb700ef54: Waiting
87bb456763d0: Waiting
7dd9f1e3e19b: Waiting
f3fec09e9960: Waiting
284dac1157e2: Waiting
9ea59e3430c2: Waiting
21e7fdb11d87: Waiting
55afa1ecc21d: Waiting
7231be9fee3c: Waiting
541695b1ec85: Waiting
7f9f13018c9d: Waiting
ad1e79e9c788: Waiting
7b98be022144: Waiting
29ff4c6c561c: Waiting
16db156d467f: Waiting
7b4ce17d1405: Waiting
d91262a028b5: Waiting
4f4fb700ef54: Waiting
87bb456763d0: Waiting
7dd9f1e3e19b: Waiting
f3fec09e9960: Waiting
284dac1157e2: Waiting
9ea59e3430c2: Waiting
21e7fdb11d87: Waiting
55afa1ecc21d: Waiting
7231be9fee3c: Waiting
541695b1ec85: Waiting
7f9f13018c9d: Waiting
ad1e79e9c788: Waiting
57a673cd6274: Waiting
218dbee6ab60: Waiting
55afa1ecc21d: Waiting
7231be9fee3c: Waiting
541695b1ec85: Waiting
7f9f13018c9d: Waiting
ad1e79e9c788: Waiting
57a673cd6274: Waiting
218dbee6ab60: Waiting
7b98be022144: Waiting
29ff4c6c561c: Waiting
16db156d467f: Waiting
7b4ce17d1405: Waiting
d91262a028b5: Waiting
4f4fb700ef54: Waiting
87bb456763d0: Waiting
7dd9f1e3e19b: Waiting
f3fec09e9960: Waiting
284dac1157e2: Waiting
9ea59e3430c2: Waiting
21e7fdb11d87: Waiting
87bb456763d0: Waiting
7dd9f1e3e19b: Already exists
f3fec09e9960: Waiting
284dac1157e2: Waiting
9ea59e3430c2: Waiting
21e7fdb11d87: Waiting
55afa1ecc21d: Waiting
7231be9fee3c: Waiting
541695b1ec85: Waiting
7f9f13018c9d: Waiting
ad1e79e9c788: Waiting
57a673cd6274: Waiting
218dbee6ab60: Layer already exists
7b98be022144: Waiting
29ff4c6c561c: Waiting
16db156d467f: Waiting
7b4ce17d1405: Waiting
d91262a028b5: Waiting
4f4fb700ef54: Waiting
7b4ce17d1405: Waiting
d91262a028b5: Waiting
4f4fb700ef54: Waiting
87bb456763d0: Waiting
f3fec09e9960: Layer already exists
284dac1157e2: Waiting
9ea59e3430c2: Waiting
21e7fdb11d87: Waiting
55afa1ecc21d: Waiting
7231be9fee3c: Waiting
541695b1ec85: Waiting
7f9f13018c9d: Waiting
ad1e79e9c788: Waiting
57a673cd6274: Layer already exists
7b98be022144: Waiting
29ff4c6c561c: Waiting
16db156d467f: Waiting
284dac1157e2: Layer already exists
9ea59e3430c2: Layer already exists
21e7fdb11d87: Layer already exists
55afa1ecc21d: Layer already exists
7231be9fee3c: Layer already exists
541695b1ec85: Layer already exists
7f9f13018c9d: Layer already exists
ad1e79e9c788: Layer already exists
7b98be022144: Layer already exists
29ff4c6c561c: Layer already exists
16db156d467f: Layer already exists
7b4ce17d1405: Layer already exists
d91262a028b5: Layer already exists
4f4fb700ef54: Layer already exists
87bb456763d0: Layer already exists
live-ocurrent-opam.ocaml.org-linux-x86_64: digest: sha256:0511336ab73bd2ca7ed5bb07c82c96034c998a4452a27b484016a801647f3d78 size: 856
Job succeeded
2026-06-20 18:04.04: Job succeeded