2026-07-08 11:11.51: New job: test local/bruit 7948d888622ff448b134cd342acc82687a4eb6f1 ((lint-doc)) Base: ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d Opam project lint documentation To reproduce locally: cd $(mktemp -d) git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard 7948d888 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d # debian-13-5.3_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 662e6a3427c777b88986bc9d015759eaaab0ea96 || git fetch origin master) && git reset -q --hard 662e6a3427c777b88986bc9d015759eaaab0ea96 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 bruit.opam ./ RUN opam pin add -yn bruit.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.2 --depext-only -y bruit.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-07-08 11:11.51: Waiting for resource in pool docker 2026-07-08 11:24.26: Got resource from pool docker 2026-07-08 11:24.26: Checking out commit 7948d888. To reproduce: git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard 7948d888 2026-07-08 11:24.26: Exec: "cp" "-a" "--" "/var/lib/git/repos/bruit/.git" "/tmp/git-checkout3747d73e" 2026-07-08 11:24.26: Exec: "git" "-C" "/tmp/git-checkout3747d73e" "submodule" "deinit" "--force" "--all" 2026-07-08 11:24.26: Exec: "git" "-C" "/tmp/git-checkout3747d73e" "reset" "--hard" "-q" "7948d888622ff448b134cd342acc82687a4eb6f1" 2026-07-08 11:24.26: Exec: "git" "-c" "protocol.file.allow=always" "-C" "/tmp/git-checkout3747d73e" "submodule" "update" "--recursive" "--init" "--no-fetch" Writing BuildKit Dockerfile: # syntax = docker/dockerfile:experimental@sha256:8c69d118cfcd040a222bea7f7d57c6156faa938cb61b47657cd65343babc3664 FROM ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d # debian-13-5.3_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 --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 cd ~/opam-repository && (git cat-file -e 662e6a3427c777b88986bc9d015759eaaab0ea96 || git fetch origin master) && git reset -q --hard 662e6a3427c777b88986bc9d015759eaaab0ea96 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 bruit.opam ./ RUN opam pin add -yn bruit.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1" ENV CI="true" ENV OCAMLCI="true" RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam update --depexts && opam install --cli=2.2 --depext-only -y bruit.dev $DEPS RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam install $DEPS RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 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) 2026-07-08 11:24.26: Exec: "docker" "build" "--" "/tmp/git-checkout3747d73e" #0 building with "default" instance using docker driver #1 [internal] load build definition from Dockerfile #1 transferring dockerfile: 1.74kB done #1 DONE 0.0s #2 resolve image config for docker-image://docker.io/docker/dockerfile:experimental@sha256:8c69d118cfcd040a222bea7f7d57c6156faa938cb61b47657cd65343babc3664 #2 DONE 0.0s #3 docker-image://docker.io/docker/dockerfile:experimental@sha256:8c69d118cfcd040a222bea7f7d57c6156faa938cb61b47657cd65343babc3664 #3 CACHED #4 [internal] load .dockerignore #4 transferring context: 44B done #4 DONE 0.0s #5 [internal] load build definition from Dockerfile #5 transferring dockerfile: 1.74kB done #5 DONE 0.0s #6 [internal] load metadata for docker.io/ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d #6 DONE 0.0s #7 [stage-0 1/16] FROM docker.io/ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d #7 DONE 0.0s #8 [stage-0 2/16] WORKDIR /src #8 CACHED #9 [stage-0 3/16] RUN sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam #9 CACHED #10 [stage-0 6/16] WORKDIR /src #10 CACHED #11 [stage-0 4/16] RUN opam init --reinit -ni #11 CACHED #12 [stage-0 5/16] RUN uname -rs && opam exec -- ocaml -version && opam --version #12 CACHED #13 [stage-0 7/16] RUN sudo chown opam /src #13 CACHED #14 [internal] settings cache mount permissions #14 CACHED #15 [internal] load build context #15 transferring context: 27.33kB done #15 DONE 0.0s #16 [stage-0 8/16] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 cd ~/opam-repository && (git cat-file -e 662e6a3427c777b88986bc9d015759eaaab0ea96 || git fetch origin master) && git reset -q --hard 662e6a3427c777b88986bc9d015759eaaab0ea96 && git log --no-decorate -n1 --oneline && opam update -u #16 21.98 From https://github.com/ocaml/opam-repository #16 21.98 * branch master -> FETCH_HEAD #16 22.03 fc08333d1b..bc64c70f83 master -> origin/master #16 64.13 662e6a3427 [new release] dune (18 packages) (3.24.0) #16 64.43 #16 64.43 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> #16 69.91 [default] synchronised from git+file:///home/opam/opam-repository #16 74.36 #16 78.42 Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). #16 78.42 #16 78.42 The following packages are not being upgraded because the new versions conflict with other installed packages: #16 78.42 - ocaml.5.6.0 #16 78.42 - ocaml-compiler.5.6 #16 78.42 -- ocaml-base-compiler.5.5.0 is installed and requires ocaml-compiler = 5.5.0 #16 78.42 However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages. #16 78.42 Nothing to do. #16 78.42 # Run eval $(opam env) to update the current shell environment #16 DONE 79.2s #17 [stage-0 9/16] COPY --chown=1000:1000 bruit.opam ./ #17 DONE 0.0s #18 [stage-0 10/16] RUN opam pin add -yn bruit.dev './' #18 1.211 Package bruit does not exist, create as a NEW package? [y/n] y #18 1.266 [bruit.dev] synchronised (file:///src) #18 1.267 [WARNING] Failed checks on bruit package definition from source at file:///src: #18 1.267 warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/ : "LICENSE" #18 1.270 bruit is now pinned to file:///src (version dev) #18 DONE 1.3s #19 [stage-0 11/16] RUN echo '(lang dune 3.0)' > './dune-project' #19 DONE 0.3s #20 [stage-0 12/16] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam update --depexts && opam install --cli=2.2 --depext-only -y bruit.dev base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 #20 0.220 + /usr/bin/sudo "apt-get" "update" #20 1.220 - Get:1 http://deb.debian.org/debian trixie InRelease [140 kB] #20 1.220 - Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB] #20 1.220 - Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB] #20 1.220 - Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9671 kB] #20 1.220 - Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [225 kB] #20 1.220 - Fetched 10.1 MB in 1s (12.6 MB/s) #20 1.220 - Reading package lists... #20 1.615 - #20 1.955 #20 1.955 <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> #20 2.013 [bruit.dev] synchronised (file:///src) #20 2.017 #20 2.700 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). #20 2.700 [NOTE] Package ocaml-config is already installed (current version is 3). #20 2.700 [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0). #20 2.700 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0). #20 2.700 [NOTE] Package ocaml is already installed (current version is 5.3.0). #20 2.700 [NOTE] Package base-unix is already installed (current version is base). #20 2.700 [NOTE] Package base-threads is already installed (current version is base). #20 2.700 [NOTE] Package base-nnp is already installed (current version is base). #20 2.700 [NOTE] Package base-effects is already installed (current version is base). #20 2.700 [NOTE] Package base-domains is already installed (current version is base). #20 2.700 [NOTE] Package base-bigarray is already installed (current version is base). #20 DONE 6.7s #21 [stage-0 13/16] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam install base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 #21 1.182 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). #21 1.182 [NOTE] Package ocaml-config is already installed (current version is 3). #21 1.182 [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0). #21 1.182 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0). #21 1.182 [NOTE] Package ocaml is already installed (current version is 5.3.0). #21 1.182 [NOTE] Package base-unix is already installed (current version is base). #21 1.182 [NOTE] Package base-threads is already installed (current version is base). #21 1.182 [NOTE] Package base-nnp is already installed (current version is base). #21 1.182 [NOTE] Package base-effects is already installed (current version is base). #21 1.182 [NOTE] Package base-domains is already installed (current version is base). #21 1.182 [NOTE] Package base-bigarray is already installed (current version is base). #21 4.489 The following actions will be performed: #21 4.489 === install 1 package #21 4.489 - install dune 3.24.0 #21 4.490 #21 4.490 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> #21 6.486 -> retrieved dune.3.24.0 (cached) #21 41.90 -> installed dune.3.24.0 #21 42.44 Done. #21 42.44 # Run eval $(opam env) to update the current shell environment #21 DONE 42.6s #22 [stage-0 14/16] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam install --yes dune 'odoc>=1.5.0' #22 1.129 [NOTE] Package dune is already installed (current version is 3.24.0). #22 4.473 The following actions will be performed: #22 4.473 === install 17 packages #22 4.473 - install astring 0.8.5 [required by odoc] #22 4.473 - install camlp-streams 5.0.1 [required by odoc-parser] #22 4.473 - install cmdliner 2.1.1 [required by odoc] #22 4.473 - install cppo 1.8.0 [required by odoc] #22 4.473 - install crunch 4.0.0 [required by odoc] #22 4.473 - install fmt 0.11.0 [required by odoc] #22 4.473 - install fpath 0.7.3 [required by odoc] #22 4.473 - install ocamlbuild 0.16.1 [required by fmt, astring, fpath] #22 4.473 - install ocamlfind 1.9.8 [required by fmt, astring, fpath] #22 4.473 - install odoc 3.2.1 #22 4.473 - install odoc-parser 3.2.1 [required by odoc] #22 4.473 - install ptime 1.2.0 [required by crunch] #22 4.473 - install re 1.14.0 [required by tyxml] #22 4.473 - install seq base [required by tyxml] #22 4.473 - install topkg 1.1.1 [required by fmt, astring, fpath] #22 4.473 - install tyxml 4.6.0 [required by odoc] #22 4.473 - install uutf 1.0.4 [required by tyxml] #22 4.474 #22 4.474 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> #22 4.489 -> retrieved camlp-streams.5.0.1 (cached) #22 4.505 -> retrieved astring.0.8.5 (cached) #22 4.549 -> retrieved cppo.1.8.0 (cached) #22 4.566 -> retrieved cmdliner.2.1.1 (cached) #22 4.580 -> retrieved crunch.4.0.0 (cached) #22 4.587 -> retrieved fmt.0.11.0 (cached) #22 4.593 -> retrieved fpath.0.7.3 (cached) #22 4.657 -> retrieved ocamlbuild.0.16.1 (cached) #22 4.677 -> retrieved ocamlfind.1.9.8 (cached) #22 4.691 -> retrieved ptime.1.2.0 (cached) #22 4.693 -> retrieved seq.base (cached) #22 4.715 -> retrieved re.1.14.0 (cached) #22 4.785 -> retrieved topkg.1.1.1 (cached) #22 4.801 -> retrieved tyxml.4.6.0 (cached) #22 4.803 -> retrieved uutf.1.0.4 (cached) #22 4.964 -> installed camlp-streams.5.0.1 #22 6.258 -> retrieved odoc.3.2.1, odoc-parser.3.2.1 (https://opam.ocaml.org/cache) #22 6.294 -> installed cppo.1.8.0 #22 9.432 -> installed cmdliner.2.1.1 #22 9.593 -> installed ocamlfind.1.9.8 #22 9.677 -> installed re.1.14.0 #22 9.678 -> installed seq.base #22 9.716 -> installed ocamlbuild.0.16.1 #22 14.90 -> installed topkg.1.1.1 #22 15.91 -> installed fmt.0.11.0 #22 16.01 -> installed ptime.1.2.0 #22 16.26 -> installed astring.0.8.5 #22 16.69 -> installed crunch.4.0.0 #22 16.83 -> installed uutf.1.0.4 #22 16.91 -> installed fpath.0.7.3 #22 17.45 -> installed odoc-parser.3.2.1 #22 19.27 -> installed tyxml.4.6.0 #22 28.15 -> installed odoc.3.2.1 #22 28.59 Done. #22 28.59 # Run eval $(opam env) to update the current shell environment #22 DONE 29.0s #23 [stage-0 15/16] COPY --chown=1000:1000 . /src/ #23 DONE 0.0s #24 [stage-0 16/16] RUN ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo "dune build @doc failed"; exit 2) #24 0.325 File "src/dune", line 3, characters 12-20: #24 0.325 3 | (libraries terminal unix fmt astring) #24 0.325 ^^^^^^^^ #24 0.325 Error: Library "terminal" not found. #24 0.325 -> required by library "bruit" in _build/default/src #24 0.325 -> required by _build/default/_doc/_odocls/bruit/page-index.odocl #24 0.325 -> required by _build/default/_doc/_html/bruit/index.html #24 0.325 -> required by alias _doc/_html/bruit/doc #24 0.325 -> required by alias doc #24 0.358 dune build @doc failed #24 ERROR: process "/bin/sh -c ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)" did not complete successfully: exit code: 2 ------ > [stage-0 16/16] RUN ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo "dune build @doc failed"; exit 2): 0.325 File "src/dune", line 3, characters 12-20: 0.325 3 | (libraries terminal unix fmt astring) 0.325 ^^^^^^^^ 0.325 Error: Library "terminal" not found. 0.325 -> required by library "bruit" in _build/default/src 0.325 -> required by _build/default/_doc/_odocls/bruit/page-index.odocl 0.325 -> required by _build/default/_doc/_html/bruit/index.html 0.325 -> required by alias _doc/_html/bruit/doc 0.325 -> required by alias doc 0.358 dune build @doc failed ------ ERROR: failed to build: failed to solve: process "/bin/sh -c ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)" did not complete successfully: exit code: 2 2026-07-08 11:27.06: Job failed: Docker build exited with status 1