Organisationsocurrentocaml-ci16174f ()(lint-doc)

(lint-doc)

Link Copied
Code Copied

Logs

2026-02-27 18:45.11: New job: test ocurrent/ocaml-ci https://github.com/ocurrent/ocaml-ci.git#refs/heads/live-engine (16174f97e2928db814796900fa05caf8cf08810e) (linux-x86_64:(lint-doc))
Base: ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216
Opam project lint documentation


To reproduce locally:


git clone --recursive "https://github.com/ocurrent/ocaml-ci.git" -b "live-engine" && cd "ocaml-ci" && git reset --hard 16174f97
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216
# alpine-3.22-4.14_opam-2.5
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e d525ee04d3e36d787366d6b05f7f0d1b6395394a || git fetch origin master) && git reset -q --hard d525ee04d3e36d787366d6b05f7f0d1b6395394a && git log --no-decorate -n1 --oneline && opam update -u
RUN mkdir -p 'solver-service/' 'ocurrent/' 'ocluster/' 'ocluster/obuilder/' 'ocluster/' 'ocaml-version/' 'ocaml-dockerfile/'
COPY --chown=1000:1000 solver-service/solver-worker.opam solver-service/solver-service.opam solver-service/solver-service-api.opam solver-service/
COPY --chown=1000:1000 ocurrent/current_web.opam ocurrent/current_ssh.opam ocurrent/current_slack.opam ocurrent/current_rpc.opam ocurrent/current_gitlab.opam ocurrent/current_github.opam ocurrent/current_git.opam ocurrent/current_examples.opam ocurrent/current_docker.opam ocurrent/current.opam ocurrent/
COPY --chown=1000:1000 ocluster/ocluster.opam ocluster/ocluster-worker.opam ocluster/ocluster-api.opam ocluster/
COPY --chown=1000:1000 ocluster/obuilder/obuilder.opam ocluster/obuilder/obuilder-spec.opam ocluster/obuilder/
COPY --chown=1000:1000 ocluster/current_ocluster.opam ocluster/
COPY --chown=1000:1000 ocaml-version/ocaml-version.opam ocaml-version/
COPY --chown=1000:1000 ocaml-dockerfile/dockerfile.opam ocaml-dockerfile/dockerfile-opam.opam ocaml-dockerfile/dockerfile-cmd.opam ocaml-dockerfile/
COPY --chown=1000:1000 ocaml-ci.opam ocaml-ci-web.opam ocaml-ci-service.opam ocaml-ci-gitlab.opam ocaml-ci-client.opam ocaml-ci-api.opam ./
RUN opam pin add -yn solver-worker.dev 'solver-service/' && \
opam pin add -yn solver-service.dev 'solver-service/' && \
opam pin add -yn solver-service-api.dev 'solver-service/' && \
opam pin add -yn current_web.dev 'ocurrent/' && \
opam pin add -yn current_ssh.dev 'ocurrent/' && \
opam pin add -yn current_slack.dev 'ocurrent/' && \
opam pin add -yn current_rpc.dev 'ocurrent/' && \
opam pin add -yn current_gitlab.dev 'ocurrent/' && \
opam pin add -yn current_github.dev 'ocurrent/' && \
opam pin add -yn current_git.dev 'ocurrent/' && \
opam pin add -yn current_examples.dev 'ocurrent/' && \
opam pin add -yn current_docker.dev 'ocurrent/' && \
opam pin add -yn current.dev 'ocurrent/' && \
opam pin add -yn ocluster.dev 'ocluster/' && \
opam pin add -yn ocluster-worker.dev 'ocluster/' && \
opam pin add -yn ocluster-api.dev 'ocluster/' && \
opam pin add -yn obuilder.dev 'ocluster/obuilder/' && \
opam pin add -yn obuilder-spec.dev 'ocluster/obuilder/' && \
opam pin add -yn current_ocluster.dev 'ocluster/' && \
opam pin add -yn ocaml-version.dev 'ocaml-version/' && \
opam pin add -yn dockerfile.dev 'ocaml-dockerfile/' && \
opam pin add -yn dockerfile-opam.dev 'ocaml-dockerfile/' && \
opam pin add -yn dockerfile-cmd.dev 'ocaml-dockerfile/' && \
opam pin add -yn ocaml-ci.dev './' && \
opam pin add -yn ocaml-ci-web.dev './' && \
opam pin add -yn ocaml-ci-service.dev './' && \
opam pin add -yn ocaml-ci-gitlab.dev './' && \
opam pin add -yn ocaml-ci-client.dev './' && \
opam pin add -yn ocaml-ci-api.dev './'
RUN echo '(lang dune 3.0)' > 'solver-service/dune-project' && \
echo '(lang dune 3.0)' > 'ocurrent/dune-project' && \
echo '(lang dune 3.0)' > 'ocluster/dune-project' && \
echo '(lang dune 3.0)' > 'ocluster/obuilder/dune-project' && \
echo '(lang dune 3.0)' > 'ocluster/dune-project' && \
echo '(lang dune 3.0)' > 'ocaml-version/dune-project' && \
echo '(lang dune 3.0)' > 'ocaml-dockerfile/dune-project' && \
echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="0install-solver.2.18 alcotest.1.9.1 alcotest-lwt.1.9.1 angstrom.0.16.1 ansi.0.7.0 arp.3.1.1 asetmap.0.8.1 asn1-combinators.0.2.6 astring.0.8.5 atd.2.16.0 atdgen.2.15.0 atdgen-runtime.2.16.0 awa.0.3.0 awa-mirage.0.3.0 base.v0.16.4 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.2 bigarray-compat.1.1.0 bigstringaf.0.10.0 biniou.1.2.2 bos.0.2.1 bstr.0.0.4 ca-certs.0.2.3 ca-certs-nss.3.101 camlp-streams.5.0.1 capnp.3.6.0 capnp-rpc.1.2.3 capnp-rpc-lwt.1.2.3 capnp-rpc-net.1.2.3 capnp-rpc-unix.1.2.3 caqti.2.2.4 caqti-lwt.2.2.4 carton.0.7.2 carton-git.0.7.2 carton-lwt.0.7.2 cf.0.5.0 cf-lwt.0.5.0 checkseum.0.5.2 cmdliner.1.3.0 cohttp.6.0.0 cohttp-lwt.6.0.0 cohttp-lwt-unix.6.0.0 conduit.6.2.3 conduit-lwt.6.2.3 conduit-lwt-unix.6.2.3 conf-capnproto.2 conf-git.1.1 conf-gmp.5 conf-gmp-powm-sec.4 conf-graphviz.0.1 conf-libev.4-13 conf-libffi.2.0.0 conf-libssl.4 conf-pkg-config.4 conf-sqlite3.1 cppo.1.8.0 crunch.4.0.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 cstruct-unix.6.2.0 csv.2.4 ctypes.0.24.0 ctypes-foreign.0.24.0 current.dev current_docker.dev current_git.dev current_github.dev current_gitlab.dev current_incr.0.6.1 current_ocluster.dev current_rpc.dev current_web.dev decompress.1.5.3 digestif.1.3.0 dns.7.0.3 dns-client.7.0.3 dns-client-lwt.7.0.3 dns-client-mirage.7.0.3 dockerfile.dev dockerfile-opam.dev domain-name.0.5.0 dream.1.0.0~alpha6 dream-httpaf.1.0.0~alpha3 dream-pure.1.0.0~alpha2 duff.0.5 dune.3.21.1 dune-build-info.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 duration.0.2.1 dyn.3.21.1 easy-format.1.3.4 emile.1.1 encore.0.8.1 eqaf.0.9 ethernet.3.2.0 extunix.0.4.3 ezjsonm.1.3.0 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 fsevents.0.3.0 fsevents-lwt.0.3.0 git.3.15.0 git-mirage.3.15.0 git-paf.3.15.0 git-unix.3.15.0 github.4.5.0 github-data.4.5.0 github-unix.4.5.0 gitlab.0.1.8 gitlab-unix.0.1.8 gmap.0.3.0 graphql.0.14.0 graphql-lwt.0.14.0 graphql_parser.0.14.0 h2.0.13.0 happy-eyeballs.0.6.0 happy-eyeballs-lwt.0.6.0 happy-eyeballs-mirage.0.6.0 hex.1.5.0 hkdf.1.0.4 hmap.0.8.1 hpack.0.13.0 http.6.0.0 httpaf.0.7.1 httpun-types.0.2.0 hxd.0.4.0 ISO8601.0.2.6 inotify.2.6 integers.0.7.0 ipaddr.5.6.2 ipaddr-cstruct.5.6.2 ipaddr-sexp.5.6.2 irmin-watcher.0.5.0 jsonm.1.0.2 ke.0.6 lambdasoup.1.1.1 logs.0.10.0 lru.0.3.1 lwt.5.9.2 lwt-dllist.1.1.0 lwt_ppx.5.9.1 lwt_ssl.1.2.0 macaddr.5.6.2 macaddr-cstruct.5.6.2 magic-mime.1.3.1 markup.1.0.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 metrics.0.5.0 mimic.0.0.6 mimic-happy-eyeballs.0.0.6 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mirage-crypto.0.11.3 mirage-crypto-ec.0.11.3 mirage-crypto-pk.0.11.3 mirage-crypto-rng.0.11.3 mirage-crypto-rng-lwt.0.11.3 mirage-flow.3.0.0 mirage-kv.6.1.1 mirage-net.4.0.0 mirage-random.3.0.0 mirage-runtime.4.10.5 mirage-time.3.0.0 mirage-unix.5.0.1 mtime.2.1.0 multipart_form.0.8.0 multipart_form-lwt.0.8.0 num.1.6 obuilder-spec.dev ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.dev ocamlbuild.0.16.1 ocamlfind.1.9.8 ocamlgraph.2.2.0 ocluster-api.dev ocplib-endian.1.2 omigrate.0.3.2 opam-0install.0.5.1 opam-core.2.5.0 opam-file-format.2.2.0 opam-format.2.5.0 opam-repository.2.5.0 opam-state.2.5.0 optint.0.3.0 ordering.3.21.1 paf.0.5.0 parsexp.v0.16.0 patch.3.1.0 pbkdf.1.2.0 pecu.0.7 pgx.2.2 pgx_lwt.2.2 pgx_lwt_unix.2.2 pp.2.0.0 ppx_compare.v0.16.0 ppx_custom_printf.v0.16.0 ppx_derivers.1.2.1 ppx_deriving.6.0.3 ppx_deriving_yojson.3.9.1 ppx_sexp_conv.v0.16.0 ppxlib.0.35.0 prettym.0.0.4 prometheus.1.3 prometheus-app.1.3 psq.0.2.1 ptime.1.2.0 randomconv.0.1.3 re.1.14.0 res.5.0.2 result.1.5 routes.2.0.0 rresult.0.7.0 seq.base session.0.5.0 session-cohttp.0.5.0 session-cohttp-lwt.0.5.0 sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 solver-service.dev solver-service-api.dev spdx_licenses.1.4.0 sqlite3.5.4.0 ssl.0.7.0 stdint.0.7.2 stdio.v0.16.0 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 swhid_core.0.1 tailwindcss.dev tar.2.6.0 tar-unix.2.6.0 tcpip.8.0.0 timedesc.3.1.0 timedesc-tzdb.3.1.0 timedesc-tzlocal.3.1.0 tls.0.17.3 tls-lwt.0.17.3 tls-mirage.0.17.3 top-closure.3.21.1 topkg.1.1.1 tyxml.4.6.0 uchar.0.0.2 unstrctrd.0.4 uri.4.4.0 uri-sexp.4.4.0 uuidm.0.9.10 uutf.1.0.4 x509.0.16.5 yojson.2.2.2 zarith.1.14"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.2 --depext-only -y ocaml-ci.dev ocaml-ci-web.dev ocaml-ci-service.dev ocaml-ci-gitlab.dev ocaml-ci-client.dev ocaml-ci-api.dev $DEPS
RUN opam install $DEPS
RUN opam install --yes dune 'odoc>=1.5.0'
COPY --chown=1000:1000 . /src/
RUN ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo "dune build @doc failed"; exit 2)


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2026-02-27 18:45.11: Using cache hint "ocurrent/ocaml-ci-ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216-alpine-3.22-4.14_opam-2.5-4ebb4967dbefeca3538f9bcd18139704"
2026-02-27 18:45.11: Using OBuilder spec:
((from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216)
(comment alpine-3.22-4.14_opam-2.5)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e d525ee04d3e36d787366d6b05f7f0d1b6395394a || git fetch origin master) && git reset -q --hard d525ee04d3e36d787366d6b05f7f0d1b6395394a && git log --no-decorate -n1 --oneline && opam update -u"))
(run (shell "mkdir -p 'solver-service/' 'ocurrent/' 'ocluster/' 'ocluster/obuilder/' 'ocluster/' 'ocaml-version/' 'ocaml-dockerfile/'"))
(copy (src solver-service/solver-worker.opam solver-service/solver-service.opam solver-service/solver-service-api.opam)
(dst solver-service/))
(copy (src ocurrent/current_web.opam ocurrent/current_ssh.opam ocurrent/current_slack.opam ocurrent/current_rpc.opam ocurrent/current_gitlab.opam ocurrent/current_github.opam ocurrent/current_git.opam ocurrent/current_examples.opam ocurrent/current_docker.opam ocurrent/current.opam)
(dst ocurrent/))
(copy (src ocluster/ocluster.opam ocluster/ocluster-worker.opam ocluster/ocluster-api.opam)
(dst ocluster/))
(copy (src ocluster/obuilder/obuilder.opam ocluster/obuilder/obuilder-spec.opam)
(dst ocluster/obuilder/))
(copy (src ocluster/current_ocluster.opam) (dst ocluster/))
(copy (src ocaml-version/ocaml-version.opam) (dst ocaml-version/))
(copy (src ocaml-dockerfile/dockerfile.opam ocaml-dockerfile/dockerfile-opam.opam ocaml-dockerfile/dockerfile-cmd.opam)
(dst ocaml-dockerfile/))
(copy (src ocaml-ci.opam ocaml-ci-web.opam ocaml-ci-service.opam ocaml-ci-gitlab.opam ocaml-ci-client.opam ocaml-ci-api.opam)
(dst ./))
(run (network host)
(shell  "opam pin add -yn solver-worker.dev 'solver-service/' && \
\nopam pin add -yn solver-service.dev 'solver-service/' && \
\nopam pin add -yn solver-service-api.dev 'solver-service/' && \
\nopam pin add -yn current_web.dev 'ocurrent/' && \
\nopam pin add -yn current_ssh.dev 'ocurrent/' && \
\nopam pin add -yn current_slack.dev 'ocurrent/' && \
\nopam pin add -yn current_rpc.dev 'ocurrent/' && \
\nopam pin add -yn current_gitlab.dev 'ocurrent/' && \
\nopam pin add -yn current_github.dev 'ocurrent/' && \
\nopam pin add -yn current_git.dev 'ocurrent/' && \
\nopam pin add -yn current_examples.dev 'ocurrent/' && \
\nopam pin add -yn current_docker.dev 'ocurrent/' && \
\nopam pin add -yn current.dev 'ocurrent/' && \
\nopam pin add -yn ocluster.dev 'ocluster/' && \
\nopam pin add -yn ocluster-worker.dev 'ocluster/' && \
\nopam pin add -yn ocluster-api.dev 'ocluster/' && \
\nopam pin add -yn obuilder.dev 'ocluster/obuilder/' && \
\nopam pin add -yn obuilder-spec.dev 'ocluster/obuilder/' && \
\nopam pin add -yn current_ocluster.dev 'ocluster/' && \
\nopam pin add -yn ocaml-version.dev 'ocaml-version/' && \
\nopam pin add -yn dockerfile.dev 'ocaml-dockerfile/' && \
\nopam pin add -yn dockerfile-opam.dev 'ocaml-dockerfile/' && \
\nopam pin add -yn dockerfile-cmd.dev 'ocaml-dockerfile/' && \
\nopam pin add -yn ocaml-ci.dev './' && \
\nopam pin add -yn ocaml-ci-web.dev './' && \
\nopam pin add -yn ocaml-ci-service.dev './' && \
\nopam pin add -yn ocaml-ci-gitlab.dev './' && \
\nopam pin add -yn ocaml-ci-client.dev './' && \
\nopam pin add -yn ocaml-ci-api.dev './'"))
(run (network host)
(shell  "echo '(lang dune 3.0)' > 'solver-service/dune-project' && \
\necho '(lang dune 3.0)' > 'ocurrent/dune-project' && \
\necho '(lang dune 3.0)' > 'ocluster/dune-project' && \
\necho '(lang dune 3.0)' > 'ocluster/obuilder/dune-project' && \
\necho '(lang dune 3.0)' > 'ocluster/dune-project' && \
\necho '(lang dune 3.0)' > 'ocaml-version/dune-project' && \
\necho '(lang dune 3.0)' > 'ocaml-dockerfile/dune-project' && \
\necho '(lang dune 3.0)' > './dune-project'"))
(env DEPS "0install-solver.2.18 alcotest.1.9.1 alcotest-lwt.1.9.1 angstrom.0.16.1 ansi.0.7.0 arp.3.1.1 asetmap.0.8.1 asn1-combinators.0.2.6 astring.0.8.5 atd.2.16.0 atdgen.2.15.0 atdgen-runtime.2.16.0 awa.0.3.0 awa-mirage.0.3.0 base.v0.16.4 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.2 bigarray-compat.1.1.0 bigstringaf.0.10.0 biniou.1.2.2 bos.0.2.1 bstr.0.0.4 ca-certs.0.2.3 ca-certs-nss.3.101 camlp-streams.5.0.1 capnp.3.6.0 capnp-rpc.1.2.3 capnp-rpc-lwt.1.2.3 capnp-rpc-net.1.2.3 capnp-rpc-unix.1.2.3 caqti.2.2.4 caqti-lwt.2.2.4 carton.0.7.2 carton-git.0.7.2 carton-lwt.0.7.2 cf.0.5.0 cf-lwt.0.5.0 checkseum.0.5.2 cmdliner.1.3.0 cohttp.6.0.0 cohttp-lwt.6.0.0 cohttp-lwt-unix.6.0.0 conduit.6.2.3 conduit-lwt.6.2.3 conduit-lwt-unix.6.2.3 conf-capnproto.2 conf-git.1.1 conf-gmp.5 conf-gmp-powm-sec.4 conf-graphviz.0.1 conf-libev.4-13 conf-libffi.2.0.0 conf-libssl.4 conf-pkg-config.4 conf-sqlite3.1 cppo.1.8.0 crunch.4.0.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 cstruct-unix.6.2.0 csv.2.4 ctypes.0.24.0 ctypes-foreign.0.24.0 current.dev current_docker.dev current_git.dev current_github.dev current_gitlab.dev current_incr.0.6.1 current_ocluster.dev current_rpc.dev current_web.dev decompress.1.5.3 digestif.1.3.0 dns.7.0.3 dns-client.7.0.3 dns-client-lwt.7.0.3 dns-client-mirage.7.0.3 dockerfile.dev dockerfile-opam.dev domain-name.0.5.0 dream.1.0.0~alpha6 dream-httpaf.1.0.0~alpha3 dream-pure.1.0.0~alpha2 duff.0.5 dune.3.21.1 dune-build-info.3.21.1 dune-compiledb.0.6.0 dune-configurator.3.21.1 dune-private-libs.3.21.1 dune-site.3.21.1 duration.0.2.1 dyn.3.21.1 easy-format.1.3.4 emile.1.1 encore.0.8.1 eqaf.0.9 ethernet.3.2.0 extunix.0.4.3 ezjsonm.1.3.0 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 fsevents.0.3.0 fsevents-lwt.0.3.0 git.3.15.0 git-mirage.3.15.0 git-paf.3.15.0 git-unix.3.15.0 github.4.5.0 github-data.4.5.0 github-unix.4.5.0 gitlab.0.1.8 gitlab-unix.0.1.8 gmap.0.3.0 graphql.0.14.0 graphql-lwt.0.14.0 graphql_parser.0.14.0 h2.0.13.0 happy-eyeballs.0.6.0 happy-eyeballs-lwt.0.6.0 happy-eyeballs-mirage.0.6.0 hex.1.5.0 hkdf.1.0.4 hmap.0.8.1 hpack.0.13.0 http.6.0.0 httpaf.0.7.1 httpun-types.0.2.0 hxd.0.4.0 ISO8601.0.2.6 inotify.2.6 integers.0.7.0 ipaddr.5.6.2 ipaddr-cstruct.5.6.2 ipaddr-sexp.5.6.2 irmin-watcher.0.5.0 jsonm.1.0.2 ke.0.6 lambdasoup.1.1.1 logs.0.10.0 lru.0.3.1 lwt.5.9.2 lwt-dllist.1.1.0 lwt_ppx.5.9.1 lwt_ssl.1.2.0 macaddr.5.6.2 macaddr-cstruct.5.6.2 magic-mime.1.3.1 markup.1.0.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 metrics.0.5.0 mimic.0.0.6 mimic-happy-eyeballs.0.0.6 mirage-clock.4.2.0 mirage-clock-unix.4.2.0 mirage-crypto.0.11.3 mirage-crypto-ec.0.11.3 mirage-crypto-pk.0.11.3 mirage-crypto-rng.0.11.3 mirage-crypto-rng-lwt.0.11.3 mirage-flow.3.0.0 mirage-kv.6.1.1 mirage-net.4.0.0 mirage-random.3.0.0 mirage-runtime.4.10.5 mirage-time.3.0.0 mirage-unix.5.0.1 mtime.2.1.0 multipart_form.0.8.0 multipart_form-lwt.0.8.0 num.1.6 obuilder-spec.dev ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.dev ocamlbuild.0.16.1 ocamlfind.1.9.8 ocamlgraph.2.2.0 ocluster-api.dev ocplib-endian.1.2 omigrate.0.3.2 opam-0install.0.5.1 opam-core.2.5.0 opam-file-format.2.2.0 opam-format.2.5.0 opam-repository.2.5.0 opam-state.2.5.0 optint.0.3.0 ordering.3.21.1 paf.0.5.0 parsexp.v0.16.0 patch.3.1.0 pbkdf.1.2.0 pecu.0.7 pgx.2.2 pgx_lwt.2.2 pgx_lwt_unix.2.2 pp.2.0.0 ppx_compare.v0.16.0 ppx_custom_printf.v0.16.0 ppx_derivers.1.2.1 ppx_deriving.6.0.3 ppx_deriving_yojson.3.9.1 ppx_sexp_conv.v0.16.0 ppxlib.0.35.0 prettym.0.0.4 prometheus.1.3 prometheus-app.1.3 psq.0.2.1 ptime.1.2.0 randomconv.0.1.3 re.1.14.0 res.5.0.2 result.1.5 routes.2.0.0 rresult.0.7.0 seq.base session.0.5.0 session-cohttp.0.5.0 session-cohttp-lwt.0.5.0 sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 solver-service.dev solver-service-api.dev spdx_licenses.1.4.0 sqlite3.5.4.0 ssl.0.7.0 stdint.0.7.2 stdio.v0.16.0 stdlib-shims.0.3.0 stdune.3.21.1 stringext.1.6.0 swhid_core.0.1 tailwindcss.dev tar.2.6.0 tar-unix.2.6.0 tcpip.8.0.0 timedesc.3.1.0 timedesc-tzdb.3.1.0 timedesc-tzlocal.3.1.0 tls.0.17.3 tls-lwt.0.17.3 tls-mirage.0.17.3 top-closure.3.21.1 topkg.1.1.1 tyxml.4.6.0 uchar.0.0.2 unstrctrd.0.4 uri.4.4.0 uri-sexp.4.4.0 uuidm.0.9.10 uutf.1.0.4 x509.0.16.5 yojson.2.2.2 zarith.1.14")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.2 --depext-only -y ocaml-ci.dev ocaml-ci-web.dev ocaml-ci-service.dev ocaml-ci-gitlab.dev ocaml-ci-client.dev ocaml-ci-api.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install --yes dune 'odoc>=1.5.0'"))
(copy (src .) (dst /src/))
(run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)"))
)


