2026-04-14 08:12.49: New job: test mirage/bechamel https://github.com/mirage/bechamel.git#refs/heads/main (bf27a9edfa89918948227ce25fe0545c57d7ef01) (linux-x86_64:(lint-doc)) Base: ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c Opam project lint documentation To reproduce locally: git clone --recursive "https://github.com/mirage/bechamel.git" -b "main" && cd "bechamel" && git reset --hard bf27a9ed cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c # debian-13-4.08_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 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 || git fetch origin master) && git reset -q --hard 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 mperf.opam bechamel.opam bechamel-perf.opam bechamel-notty.opam bechamel-js.opam ./ RUN opam pin add -yn mperf.dev './' && \ opam pin add -yn bechamel.dev './' && \ opam pin add -yn bechamel-perf.dev './' && \ opam pin add -yn bechamel-notty.dev './' && \ opam pin add -yn bechamel-js.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="alcotest.1.9.1 angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base bigstringaf.0.10.0 cmdliner.2.1.0 conf-linux-libc-dev.0 cppo.1.8.0 csexp.1.5.2 dune.3.22.2 dune-configurator.3.22.2 fmt.0.11.0 json-data-encoding.0.9.1 jsonm.1.0.2 notty.0.2.3 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.11.0 result.1.5 rresult.0.7.0 seq.base stdlib-shims.0.3.0 stringext.1.6.0 topkg.1.1.1 uri.4.4.0 uutf.1.0.4" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.2 --depext-only -y mperf.dev bechamel.dev bechamel-perf.dev bechamel-notty.dev bechamel-js.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-04-14 08:12.49: Using cache hint "mirage/bechamel-ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c-debian-13-4.08_opam-2.5-be46ca1ce6b974249e8aaa5c2dd5486b" 2026-04-14 08:12.49: Using OBuilder spec: ((from ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c) (comment debian-13-4.08_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 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 || git fetch origin master) && git reset -q --hard 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src mperf.opam bechamel.opam bechamel-perf.opam bechamel-notty.opam bechamel-js.opam) (dst ./)) (run (network host) (shell "opam pin add -yn mperf.dev './' && \ \nopam pin add -yn bechamel.dev './' && \ \nopam pin add -yn bechamel-perf.dev './' && \ \nopam pin add -yn bechamel-notty.dev './' && \ \nopam pin add -yn bechamel-js.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "alcotest.1.9.1 angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base bigstringaf.0.10.0 cmdliner.2.1.0 conf-linux-libc-dev.0 cppo.1.8.0 csexp.1.5.2 dune.3.22.2 dune-configurator.3.22.2 fmt.0.11.0 json-data-encoding.0.9.1 jsonm.1.0.2 notty.0.2.3 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.11.0 result.1.5 rresult.0.7.0 seq.base stdlib-shims.0.3.0 stringext.1.6.0 topkg.1.1.1 uri.4.4.0 uutf.1.0.4") (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 mperf.dev bechamel.dev bechamel-perf.dev bechamel-notty.dev bechamel-js.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-04-14 08:12.49: Waiting for resource in pool OCluster 2026-04-14 10:35.19: Waiting for worker… 2026-04-14 10:37.46: Got resource from pool OCluster Building on clete.caelum.ci.dev All commits already cached HEAD is now at bf27a9e Merge pull request #51 from edwintorok/perf (from ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c) 2026-04-14 10:37.47 ---> using "228e5ba11f0bea08c69266bb98d12a75785691261b07b0808652a307a04e14b2" from cache /: (comment debian-13-4.08_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-04-14 10:37.47 ---> using "6a21a8bd2da640bf47ce1211004d6a33a1bf41ff753d8b4bb4a6519520cd81af" 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 Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-04-14 10:37.47 ---> using "939d97e6190dc36b4f6e94773a2843a2a1549b9ae9e8e3facca1460e0ed37772" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-107-generic The OCaml toplevel, version 4.08.1 2.2.1 2026-04-14 10:37.47 ---> using "eb73d73c6df1334e93e0a643cf6d58799a32bc7b370f755d009a4545ba4f9865" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-14 10:37.47 ---> using "de7fe019fc62fa1e51827ff2ff64dbc0831c3afd9fed2034cda6486fa7e48a49" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 || git fetch origin master) && git reset -q --hard 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 42844088d7..5f7bb1a6e6 master -> origin/master 5f7bb1a6e6 Merge pull request #29704 from shonfeder/release-dune-3.22.2 <><> 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-04-14 10:37.47 ---> using "a408b35c16c64543d75f6a4121f46050cbbf80a3f26372afee815626e8d3c22f" from cache /src: (copy (src mperf.opam bechamel.opam bechamel-perf.opam bechamel-notty.opam bechamel-js.opam) (dst ./)) 2026-04-14 10:37.47 ---> using "42d0a922ad41b4cfd084248cf475060e52d82f429bed3f2fde84389a404c1305" from cache /src: (run (network host) (shell "opam pin add -yn mperf.dev './' && \ \nopam pin add -yn bechamel.dev './' && \ \nopam pin add -yn bechamel-perf.dev './' && \ \nopam pin add -yn bechamel-notty.dev './' && \ \nopam pin add -yn bechamel-js.dev './'")) [mperf.dev] synchronised (file:///src) mperf is now pinned to file:///src (version dev) [bechamel.dev] synchronised (file:///src) bechamel is now pinned to file:///src (version dev) [bechamel-perf.dev] synchronised (file:///src) bechamel-perf is now pinned to file:///src (version dev) [bechamel-notty.dev] synchronised (file:///src) bechamel-notty is now pinned to file:///src (version dev) [bechamel-js.dev] synchronised (file:///src) bechamel-js is now pinned to file:///src (version dev) 2026-04-14 10:37.47 ---> using "d5716facaf79d7bb44ba0a638caa8f043b44ece8807ceb705671923c19f2b5ae" from cache /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-14 10:37.47 ---> using "d60b186d9e8f69a9d72113e41c9da687c9718748e3fcd62b2c9f0211e6c77655" from cache /src: (env DEPS "alcotest.1.9.1 angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base bigstringaf.0.10.0 cmdliner.2.1.0 conf-linux-libc-dev.0 cppo.1.8.0 csexp.1.5.2 dune.3.22.2 dune-configurator.3.22.2 fmt.0.11.0 json-data-encoding.0.9.1 jsonm.1.0.2 notty.0.2.3 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.11.0 result.1.5 rresult.0.7.0 seq.base stdlib-shims.0.3.0 stringext.1.6.0 topkg.1.1.1 uri.4.4.0 uutf.1.0.4") /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.2 --depext-only -y mperf.dev bechamel.dev bechamel-perf.dev bechamel-notty.dev bechamel-js.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Hit:1 http://deb.debian.org/debian trixie InRelease - Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB] - Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB] - Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [123 kB] - Fetched 213 kB in 0s (973 kB/s) - Reading package lists... - <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [bechamel.dev] synchronised (file:///src) [bechamel-js.dev] synchronised (file:///src) [bechamel-notty.dev] synchronised (file:///src) [bechamel-perf.dev] synchronised (file:///src) [mperf.dev] synchronised (file:///src) [NOTE] Package ocaml-config is already installed (current version is 1). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1). [NOTE] Package ocaml is already installed (current version is 4.08.1). [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). 2026-04-14 10:37.47 ---> using "b49f7dbfc90301515bf785426cc3dba77a5ca4387041f7fcff194c7904671775" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-config is already installed (current version is 1). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1). [NOTE] Package ocaml is already installed (current version is 4.08.1). [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). The following actions will be performed: === install 26 packages - install alcotest 1.9.1 - install angstrom 0.16.1 - install astring 0.8.5 - install bigstringaf 0.10.0 - install cmdliner 2.1.0 - install conf-linux-libc-dev 0 - install cppo 1.8.0 - install csexp 1.5.2 - install dune 3.22.2 - install dune-configurator 3.22.2 - install fmt 0.11.0 - install json-data-encoding 0.9.1 - install jsonm 1.0.2 - install notty 0.2.3 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install re 1.11.0 - install result 1.5 - install rresult 0.7.0 - install seq base - install stdlib-shims 0.3.0 - install stringext 1.6.0 - install topkg 1.1.1 - install uri 4.4.0 - install uutf 1.0.4 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved astring.0.8.5 (cached) -> retrieved angstrom.0.16.1 (cached) -> retrieved bigstringaf.0.10.0 (cached) -> retrieved alcotest.1.9.1 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved json-data-encoding.0.9.1 (cached) -> installed conf-linux-libc-dev.0 -> retrieved jsonm.1.0.2 (cached) -> retrieved notty.0.2.3 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved re.1.11.0 (cached) -> retrieved result.1.5 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved rresult.0.7.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved stringext.1.6.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved uri.4.4.0 (cached) -> retrieved dune.3.22.2, dune-configurator.3.22.2 (cached) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed topkg.1.1.1 -> installed rresult.0.7.0 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed jsonm.1.0.2 -> installed dune.3.22.2 -> installed csexp.1.5.2 -> installed cppo.1.8.0 -> installed ocaml-syntax-shims.1.0.0 -> installed re.1.11.0 -> installed result.1.5 -> installed stdlib-shims.0.3.0 -> installed stringext.1.6.0 -> installed alcotest.1.9.1 -> installed dune-configurator.3.22.2 -> installed notty.0.2.3 -> installed bigstringaf.0.10.0 -> installed angstrom.0.16.1 -> installed uri.4.4.0 -> installed json-data-encoding.0.9.1 Done. # Run eval $(opam env) to update the current shell environment 2026-04-14 10:37.47 ---> using "a3531164bd8b28613bee7bf414224aa38958c375bc1707ebcf015c5adee48cf3" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install --yes dune 'odoc>=1.5.0'")) [NOTE] Package dune is already installed (current version is 3.22.2). The following actions will be performed: === install 7 packages - install camlp-streams 5.0.1 [required by odoc-parser] - install crunch 4.0.0 [required by odoc] - install fpath 0.7.3 [required by odoc] - install odoc 3.1.0 - install odoc-parser 3.1.0 [required by odoc] - install ptime 1.2.0 [required by crunch] - install tyxml 4.6.0 [required by odoc] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved camlp-streams.5.0.1 (cached) -> retrieved crunch.4.0.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved tyxml.4.6.0 (cached) -> installed camlp-streams.5.0.1 -> retrieved odoc.3.1.0, odoc-parser.3.1.0 (cached) -> installed fpath.0.7.3 -> installed ptime.1.2.0 -> installed crunch.4.0.0 -> installed odoc-parser.3.1.0 -> installed tyxml.4.6.0 -> installed odoc.3.1.0 Done. # Run eval $(opam env) to update the current shell environment 2026-04-14 10:37.47 ---> using "c826761fd0be7d5cb4c188ca038b09f3fa592d74483be056e33f465f6bc07a6a" from cache /src: (copy (src .) (dst /src/)) 2026-04-14 10:37.48 ---> saved as "6eeb77275411984e55d1bf7f4531d9293757095dcad2dd96484bf7434e7d6a9c" /src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)")) (cd _build/default/lib/.bechamel.objs/byte && /home/opam/.opam/4.08/bin/odoc compile -I . -I ../../../_doc/_odoc/pkg/bechamel -I ../../monotonic_clock/.monotonic_clock.objs/byte --pkg bechamel -o bechamel__Analyze.odoc bechamel__Analyze.cmti) File "lib/analyze.mli", line 7, character 4 to line 17, character 6: Warning: Code blocks should be indented at the opening `{`. (cd _build/default/lib/.bechamel.objs/byte && /home/opam/.opam/4.08/bin/odoc compile -I . -I ../../../_doc/_odoc/pkg/bechamel -I ../../monotonic_clock/.monotonic_clock.objs/byte --pkg bechamel -o bechamel.odoc bechamel.cmti) File "lib/bechamel.mli", line 84, characters 43-50: Warning: 'modtype' is deprecated, use 'module-type' instead. File "lib/bechamel.mli", line 149, character 4 to line 159, character 6: Warning: Code blocks should be indented at the opening `{`. (cd _build/default/_doc/_odocls/bechamel && /home/opam/.opam/4.08/bin/odoc link -I ../../_odoc/pkg/bechamel -I ../../../lib/.bechamel.objs/byte -I ../../../lib/monotonic_clock/.monotonic_clock.objs/byte -o bechamel.odocl ../../../lib/.bechamel.objs/byte/bechamel.odoc) File "lib/bechamel.mli", line 174, characters 51-65: Warning: Failed to resolve reference unresolvedroot(Unix) Parent_module: Lookup failure (root module): Unix File "lib/bechamel.mli", line 82, characters 4-43: Warning: Failed to resolve reference unresolvedroot(Bechamel_perf).Instance.cpu_clock Couldn't find "Bechamel_perf" File "lib/bechamel.mli", line 70, characters 7-24: Warning: Failed to resolve reference unresolvedroot(Unix).close Couldn't find "Unix" File "lib/bechamel.mli", line 69, characters 22-39: Warning: Failed to resolve reference unresolvedroot(Unix).write Couldn't find "Unix" (cd _build/default/_doc/_odocls/bechamel-js && /home/opam/.opam/4.08/bin/odoc link -I ../../_odoc/pkg/bechamel-js -I ../../../lib/.bechamel.objs/byte -I ../../../lib/js/.bechamel_js.objs/byte -I ../../../lib/monotonic_clock/.monotonic_clock.objs/byte -o bechamel_js.odocl ../../../lib/js/.bechamel_js.objs/byte/bechamel_js.odoc) File "../../../lib/js/.bechamel_js.objs/byte/bechamel_js.odoc": Warning: Hidden fields in type 'Bechamel_js.t' 2026-04-14 10:37.50 ---> saved as "877cc6dec84a090ed11f33b2ced9a43a439b3a0327b7bd4875bc9713cf4b2477" Job succeeded 2026-04-14 10:37.50: Job succeeded