OrganisationsTheLortexdream8bd9b9 (mirage-alpha4)alpine-3.22-4.14_opam-2.5

alpine-3.22-4.14_opam-2.5

Link Copied
Code Copied

Logs

2026-03-19 08:04.36: New job: test TheLortex/dream https://github.com/TheLortex/dream.git#refs/heads/mirage-alpha4 (8bd9b9aa0640d15a94b9610709bf9ee24d70e8f0) (linux-x86_64:alpine-3.22-4.14_opam-2.5)
Base: ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/TheLortex/dream.git" -b "mirage-alpha4" && cd "dream" && git reset --hard 8bd9b9aa
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.5 /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 9f189ca4f94fbb5f0045820bf3c4ffafb21145ef || git fetch origin master) && git reset -q --hard 9f189ca4f94fbb5f0045820bf3c4ffafb21145ef && git log --no-decorate -n1 --oneline && opam update -u
RUN mkdir -p 'src/vendor/websocketaf/' 'src/vendor/paf/' 'src/vendor/httpaf/' 'src/vendor/h2/' 'src/vendor/gluten/' 'example/z-playground/runtime/' 'example/z-playground/' 'example/z-docker-opam/' 'docs/web/'
COPY --chown=1000:1000 src/vendor/websocketaf/websocketaf.opam src/vendor/websocketaf/websocketaf-mirage.opam src/vendor/websocketaf/websocketaf-lwt.opam src/vendor/websocketaf/websocketaf-lwt-unix.opam src/vendor/websocketaf/websocketaf-eio.opam src/vendor/websocketaf/websocketaf-async.opam src/vendor/websocketaf/
COPY --chown=1000:1000 src/vendor/paf/paf.opam src/vendor/paf/paf-le.opam src/vendor/paf/paf-cohttp.opam src/vendor/paf/
COPY --chown=1000:1000 src/vendor/httpaf/httpaf.opam src/vendor/httpaf/httpaf-mirage.opam src/vendor/httpaf/httpaf-lwt.opam src/vendor/httpaf/httpaf-lwt-unix.opam src/vendor/httpaf/httpaf-eio.opam src/vendor/httpaf/httpaf-async.opam src/vendor/httpaf/
COPY --chown=1000:1000 src/vendor/h2/hpack.opam src/vendor/h2/h2.opam src/vendor/h2/h2-mirage.opam src/vendor/h2/h2-lwt.opam src/vendor/h2/h2-lwt-unix.opam src/vendor/h2/h2-async.opam src/vendor/h2/
COPY --chown=1000:1000 src/vendor/gluten/gluten.opam src/vendor/gluten/gluten-mirage.opam src/vendor/gluten/gluten-lwt.opam src/vendor/gluten/gluten-lwt-unix.opam src/vendor/gluten/gluten-eio.opam src/vendor/gluten/gluten-async.opam src/vendor/gluten/
COPY --chown=1000:1000 example/z-playground/runtime/runtime.opam example/z-playground/runtime/
COPY --chown=1000:1000 example/z-playground/playground.opam example/z-playground/
COPY --chown=1000:1000 example/z-docker-opam/hello.opam example/z-docker-opam/
COPY --chown=1000:1000 dream.opam dream-pure.opam dream-mirage.opam dream-httpaf.opam ./
COPY --chown=1000:1000 docs/web/web.opam docs/web/
RUN opam pin add -yn websocketaf.dev 'src/vendor/websocketaf/' && \
opam pin add -yn websocketaf-mirage.dev 'src/vendor/websocketaf/' && \
opam pin add -yn websocketaf-lwt.dev 'src/vendor/websocketaf/' && \
opam pin add -yn websocketaf-lwt-unix.dev 'src/vendor/websocketaf/' && \
opam pin add -yn websocketaf-eio.dev 'src/vendor/websocketaf/' && \
opam pin add -yn websocketaf-async.dev 'src/vendor/websocketaf/' && \
opam pin add -yn paf.dev 'src/vendor/paf/' && \
opam pin add -yn paf-le.dev 'src/vendor/paf/' && \
opam pin add -yn paf-cohttp.dev 'src/vendor/paf/' && \
opam pin add -yn httpaf.dev 'src/vendor/httpaf/' && \
opam pin add -yn httpaf-mirage.dev 'src/vendor/httpaf/' && \
opam pin add -yn httpaf-lwt.dev 'src/vendor/httpaf/' && \
opam pin add -yn httpaf-lwt-unix.dev 'src/vendor/httpaf/' && \
opam pin add -yn httpaf-eio.dev 'src/vendor/httpaf/' && \
opam pin add -yn httpaf-async.dev 'src/vendor/httpaf/' && \
opam pin add -yn hpack.dev 'src/vendor/h2/' && \
opam pin add -yn h2.dev 'src/vendor/h2/' && \
opam pin add -yn h2-mirage.dev 'src/vendor/h2/' && \
opam pin add -yn h2-lwt.dev 'src/vendor/h2/' && \
opam pin add -yn h2-lwt-unix.dev 'src/vendor/h2/' && \
opam pin add -yn h2-async.dev 'src/vendor/h2/' && \
opam pin add -yn gluten.dev 'src/vendor/gluten/' && \
opam pin add -yn gluten-mirage.dev 'src/vendor/gluten/' && \
opam pin add -yn gluten-lwt.dev 'src/vendor/gluten/' && \
opam pin add -yn gluten-lwt-unix.dev 'src/vendor/gluten/' && \
opam pin add -yn gluten-eio.dev 'src/vendor/gluten/' && \
opam pin add -yn gluten-async.dev 'src/vendor/gluten/' && \
opam pin add -yn runtime.dev 'example/z-playground/runtime/' && \
opam pin add -yn playground.dev 'example/z-playground/' && \
opam pin add -yn hello.dev 'example/z-docker-opam/' && \
opam pin add -yn dream.dev './' && \
opam pin add -yn dream-pure.dev './' && \
opam pin add -yn dream-mirage.dev './' && \
opam pin add -yn dream-httpaf.dev './' && \
opam pin add -yn web.dev 'docs/web/'
RUN echo '(lang dune 3.0)' > 'src/vendor/websocketaf/dune-project' && \
echo '(lang dune 3.0)' > 'src/vendor/paf/dune-project' && \
echo '(lang dune 3.0)' > 'src/vendor/httpaf/dune-project' && \
echo '(lang dune 3.0)' > 'src/vendor/h2/dune-project' && \
echo '(lang dune 3.0)' > 'src/vendor/gluten/dune-project' && \
echo '(lang dune 3.0)' > 'example/z-playground/runtime/dune-project' && \
echo '(lang dune 3.0)' > 'example/z-playground/dune-project' && \
echo '(lang dune 3.0)' > 'example/z-docker-opam/dune-project' && \
echo '(lang dune 3.0)' > './dune-project' && \
echo '(lang dune 3.0)' > 'docs/web/dune-project'
ENV DEPS="alcotest.1.9.1 angstrom.0.16.1 asn1-combinators.0.3.2 astring.0.8.5 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 bisect_ppx.2.8.3 bstr.0.0.4 camlp-streams.5.0.1 caqti.2.2.4 caqti-driver-postgresql.2.2.4 caqti-driver-sqlite3.2.2.4 caqti-lwt.2.2.4 cmdliner.1.3.0 conf-gmp.5 conf-gmp-powm-sec.4 conf-libev.4-13 conf-libssl.4 conf-pkg-config.4 conf-postgresql.2 conf-sqlite3.1 cppo.1.8.0 crunch.4.0.0 csexp.1.5.2 cstruct.6.2.0 digestif.1.3.0 domain-name.0.5.0 dune.3.22.0 dune-build-info.3.22.0 dune-compiledb.0.6.0 dune-configurator.3.22.0 dune-private-libs.3.22.0 dune-site.3.22.0 duration.0.2.1 dyn.3.22.0 emile.1.1 eqaf.0.10 ezjsonm.1.3.0 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fix.20250919 fmt.0.11.0 fpath.0.7.3 fs-io.3.22.0 gen.1.1 gmap.0.3.0 graphql.0.14.0 graphql-lwt.0.14.0 graphql_parser.0.14.0 hex.1.5.0 hmap.0.8.1 ipaddr.5.6.2 jane-street-headers.v0.16.0 js_of_ocaml.6.2.0 js_of_ocaml-compiler.6.2.0 js_of_ocaml-ppx.6.2.0 jsonm.1.0.2 jst-config.v0.16.0 kdf.1.0.0 ke.0.6 lambdasoup.1.1.1 letsencrypt.1.1.0 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 magic-mime.1.3.1 markup.1.0.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 merlin-extend.0.6.2 mimic.0.0.9 mirage-clock.4.2.0 mirage-crypto.1.2.0 mirage-crypto-ec.1.2.0 mirage-crypto-pk.1.2.0 mirage-crypto-rng.1.2.0 mirage-crypto-rng-lwt.1.2.0 mirage-flow.5.0.0 mirage-kv.6.1.1 mirage-protocols.7.0.0 mirage-ptime.5.2.0 mirage-stack.3.0.0 mtime.2.1.0 multipart_form.0.8.0 multipart_form-lwt.0.8.0 num.1.6 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 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 octavius.1.2.2 ohex.0.2.0 optint.0.3.0 ordering.3.22.0 parsexp.v0.16.0 pecu.0.7 postgresql.5.2.0 pp.2.0.0 ppx_assert.v0.16.0 ppx_base.v0.16.0 ppx_cold.v0.16.0 ppx_compare.v0.16.0 ppx_derivers.1.2.1 ppx_enumerate.v0.16.0 ppx_expect.v0.16.2 ppx_globalize.v0.16.0 ppx_hash.v0.16.0 ppx_here.v0.16.0 ppx_inline_test.v0.16.1 ppx_js_style.v0.16.0 ppx_optcomp.v0.16.0 ppx_sexp_conv.v0.16.0 ppx_yojson_conv.v0.16.0 ppx_yojson_conv_lib.v0.16.0 ppxlib.0.35.0 prettym.0.0.4 psq.0.2.1 ptime.1.2.0 re.1.14.0 reason.3.15.0 result.1.5 rresult.0.7.0 sedlex.3.7 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sqlite3.5.4.0 ssl.0.7.0 stdio.v0.16.0 stdlib-shims.0.3.0 stdune.3.22.0 stringext.1.6.0 time_now.v0.16.0 tls.2.0.4 tls-mirage.2.0.4 top-closure.3.22.0 topkg.1.1.1 tyxml.4.6.0 tyxml-jsx.4.6.0 tyxml-ppx.4.6.0 tyxml-syntax.4.6.0 uchar.0.0.2 unstrctrd.0.4 uri.4.4.0 uutf.1.0.4 x509.1.0.6 yojson.3.0.0 zarith.1.14"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.5 --depext-only -y dream.dev dream-pure.dev dream-mirage.dev dream-httpaf.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build


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