2026-02-27 18:45.11: Waiting for resource in pool OCluster
2026-02-27 18:45.11: Waiting for worker…
2026-02-27 18:45.43: Got resource from pool OCluster
Building on clete
All commits already cached
Submodule path 'ocaml-dockerfile': checked out '57ed58f00ac0f458ca75db31d87f3bef9b5577f7'
Submodule path 'ocaml-version': checked out '3bb1c5d559d7a0f22954919f0ada769850bdeb0a'
Submodule path 'ocluster': checked out 'ba26623c6bca8b917c4252fa9739313fb14692ea'
Submodule path 'ocurrent': checked out '6754be6622f22e1fc19bfdbad43c16cd90a6f036'
Submodule path 'solver-service': checked out 'f14bc6fdb22c1cef45bb3d3589bd778f4d6c8196'
HEAD is now at 16174f9 Update Windows spec test
Synchronizing submodule url for 'ocaml-dockerfile'
Synchronizing submodule url for 'ocaml-version'
Synchronizing submodule url for 'ocluster'
Synchronizing submodule url for 'ocurrent'
Synchronizing submodule url for 'solver-service'
Cleared directory 'ocaml-dockerfile'
Submodule 'ocaml-dockerfile' (https://github.com/ocurrent/ocaml-dockerfile.git) unregistered for path 'ocaml-dockerfile'
Cleared directory 'ocaml-version'
Submodule 'ocaml-version' (https://github.com/ocurrent/ocaml-version.git) unregistered for path 'ocaml-version'
Cleared directory 'ocluster'
Submodule 'ocluster' (https://github.com/ocurrent/ocluster.git) unregistered for path 'ocluster'
Cleared directory 'ocurrent'
Submodule 'ocurrent' (https://github.com/ocurrent/ocurrent.git) unregistered for path 'ocurrent'
Cleared directory 'solver-service'
Submodule 'solver-service' (https://github.com/ocurrent/solver-service.git) unregistered for path 'solver-service'
Submodule 'ocaml-dockerfile' (https://github.com/ocurrent/ocaml-dockerfile.git) registered for path 'ocaml-dockerfile'
Submodule 'ocaml-version' (https://github.com/ocurrent/ocaml-version.git) registered for path 'ocaml-version'
Submodule 'ocluster' (https://github.com/ocurrent/ocluster.git) registered for path 'ocluster'
Submodule 'ocurrent' (https://github.com/ocurrent/ocurrent.git) registered for path 'ocurrent'
Submodule 'solver-service' (https://github.com/ocurrent/solver-service.git) registered for path 'solver-service'
Submodule path 'ocaml-dockerfile': checked out '57ed58f00ac0f458ca75db31d87f3bef9b5577f7'
Submodule path 'ocaml-version': checked out '3bb1c5d559d7a0f22954919f0ada769850bdeb0a'
Submodule path 'ocluster': checked out 'ba26623c6bca8b917c4252fa9739313fb14692ea'
Submodule path 'ocluster/obuilder': checked out 'bc6eca86e5624b32ca58fb0b5e43e7e15f188f58'
Submodule path 'ocurrent': checked out '6754be6622f22e1fc19bfdbad43c16cd90a6f036'
Submodule path 'solver-service': checked out 'f14bc6fdb22c1cef45bb3d3589bd778f4d6c8196'


(from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216)
2026-02-27 18:45.44 ---> using "d1cef22083ba59d6db4e2f107091c68dd70ebdcc64c3894ad7db7be62ad17f4a" from cache


/: (comment alpine-3.22-4.14_opam-2.5)


/: (user (uid 1000) (gid 1000))


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
2026-02-27 18:45.44 ---> using "aa238cb861d3c6c581edbbf37b9748fbb3955a0301f8754f1330522d31bdea95" from cache


/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.


This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.


Continue? [y/n] y
[NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=255 --global
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-02-27 18:45.44 ---> using "3012e725308508d0de531ee578ee1e8781d13d01e7b7e084a1a8ab6b2e9dfc3c" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-90-generic
The OCaml toplevel, version 4.14.2
2.2.1
2026-02-27 18:45.44 ---> using "49acb3bbc71f8cee0ac24a0653bcca777fc6f3873bc89b90d919182499bf3c26" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2026-02-27 18:45.44 ---> using "834d8ad0726c0946994af4beac26783ef6bb1014f63b7b5e9de6455c8090386e" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e d525ee04d3e36d787366d6b05f7f0d1b6395394a || git fetch origin master) && git reset -q --hard d525ee04d3e36d787366d6b05f7f0d1b6395394a && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
a6b2f19780..9a6c48cbc0  master     -> origin/master
d525ee04d3 Merge pull request #29454 from hannesm/release-mirage-v4.10.5


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository


Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# Run eval $(opam env) to update the current shell environment
2026-02-27 18:46.49 ---> saved as "1a38985307ae5d3276ca57fb10e5d4a05eb5faaf46261f64c3ab802b370011e0"


/src: (run (shell "mkdir -p 'solver-service/' 'ocurrent/' 'ocluster/' 'ocluster/obuilder/' 'ocluster/' 'ocaml-version/' 'ocaml-dockerfile/'"))
2026-02-27 18:46.50 ---> saved as "36496f9a79d28eb74f9d5d157ca94385ca686d90213e1788f8ec037a18dd24e8"


/src: (copy (src solver-service/solver-worker.opam solver-service/solver-service.opam solver-service/solver-service-api.opam)
(dst solver-service/))
2026-02-27 18:46.51 ---> saved as "09fbe93d77a28f811a017f1fcf39de5ceb048f6fdad92688ad5369ff7c96a1e1"


/src: (copy (src ocurrent/current_web.opam ocurrent/current_ssh.opam ocurrent/current_slack.opam ocurrent/current_rpc.opam ocurrent/current_gitlab.opam ocurrent/current_github.opam ocurrent/current_git.opam ocurrent/current_examples.opam ocurrent/current_docker.opam ocurrent/current.opam)
(dst ocurrent/))
2026-02-27 18:46.52 ---> saved as "66439ea11ae3a7d8b8fa5c020d84508087d124531e191c8b766433078d0fd4aa"


/src: (copy (src ocluster/ocluster.opam ocluster/ocluster-worker.opam ocluster/ocluster-api.opam)
(dst ocluster/))
2026-02-27 18:46.52 ---> saved as "aeff11a89cefdbd2d7122253f88b170acc8cff57fe5e1d3dcbb371e265e06487"


/src: (copy (src ocluster/obuilder/obuilder.opam ocluster/obuilder/obuilder-spec.opam)
(dst ocluster/obuilder/))
2026-02-27 18:46.53 ---> saved as "0686b1261480303afabda900f5b4f25b34449792c6e639dfc0d9999c8ba297bb"


/src: (copy (src ocluster/current_ocluster.opam) (dst ocluster/))
2026-02-27 18:46.54 ---> saved as "40ece7988f20f731fd2d8ac728c62c440ae4b3bd7d6d63c052c088f2268f51d2"


/src: (copy (src ocaml-version/ocaml-version.opam) (dst ocaml-version/))
2026-02-27 18:46.55 ---> saved as "b8b12c05ec2971e8cdce6e00c5e463f40a4ac350cec14f2f7796f3d1cff487fb"


/src: (copy (src ocaml-dockerfile/dockerfile.opam ocaml-dockerfile/dockerfile-opam.opam ocaml-dockerfile/dockerfile-cmd.opam)
(dst ocaml-dockerfile/))