2026-03-19 08:04.36: Using cache hint "TheLortex/dream-ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216-alpine-3.22-4.14_opam-2.5-e9257b95d46d090228225c20604ddbe1"
2026-03-19 08:04.36: 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.5 /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 9f189ca4f94fbb5f0045820bf3c4ffafb21145ef || git fetch origin master) && git reset -q --hard 9f189ca4f94fbb5f0045820bf3c4ffafb21145ef && git log --no-decorate -n1 --oneline && opam update -u"))
(run (shell "mkdir -p 'src/vendor/websocketaf/' 'src/vendor/paf/' 'src/vendor/httpaf/' 'src/vendor/h2/' 'src/vendor/gluten/' 'example/z-playground/runtime/' 'example/z-playground/' 'example/z-docker-opam/' 'docs/web/'"))
(copy (src src/vendor/websocketaf/websocketaf.opam src/vendor/websocketaf/websocketaf-mirage.opam src/vendor/websocketaf/websocketaf-lwt.opam src/vendor/websocketaf/websocketaf-lwt-unix.opam src/vendor/websocketaf/websocketaf-eio.opam src/vendor/websocketaf/websocketaf-async.opam)
(dst src/vendor/websocketaf/))
(copy (src src/vendor/paf/paf.opam src/vendor/paf/paf-le.opam src/vendor/paf/paf-cohttp.opam)
(dst src/vendor/paf/))
(copy (src src/vendor/httpaf/httpaf.opam src/vendor/httpaf/httpaf-mirage.opam src/vendor/httpaf/httpaf-lwt.opam src/vendor/httpaf/httpaf-lwt-unix.opam src/vendor/httpaf/httpaf-eio.opam src/vendor/httpaf/httpaf-async.opam)
(dst src/vendor/httpaf/))
(copy (src src/vendor/h2/hpack.opam src/vendor/h2/h2.opam src/vendor/h2/h2-mirage.opam src/vendor/h2/h2-lwt.opam src/vendor/h2/h2-lwt-unix.opam src/vendor/h2/h2-async.opam)
(dst src/vendor/h2/))
(copy (src src/vendor/gluten/gluten.opam src/vendor/gluten/gluten-mirage.opam src/vendor/gluten/gluten-lwt.opam src/vendor/gluten/gluten-lwt-unix.opam src/vendor/gluten/gluten-eio.opam src/vendor/gluten/gluten-async.opam)
(dst src/vendor/gluten/))
(copy (src example/z-playground/runtime/runtime.opam)
(dst example/z-playground/runtime/))
(copy (src example/z-playground/playground.opam) (dst example/z-playground/))
(copy (src example/z-docker-opam/hello.opam) (dst example/z-docker-opam/))
(copy (src dream.opam dream-pure.opam dream-mirage.opam dream-httpaf.opam)
(dst ./))
(copy (src docs/web/web.opam) (dst docs/web/))
(run (network host)
(shell  "opam pin add -yn websocketaf.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-mirage.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-lwt.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-lwt-unix.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-eio.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-async.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn paf.dev 'src/vendor/paf/' && \
\nopam pin add -yn paf-le.dev 'src/vendor/paf/' && \
\nopam pin add -yn paf-cohttp.dev 'src/vendor/paf/' && \
\nopam pin add -yn httpaf.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-mirage.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-lwt.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-lwt-unix.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-eio.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-async.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn hpack.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-mirage.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-lwt.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-lwt-unix.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-async.dev 'src/vendor/h2/' && \
\nopam pin add -yn gluten.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-mirage.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-lwt.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-lwt-unix.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-eio.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-async.dev 'src/vendor/gluten/' && \
\nopam pin add -yn runtime.dev 'example/z-playground/runtime/' && \
\nopam pin add -yn playground.dev 'example/z-playground/' && \
\nopam pin add -yn hello.dev 'example/z-docker-opam/' && \
\nopam pin add -yn dream.dev './' && \
\nopam pin add -yn dream-pure.dev './' && \
\nopam pin add -yn dream-mirage.dev './' && \
\nopam pin add -yn dream-httpaf.dev './' && \
\nopam pin add -yn web.dev 'docs/web/'"))
(run (shell  "echo '(lang dune 3.0)' > 'src/vendor/websocketaf/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/paf/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/httpaf/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/h2/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/gluten/dune-project' && \
\necho '(lang dune 3.0)' > 'example/z-playground/runtime/dune-project' && \
\necho '(lang dune 3.0)' > 'example/z-playground/dune-project' && \
\necho '(lang dune 3.0)' > 'example/z-docker-opam/dune-project' && \
\necho '(lang dune 3.0)' > './dune-project' && \
\necho '(lang dune 3.0)' > 'docs/web/dune-project'"))
(env DEPS "alcotest.1.9.1 angstrom.0.16.1 asn1-combinators.0.3.2 astring.0.8.5 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 bisect_ppx.2.8.3 bstr.0.0.4 camlp-streams.5.0.1 caqti.2.2.4 caqti-driver-postgresql.2.2.4 caqti-driver-sqlite3.2.2.4 caqti-lwt.2.2.4 cmdliner.1.3.0 conf-gmp.5 conf-gmp-powm-sec.4 conf-libev.4-13 conf-libssl.4 conf-pkg-config.4 conf-postgresql.2 conf-sqlite3.1 cppo.1.8.0 crunch.4.0.0 csexp.1.5.2 cstruct.6.2.0 digestif.1.3.0 domain-name.0.5.0 dune.3.22.0 dune-build-info.3.22.0 dune-compiledb.0.6.0 dune-configurator.3.22.0 dune-private-libs.3.22.0 dune-site.3.22.0 duration.0.2.1 dyn.3.22.0 emile.1.1 eqaf.0.10 ezjsonm.1.3.0 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fix.20250919 fmt.0.11.0 fpath.0.7.3 fs-io.3.22.0 gen.1.1 gmap.0.3.0 graphql.0.14.0 graphql-lwt.0.14.0 graphql_parser.0.14.0 hex.1.5.0 hmap.0.8.1 ipaddr.5.6.2 jane-street-headers.v0.16.0 js_of_ocaml.6.2.0 js_of_ocaml-compiler.6.2.0 js_of_ocaml-ppx.6.2.0 jsonm.1.0.2 jst-config.v0.16.0 kdf.1.0.0 ke.0.6 lambdasoup.1.1.1 letsencrypt.1.1.0 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 magic-mime.1.3.1 markup.1.0.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 merlin-extend.0.6.2 mimic.0.0.9 mirage-clock.4.2.0 mirage-crypto.1.2.0 mirage-crypto-ec.1.2.0 mirage-crypto-pk.1.2.0 mirage-crypto-rng.1.2.0 mirage-crypto-rng-lwt.1.2.0 mirage-flow.5.0.0 mirage-kv.6.1.1 mirage-protocols.7.0.0 mirage-ptime.5.2.0 mirage-stack.3.0.0 mtime.2.1.0 multipart_form.0.8.0 multipart_form-lwt.0.8.0 num.1.6 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 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 octavius.1.2.2 ohex.0.2.0 optint.0.3.0 ordering.3.22.0 parsexp.v0.16.0 pecu.0.7 postgresql.5.2.0 pp.2.0.0 ppx_assert.v0.16.0 ppx_base.v0.16.0 ppx_cold.v0.16.0 ppx_compare.v0.16.0 ppx_derivers.1.2.1 ppx_enumerate.v0.16.0 ppx_expect.v0.16.2 ppx_globalize.v0.16.0 ppx_hash.v0.16.0 ppx_here.v0.16.0 ppx_inline_test.v0.16.1 ppx_js_style.v0.16.0 ppx_optcomp.v0.16.0 ppx_sexp_conv.v0.16.0 ppx_yojson_conv.v0.16.0 ppx_yojson_conv_lib.v0.16.0 ppxlib.0.35.0 prettym.0.0.4 psq.0.2.1 ptime.1.2.0 re.1.14.0 reason.3.15.0 result.1.5 rresult.0.7.0 sedlex.3.7 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sqlite3.5.4.0 ssl.0.7.0 stdio.v0.16.0 stdlib-shims.0.3.0 stdune.3.22.0 stringext.1.6.0 time_now.v0.16.0 tls.2.0.4 tls-mirage.2.0.4 top-closure.3.22.0 topkg.1.1.1 tyxml.4.6.0 tyxml-jsx.4.6.0 tyxml-ppx.4.6.0 tyxml-syntax.4.6.0 uchar.0.0.2 unstrctrd.0.4 uri.4.4.0 uutf.1.0.4 x509.1.0.6 yojson.3.0.0 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.5 --depext-only -y dream.dev dream-pure.dev dream-mirage.dev dream-httpaf.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)


2026-03-19 08:04.36: Waiting for resource in pool OCluster
2026-03-19 11:31.23: Waiting for worker…
2026-03-19 11:35.28: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
Submodule path 'src/vendor/gluten': checked out 'f8b88c485beb473af97de7b39461fb60a56cff3f'
Submodule path 'src/vendor/h2': checked out '8ad7db35248e2d321b993fc60390ccfdd54cb096'
Submodule path 'src/vendor/httpaf': checked out '7189cd28e21203117f0c8e2347ae9a2fe0e0c157'
Submodule path 'src/vendor/paf': checked out '873e7b3b00d60ac6d6b1a59c3e867f27f357369b'
Submodule path 'src/vendor/websocketaf': checked out '44c54291a09ec271b256cdce3b3999315131c750'
HEAD is now at 8bd9b9a CI: pass opam file lint
Synchronizing submodule url for 'src/vendor/gluten'
Synchronizing submodule url for 'src/vendor/h2'
Synchronizing submodule url for 'src/vendor/httpaf'
Synchronizing submodule url for 'src/vendor/paf'
Synchronizing submodule url for 'src/vendor/websocketaf'
Cleared directory 'src/vendor/gluten'
Submodule 'src/vendor/gluten' (https://github.com/anmonteiro/gluten.git) unregistered for path 'src/vendor/gluten'
Cleared directory 'src/vendor/h2'
Submodule 'src/vendor/h2' (https://github.com/anmonteiro/ocaml-h2.git) unregistered for path 'src/vendor/h2'
Cleared directory 'src/vendor/httpaf'
Submodule 'src/vendor/httpaf' (https://github.com/anmonteiro/httpaf.git) unregistered for path 'src/vendor/httpaf'
Cleared directory 'src/vendor/paf'
Submodule 'src/vendor/paf' (https://github.com/TheLortex/paf-le-chien.git) unregistered for path 'src/vendor/paf'
Cleared directory 'src/vendor/websocketaf'
Submodule 'src/vendor/websocketaf' (https://github.com/anmonteiro/websocketaf.git) unregistered for path 'src/vendor/websocketaf'
Submodule 'src/vendor/gluten' (https://github.com/anmonteiro/gluten.git) registered for path 'src/vendor/gluten'
Submodule 'src/vendor/h2' (https://github.com/anmonteiro/ocaml-h2.git) registered for path 'src/vendor/h2'
Submodule 'src/vendor/httpaf' (https://github.com/anmonteiro/httpaf.git) registered for path 'src/vendor/httpaf'
Submodule 'src/vendor/paf' (https://github.com/TheLortex/paf-le-chien.git) registered for path 'src/vendor/paf'
Submodule 'src/vendor/websocketaf' (https://github.com/anmonteiro/websocketaf.git) registered for path 'src/vendor/websocketaf'
Submodule path 'src/vendor/gluten': checked out 'f8b88c485beb473af97de7b39461fb60a56cff3f'
Submodule path 'src/vendor/h2': checked out '8ad7db35248e2d321b993fc60390ccfdd54cb096'
Submodule path 'src/vendor/h2/hpack/test/hpack-test-case': checked out 'b2a1664b43dc520a4bbff2e7db1b7e7af4fb43f4'
Submodule path 'src/vendor/h2/lib_test/http2-frame-test-case': checked out '5c67db0d4d68e1fb7d3a241d6e01fc04d981f465'
Submodule path 'src/vendor/httpaf': checked out '7189cd28e21203117f0c8e2347ae9a2fe0e0c157'
Submodule path 'src/vendor/paf': checked out '873e7b3b00d60ac6d6b1a59c3e867f27f357369b'
Submodule path 'src/vendor/websocketaf': checked out '44c54291a09ec271b256cdce3b3999315131c750'


(from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216)
2026-03-19 11:54.34 ---> 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.5 /usr/bin/opam"))
2026-03-19 11:54.35 ---> using "7c7cce50f5e947565c3d5dbad3ac3b61d12cac1cb4c13b6c802d6a8bb10d1345" 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 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
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-19 11:54.35 ---> using "d95bbd73a24778f1321e62f69802692f647c727b93c3a5bbd318b81d4a471a07" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-87-generic
The OCaml toplevel, version 4.14.2
2.5.0
2026-03-19 11:54.36 ---> using "0946bc50f9a71a954b4e3169058449c50f765d27decff1e10b17d7843ccd9459" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2026-03-19 11:54.36 ---> using "f598dcec640aed1c1320fd535f3be224f496aae5fd076bc0ab3a32f9d65fd942" from cache


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


<><> 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 at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2026-03-19 11:54.37 ---> using "810096dd0156913deb75e0cc11e774023b73e7342cf49a8e9431b5a3efb90247" from cache


/src: (run (shell "mkdir -p 'src/vendor/websocketaf/' 'src/vendor/paf/' 'src/vendor/httpaf/' 'src/vendor/h2/' 'src/vendor/gluten/' 'example/z-playground/runtime/' 'example/z-playground/' 'example/z-docker-opam/' 'docs/web/'"))
2026-03-19 11:54.40 ---> saved as "6c05d0920fccd46b3d76197f91ae217c13d80228240e82dc04098e7eb533d318"


/src: (copy (src src/vendor/websocketaf/websocketaf.opam src/vendor/websocketaf/websocketaf-mirage.opam src/vendor/websocketaf/websocketaf-lwt.opam src/vendor/websocketaf/websocketaf-lwt-unix.opam src/vendor/websocketaf/websocketaf-eio.opam src/vendor/websocketaf/websocketaf-async.opam)
(dst src/vendor/websocketaf/))
2026-03-19 11:54.44 ---> saved as "9653afef827a95fac6b09666763d38768a5f3fd8aecf4cfdac678d166c9c4a50"


/src: (copy (src src/vendor/paf/paf.opam src/vendor/paf/paf-le.opam src/vendor/paf/paf-cohttp.opam)
(dst src/vendor/paf/))
2026-03-19 11:54.46 ---> saved as "eee75a55a35cb0de7cd0853dd57774afd0cf09efde93f9484abb5120f17641ec"


/src: (copy (src src/vendor/httpaf/httpaf.opam src/vendor/httpaf/httpaf-mirage.opam src/vendor/httpaf/httpaf-lwt.opam src/vendor/httpaf/httpaf-lwt-unix.opam src/vendor/httpaf/httpaf-eio.opam src/vendor/httpaf/httpaf-async.opam)
(dst src/vendor/httpaf/))
2026-03-19 11:54.48 ---> saved as "79baef480d61af0a27605f332da06a4c67264fa08fc1a9c0367347482fc10fdd"


/src: (copy (src src/vendor/h2/hpack.opam src/vendor/h2/h2.opam src/vendor/h2/h2-mirage.opam src/vendor/h2/h2-lwt.opam src/vendor/h2/h2-lwt-unix.opam src/vendor/h2/h2-async.opam)
(dst src/vendor/h2/))
2026-03-19 11:54.49 ---> saved as "cc64fb3bd19e0dff07d121a2af4bb438b173096c4f098f7959462af10bcf2915"


/src: (copy (src src/vendor/gluten/gluten.opam src/vendor/gluten/gluten-mirage.opam src/vendor/gluten/gluten-lwt.opam src/vendor/gluten/gluten-lwt-unix.opam src/vendor/gluten/gluten-eio.opam src/vendor/gluten/gluten-async.opam)
(dst src/vendor/gluten/))
2026-03-19 11:54.51 ---> saved as "d959ba30d13b8ca803f33ecbff92c8be79dc2d59def6a55284c7c15e22b232d0"


/src: (copy (src example/z-playground/runtime/runtime.opam)
(dst example/z-playground/runtime/))
2026-03-19 11:54.53 ---> saved as "40a7ffe62c2ece1c82ac7f54e48db1aba50769d07ef3b15020aa8f21559ba6d7"


/src: (copy (src example/z-playground/playground.opam)
(dst example/z-playground/))
2026-03-19 11:54.54 ---> saved as "4ab27fb3ec8fa6b5e09e9924489b6bedc4b8331551896481a758c833e726aaa1"


/src: (copy (src example/z-docker-opam/hello.opam)
(dst example/z-docker-opam/))
2026-03-19 11:54.56 ---> saved as "daf29febcebf2df8b222780cbc9cdbdb5d373af064c3541132037615d5637c86"


/src: (copy (src dream.opam dream-pure.opam dream-mirage.opam dream-httpaf.opam)
(dst ./))
2026-03-19 11:54.58 ---> saved as "487bb4c101c7ff3934b1eba091739fde65b805d10d60d014fdfac0342b527a32"


/src: (copy (src docs/web/web.opam) (dst docs/web/))
2026-03-19 11:55.01 ---> saved as "6ad4cd7ed279ad82d563a098177b603b72e2d4d121cdc710d9b7998c6727ce09"


/src: (run (network host)
(shell  "opam pin add -yn websocketaf.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-mirage.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-lwt.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-lwt-unix.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-eio.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn websocketaf-async.dev 'src/vendor/websocketaf/' && \
\nopam pin add -yn paf.dev 'src/vendor/paf/' && \
\nopam pin add -yn paf-le.dev 'src/vendor/paf/' && \
\nopam pin add -yn paf-cohttp.dev 'src/vendor/paf/' && \
\nopam pin add -yn httpaf.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-mirage.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-lwt.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-lwt-unix.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-eio.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn httpaf-async.dev 'src/vendor/httpaf/' && \
\nopam pin add -yn hpack.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-mirage.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-lwt.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-lwt-unix.dev 'src/vendor/h2/' && \
\nopam pin add -yn h2-async.dev 'src/vendor/h2/' && \
\nopam pin add -yn gluten.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-mirage.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-lwt.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-lwt-unix.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-eio.dev 'src/vendor/gluten/' && \
\nopam pin add -yn gluten-async.dev 'src/vendor/gluten/' && \
\nopam pin add -yn runtime.dev 'example/z-playground/runtime/' && \
\nopam pin add -yn playground.dev 'example/z-playground/' && \
\nopam pin add -yn hello.dev 'example/z-docker-opam/' && \
\nopam pin add -yn dream.dev './' && \
\nopam pin add -yn dream-pure.dev './' && \
\nopam pin add -yn dream-mirage.dev './' && \
\nopam pin add -yn dream-httpaf.dev './' && \
\nopam pin add -yn web.dev 'docs/web/'"))
[websocketaf.dev] synchronised (file:///src/src/vendor/websocketaf)
websocketaf is now pinned to file:///src/src/vendor/websocketaf (version dev)
[NOTE] Package websocketaf-mirage does not exist in opam repositories registered in the current switch.
[websocketaf-mirage.dev] synchronised (file:///src/src/vendor/websocketaf)
[WARNING] Failed checks on websocketaf-mirage package definition from source at file:///src/src/vendor/websocketaf:
warning 74: Field 'pin-depends' contains packages that are neither in 'depends' nor in 'depopts': "httpaf-lwt", "httpaf"
The following additional pinnings are required by websocketaf-mirage.dev:
- httpaf.dev at git+https://github.com/anmonteiro/httpaf.git#fork
- httpaf-lwt.dev at git+https://github.com/anmonteiro/httpaf.git#fork
Pin and install them? [Y/n] y
[httpaf.dev] synchronised (no changes)
httpaf is now pinned to git+https://github.com/anmonteiro/httpaf.git#fork (version dev)
[NOTE] Package httpaf-lwt does not exist in opam repositories registered in the current switch.
[httpaf-lwt.dev] synchronised (no changes)
httpaf-lwt is now pinned to git+https://github.com/anmonteiro/httpaf.git#fork (version dev)
websocketaf-mirage is now pinned to file:///src/src/vendor/websocketaf (version dev)
[NOTE] Package websocketaf-lwt does not exist in opam repositories registered in the current switch.
[websocketaf-lwt.dev] synchronised (file:///src/src/vendor/websocketaf)
[WARNING] Failed checks on websocketaf-lwt package definition from source at file:///src/src/vendor/websocketaf:
warning 74: Field 'pin-depends' contains packages that are neither in 'depends' nor in 'depopts': "httpaf-lwt", "httpaf"
The following additional pinnings are required by websocketaf-lwt.dev:
- websocketaf.dev at git+https://github.com/anmonteiro/websocketaf.git#fork
Pin and install them? [Y/n] y
[NOTE] Package websocketaf is currently pinned to file:///src/src/vendor/websocketaf (version dev).
[websocketaf.dev] synchronised (git+https://github.com/anmonteiro/websocketaf.git#fork)
websocketaf is now pinned to git+https://github.com/anmonteiro/websocketaf.git#fork (version dev)
websocketaf-lwt is now pinned to file:///src/src/vendor/websocketaf (version dev)
[NOTE] Package websocketaf-lwt-unix does not exist in opam repositories registered in the current switch.
[websocketaf-lwt-unix.dev] synchronised (file:///src/src/vendor/websocketaf)
[WARNING] Failed checks on websocketaf-lwt-unix package definition from source at file:///src/src/vendor/websocketaf:
warning 74: Field 'pin-depends' contains packages that are neither in 'depends' nor in 'depopts': "httpaf-lwt", "httpaf"
The following additional pinnings are required by websocketaf-lwt-unix.dev:
- websocketaf-lwt.dev at git+https://github.com/anmonteiro/websocketaf.git#fork
Pin and install them? [Y/n] y
[NOTE] Package websocketaf-lwt is currently pinned to file:///src/src/vendor/websocketaf (version dev).
[websocketaf-lwt.dev] synchronised (git+https://github.com/anmonteiro/websocketaf.git#fork)
[WARNING] Failed checks on websocketaf-lwt package definition from source at git+https://github.com/anmonteiro/websocketaf.git#fork:
warning 74: Field 'pin-depends' contains packages that are neither in 'depends' nor in 'depopts': "httpaf-lwt", "httpaf"
websocketaf-lwt is now pinned to git+https://github.com/anmonteiro/websocketaf.git#fork (version dev)
websocketaf-lwt-unix is now pinned to file:///src/src/vendor/websocketaf (version dev)
[NOTE] Package websocketaf-eio does not exist in opam repositories registered in the current switch.
[websocketaf-eio.dev] synchronised (file:///src/src/vendor/websocketaf)
[WARNING] Failed checks on websocketaf-eio package definition from source at file:///src/src/vendor/websocketaf:
warning 74: Field 'pin-depends' contains packages that are neither in 'depends' nor in 'depopts': "httpaf-lwt", "httpaf"
websocketaf-eio is now pinned to file:///src/src/vendor/websocketaf (version dev)
[NOTE] Package websocketaf-async does not exist in opam repositories registered in the current switch.
[websocketaf-async.dev] synchronised (file:///src/src/vendor/websocketaf)
websocketaf-async is now pinned to file:///src/src/vendor/websocketaf (version dev)
[paf.dev] synchronised (file:///src/src/vendor/paf)
paf is now pinned to file:///src/src/vendor/paf (version dev)
[NOTE] Package paf-le does not exist in opam repositories registered in the current switch.
[paf-le.dev] synchronised (file:///src/src/vendor/paf)
paf-le is now pinned to file:///src/src/vendor/paf (version dev)
[paf-cohttp.dev] synchronised (file:///src/src/vendor/paf)
paf-cohttp is now pinned to file:///src/src/vendor/paf (version dev)
[NOTE] Package httpaf is currently pinned to git+https://github.com/anmonteiro/httpaf.git#fork (version dev).
[httpaf.dev] synchronised (file:///src/src/vendor/httpaf)
httpaf is now pinned to file:///src/src/vendor/httpaf (version dev)
[NOTE] Package httpaf-mirage does not exist in opam repositories registered in the current switch.
[httpaf-mirage.dev] synchronised (file:///src/src/vendor/httpaf)
[WARNING] Failed checks on httpaf-mirage package definition from source at file:///src/src/vendor/httpaf:
warning 74: Field 'pin-depends' contains packages that are neither in 'depends' nor in 'depopts': "httpaf-lwt"
The following additional pinnings are required by httpaf-mirage.dev:
- httpaf.dev at git+https://github.com/anmonteiro/httpaf.git#fork
Pin and install them? [Y/n] y
[NOTE] Package httpaf is currently pinned to file:///src/src/vendor/httpaf (version dev).
[httpaf.dev] synchronised (git+https://github.com/anmonteiro/httpaf.git#fork)
httpaf is now pinned to git+https://github.com/anmonteiro/httpaf.git#fork (version dev)
httpaf-mirage is now pinned to file:///src/src/vendor/httpaf (version dev)
[NOTE] Package httpaf-lwt is currently pinned to git+https://github.com/anmonteiro/httpaf.git#fork (version dev).
[httpaf-lwt.dev] synchronised (file:///src/src/vendor/httpaf)
httpaf-lwt is now pinned to file:///src/src/vendor/httpaf (version dev)
[httpaf-lwt-unix.dev] synchronised (file:///src/src/vendor/httpaf)
The following additional pinnings are required by httpaf-lwt-unix.dev:
- httpaf-lwt.dev at git+https://github.com/anmonteiro/httpaf.git#fork
Pin and install them? [Y/n] y
[NOTE] Package httpaf-lwt is currently pinned to file:///src/src/vendor/httpaf (version dev).
[httpaf-lwt.dev] synchronised (git+https://github.com/anmonteiro/httpaf.git#fork)
httpaf-lwt is now pinned to git+https://github.com/anmonteiro/httpaf.git#fork (version dev)
httpaf-lwt-unix is now pinned to file:///src/src/vendor/httpaf (version dev)
[NOTE] Package httpaf-eio does not exist in opam repositories registered in the current switch.
[httpaf-eio.dev] synchronised (file:///src/src/vendor/httpaf)
httpaf-eio is now pinned to file:///src/src/vendor/httpaf (version dev)
[httpaf-async.dev] synchronised (file:///src/src/vendor/httpaf)
httpaf-async is now pinned to file:///src/src/vendor/httpaf (version dev)
[hpack.dev] synchronised (file:///src/src/vendor/h2)
hpack is now pinned to file:///src/src/vendor/h2 (version dev)
[h2.dev] synchronised (file:///src/src/vendor/h2)
h2 is now pinned to file:///src/src/vendor/h2 (version dev)
[h2-mirage.dev] synchronised (file:///src/src/vendor/h2)
h2-mirage is now pinned to file:///src/src/vendor/h2 (version dev)
[h2-lwt.dev] synchronised (file:///src/src/vendor/h2)
h2-lwt is now pinned to file:///src/src/vendor/h2 (version dev)
[h2-lwt-unix.dev] synchronised (file:///src/src/vendor/h2)
h2-lwt-unix is now pinned to file:///src/src/vendor/h2 (version dev)
[h2-async.dev] synchronised (file:///src/src/vendor/h2)
h2-async is now pinned to file:///src/src/vendor/h2 (version dev)
[gluten.dev] synchronised (file:///src/src/vendor/gluten)
gluten is now pinned to file:///src/src/vendor/gluten (version dev)
[gluten-mirage.dev] synchronised (file:///src/src/vendor/gluten)
gluten-mirage is now pinned to file:///src/src/vendor/gluten (version dev)
[gluten-lwt.dev] synchronised (file:///src/src/vendor/gluten)
gluten-lwt is now pinned to file:///src/src/vendor/gluten (version dev)
[gluten-lwt-unix.dev] synchronised (file:///src/src/vendor/gluten)
gluten-lwt-unix is now pinned to file:///src/src/vendor/gluten (version dev)
[gluten-eio.dev] synchronised (file:///src/src/vendor/gluten)
gluten-eio is now pinned to file:///src/src/vendor/gluten (version dev)
[gluten-async.dev] synchronised (file:///src/src/vendor/gluten)
gluten-async is now pinned to file:///src/src/vendor/gluten (version dev)
[NOTE] Package runtime does not exist in opam repositories registered in the current switch.
[runtime.dev] synchronised (file:///src/example/z-playground/runtime)
[WARNING] Failed checks on runtime package definition from source at file:///src/example/z-playground/runtime:
warning 25: Missing field 'authors'
warning 35: Missing field 'homepage'
warning 36: Missing field 'bug-reports'
warning 68: Missing field 'license'
runtime is now pinned to file:///src/example/z-playground/runtime (version dev)
[NOTE] Package playground does not exist in opam repositories registered in the current switch.
[playground.dev] synchronised (file:///src/example/z-playground)
[WARNING] Failed checks on playground package definition from source at file:///src/example/z-playground:
warning 25: Missing field 'authors'
warning 35: Missing field 'homepage'
warning 36: Missing field 'bug-reports'
warning 68: Missing field 'license'
playground is now pinned to file:///src/example/z-playground (version dev)
[NOTE] Package hello does not exist in opam repositories registered in the current switch.
[hello.dev] synchronised (file:///src/example/z-docker-opam)
[WARNING] Failed checks on hello package definition from source at file:///src/example/z-docker-opam:
warning 25: Missing field 'authors'
warning 35: Missing field 'homepage'
warning 36: Missing field 'bug-reports'
warning 68: Missing field 'license'
hello is now pinned to file:///src/example/z-docker-opam (version dev)
[dream.dev] synchronised (file:///src)
dream is now pinned to file:///src (version dev)
[dream-pure.dev] synchronised (file:///src)
dream-pure is now pinned to file:///src (version dev)
[NOTE] Package dream-mirage does not exist in opam repositories registered in the current switch.
[dream-mirage.dev] synchronised (file:///src)
dream-mirage is now pinned to file:///src (version dev)
[dream-httpaf.dev] synchronised (file:///src)
dream-httpaf is now pinned to file:///src (version dev)
[NOTE] Package web does not exist in opam repositories registered in the current switch.
[web.dev] synchronised (file:///src/docs/web)
[WARNING] Failed checks on web package definition from source at file:///src/docs/web:
warning 25: Missing field 'authors'
warning 35: Missing field 'homepage'
warning 36: Missing field 'bug-reports'
warning 68: Missing field 'license'
The following additional pinnings are required by web.dev:
- odoc.2.0.0~master at git+https://github.com/aantron/odoc.git#dbb37e20717985edfd8f734e00b9ab6f705d81a4
Pin and install them? [Y/n] y
[odoc.2.0.0~master] synchronised (no changes)
odoc is now pinned to git+https://github.com/aantron/odoc.git#dbb37e20717985edfd8f734e00b9ab6f705d81a4 (version 2.0.0~master)
web is now pinned to file:///src/docs/web (version dev)
2026-03-19 11:56.19 ---> saved as "c1070e067dd6d5193fd8cd74a37587f046ee0d883dd670ba115d76b5f5213ec5"


/src: (run (shell  "echo '(lang dune 3.0)' > 'src/vendor/websocketaf/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/paf/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/httpaf/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/h2/dune-project' && \
\necho '(lang dune 3.0)' > 'src/vendor/gluten/dune-project' && \
\necho '(lang dune 3.0)' > 'example/z-playground/runtime/dune-project' && \
\necho '(lang dune 3.0)' > 'example/z-playground/dune-project' && \
\necho '(lang dune 3.0)' > 'example/z-docker-opam/dune-project' && \
\necho '(lang dune 3.0)' > './dune-project' && \
\necho '(lang dune 3.0)' > 'docs/web/dune-project'"))
2026-03-19 11:56.24 ---> saved as "0b62abc796b0e63bdac27571957900241e298216e23207ccce029e14069d67ca"


/src: (env DEPS "alcotest.1.9.1 angstrom.0.16.1 asn1-combinators.0.3.2 astring.0.8.5 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 bisect_ppx.2.8.3 bstr.0.0.4 camlp-streams.5.0.1 caqti.2.2.4 caqti-driver-postgresql.2.2.4 caqti-driver-sqlite3.2.2.4 caqti-lwt.2.2.4 cmdliner.1.3.0 conf-gmp.5 conf-gmp-powm-sec.4 conf-libev.4-13 conf-libssl.4 conf-pkg-config.4 conf-postgresql.2 conf-sqlite3.1 cppo.1.8.0 crunch.4.0.0 csexp.1.5.2 cstruct.6.2.0 digestif.1.3.0 domain-name.0.5.0 dune.3.22.0 dune-build-info.3.22.0 dune-compiledb.0.6.0 dune-configurator.3.22.0 dune-private-libs.3.22.0 dune-site.3.22.0 duration.0.2.1 dyn.3.22.0 emile.1.1 eqaf.0.10 ezjsonm.1.3.0 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fix.20250919 fmt.0.11.0 fpath.0.7.3 fs-io.3.22.0 gen.1.1 gmap.0.3.0 graphql.0.14.0 graphql-lwt.0.14.0 graphql_parser.0.14.0 hex.1.5.0 hmap.0.8.1 ipaddr.5.6.2 jane-street-headers.v0.16.0 js_of_ocaml.6.2.0 js_of_ocaml-compiler.6.2.0 js_of_ocaml-ppx.6.2.0 jsonm.1.0.2 jst-config.v0.16.0 kdf.1.0.0 ke.0.6 lambdasoup.1.1.1 letsencrypt.1.1.0 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 magic-mime.1.3.1 markup.1.0.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 merlin-extend.0.6.2 mimic.0.0.9 mirage-clock.4.2.0 mirage-crypto.1.2.0 mirage-crypto-ec.1.2.0 mirage-crypto-pk.1.2.0 mirage-crypto-rng.1.2.0 mirage-crypto-rng-lwt.1.2.0 mirage-flow.5.0.0 mirage-kv.6.1.1 mirage-protocols.7.0.0 mirage-ptime.5.2.0 mirage-stack.3.0.0 mtime.2.1.0 multipart_form.0.8.0 multipart_form-lwt.0.8.0 num.1.6 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 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 octavius.1.2.2 ohex.0.2.0 optint.0.3.0 ordering.3.22.0 parsexp.v0.16.0 pecu.0.7 postgresql.5.2.0 pp.2.0.0 ppx_assert.v0.16.0 ppx_base.v0.16.0 ppx_cold.v0.16.0 ppx_compare.v0.16.0 ppx_derivers.1.2.1 ppx_enumerate.v0.16.0 ppx_expect.v0.16.2 ppx_globalize.v0.16.0 ppx_hash.v0.16.0 ppx_here.v0.16.0 ppx_inline_test.v0.16.1 ppx_js_style.v0.16.0 ppx_optcomp.v0.16.0 ppx_sexp_conv.v0.16.0 ppx_yojson_conv.v0.16.0 ppx_yojson_conv_lib.v0.16.0 ppxlib.0.35.0 prettym.0.0.4 psq.0.2.1 ptime.1.2.0 re.1.14.0 reason.3.15.0 result.1.5 rresult.0.7.0 sedlex.3.7 seq.base sexplib.v0.16.0 sexplib0.v0.16.0 sqlite3.5.4.0 ssl.0.7.0 stdio.v0.16.0 stdlib-shims.0.3.0 stdune.3.22.0 stringext.1.6.0 time_now.v0.16.0 tls.2.0.4 tls-mirage.2.0.4 top-closure.3.22.0 topkg.1.1.1 tyxml.4.6.0 tyxml-jsx.4.6.0 tyxml-ppx.4.6.0 tyxml-syntax.4.6.0 uchar.0.0.2 unstrctrd.0.4 uri.4.4.0 uutf.1.0.4 x509.1.0.6 yojson.3.0.0 zarith.1.14")


/src: (env CI true)


/src: (env OCAMLCI true)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.5 --depext-only -y dream.dev dream-pure.dev dream-mirage.dev dream-httpaf.dev $DEPS"))
+ /usr/bin/sudo "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
- v3.22.3-75-ged08c5a4e85 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main]
- v3.22.3-76-g2f42617de4f [https://dl-cdn.alpinelinux.org/alpine/v3.22/community]
- v20260127-3340-gc788c35cc2d [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v20260127-3325-g35baec0ae82 [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v20260127-3324-gf9ebfb46bef [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 61067 distinct packages available


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[dream.dev] synchronised (file:///src)
[dream-httpaf.dev] synchronised (file:///src)
[dream-mirage.dev] synchronised (file:///src)
[dream-pure.dev] synchronised (file:///src)


[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
[ERROR] Package conf-postgresql.2 depends on the unavailable system package 'postgresql14-dev'. You can use `--no-depexts' to attempt installation anyway.
"/usr/bin/env" "bash" "-c" "opam update --depexts && opam install --cli=2.5 --depext-only -y dream.dev dream-pure.dev dream-mirage.dev dream-httpaf.dev $DEPS" failed with exit status 5
2026-03-19 11:56.32: Job failed: Failed: Build failed