Build:
  1. 1
  2. 0
2026-04-16 14:02.41: New job: test local/bruit 7948d888622ff448b134cd342acc82687a4eb6f1 ((lint-doc))
Base: ocaml/opam@sha256:e02de3f93e9f32bd940cbbfc0ed7ff07acb871ceb6e59f2fd99da435e5cde483
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:e02de3f93e9f32bd940cbbfc0ed7ff07acb871ceb6e59f2fd99da435e5cde483
# 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 3e0c395e7b1393a792367f8edca3654dac71e6fd || git fetch origin master) && git reset -q --hard 3e0c395e7b1393a792367f8edca3654dac71e6fd && 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.22.2 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-04-16 14:02.41: Waiting for resource in pool docker
2026-04-16 14:11.17: Got resource from pool docker
2026-04-16 14:11.17: Checking out commit 7948d888. To reproduce:
                       git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard 7948d888
2026-04-16 14:11.17: Exec: "cp" "-a" "--" "/var/lib/git/repos/bruit/.git" 
                           "/tmp/git-checkout10ebdd3e"
2026-04-16 14:11.17: Exec: "git" "-C" "/tmp/git-checkout10ebdd3e" "submodule" 
                           "deinit" "--force" "--all"
2026-04-16 14:11.17: Exec: "git" "-C" "/tmp/git-checkout10ebdd3e" "reset" 
                           "--hard" "-q" "7948d888622ff448b134cd342acc82687a4eb6f1"
2026-04-16 14:11.17: Exec: "git" "-c" "protocol.file.allow=always" "-C" 
                           "/tmp/git-checkout10ebdd3e" "submodule" "update" 
                           "--recursive" "--init" "--no-fetch"
Writing BuildKit Dockerfile:
# syntax = docker/dockerfile:experimental@sha256:8c69d118cfcd040a222bea7f7d57c6156faa938cb61b47657cd65343babc3664
FROM ocaml/opam@sha256:e02de3f93e9f32bd940cbbfc0ed7ff07acb871ceb6e59f2fd99da435e5cde483
# 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 3e0c395e7b1393a792367f8edca3654dac71e6fd || git fetch origin master) && git reset -q --hard 3e0c395e7b1393a792367f8edca3654dac71e6fd && 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.22.2 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-04-16 14:11.17: Exec: "docker" "build" "--" "/tmp/git-checkout10ebdd3e"
#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 build definition from Dockerfile
#4 transferring dockerfile: 1.74kB done
#4 DONE 0.0s

#5 [internal] load .dockerignore
#5 transferring context: 44B done
#5 DONE 0.0s

#6 [internal] load metadata for docker.io/ocaml/opam@sha256:e02de3f93e9f32bd940cbbfc0ed7ff07acb871ceb6e59f2fd99da435e5cde483
#6 DONE 0.0s

#7 [stage-0  1/16] FROM docker.io/ocaml/opam@sha256:e02de3f93e9f32bd940cbbfc0ed7ff07acb871ceb6e59f2fd99da435e5cde483
#7 DONE 0.0s

#8 [stage-0  5/16] RUN uname -rs && opam exec -- ocaml -version && opam --version
#8 CACHED

#9 [stage-0  6/16] WORKDIR /src
#9 CACHED

#10 [stage-0  3/16] RUN sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam
#10 CACHED

#11 [stage-0  2/16] WORKDIR /src
#11 CACHED

#12 [stage-0  4/16] RUN opam init --reinit -ni
#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 3e0c395e7b1393a792367f8edca3654dac71e6fd || git fetch origin master) && git reset -q --hard 3e0c395e7b1393a792367f8edca3654dac71e6fd && git log --no-decorate -n1 --oneline && opam update -u
#16 39.24 3e0c395e7b [new release] dune (18 packages) (3.22.2)
#16 39.59 
#16 39.59 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
#16 43.11 [default] synchronised from git+file:///home/opam/opam-repository
#16 51.88 
#16 56.33 Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
#16 56.33 However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
#16 56.33 Nothing to do.
#16 56.33 # Run eval $(opam env) to update the current shell environment
#16 DONE 56.9s

#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.073 Package bruit does not exist, create as a NEW package? [y/n] y
#18 1.125 [bruit.dev] synchronised (file:///src)
#18 1.125 [WARNING] Failed checks on bruit package definition from source at file:///src:
#18 1.125   warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/ : "LICENSE"
#18 1.127 bruit is now pinned to file:///src (version dev)
#18 DONE 1.2s

#19 [stage-0 11/16] RUN echo '(lang dune 3.0)' > './dune-project'
#19 DONE 0.2s

#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.22.2 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1
#20 0.183 + /usr/bin/sudo "apt-get" "update"
#20 0.981 - Hit:1 http://deb.debian.org/debian trixie InRelease
#20 0.981 - Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
#20 0.981 - Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
#20 0.981 - Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [123 kB]
#20 0.981 - Fetched 213 kB in 0s (1185 kB/s)
#20 0.981 - Reading package lists...
#20 1.332 
#20 1.332 <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
#20 1.389 [bruit.dev] synchronised (file:///src)
#20 1.392 
#20 2.054 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
#20 2.054 [NOTE] Package ocaml-config is already installed (current version is 3).
#20 2.054 [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
#20 2.054 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
#20 2.054 [NOTE] Package ocaml is already installed (current version is 5.3.0).
#20 2.054 [NOTE] Package base-unix is already installed (current version is base).
#20 2.054 [NOTE] Package base-threads is already installed (current version is base).
#20 2.054 [NOTE] Package base-nnp is already installed (current version is base).
#20 2.054 [NOTE] Package base-effects is already installed (current version is base).
#20 2.054 [NOTE] Package base-domains is already installed (current version is base).
#20 2.054 [NOTE] Package base-bigarray is already installed (current version is base).
#20 DONE 6.9s

#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.22.2 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1
#21 1.325 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
#21 1.325 [NOTE] Package ocaml-config is already installed (current version is 3).
#21 1.325 [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
#21 1.325 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
#21 1.325 [NOTE] Package ocaml is already installed (current version is 5.3.0).
#21 1.325 [NOTE] Package base-unix is already installed (current version is base).
#21 1.325 [NOTE] Package base-threads is already installed (current version is base).
#21 1.325 [NOTE] Package base-nnp is already installed (current version is base).
#21 1.325 [NOTE] Package base-effects is already installed (current version is base).
#21 1.325 [NOTE] Package base-domains is already installed (current version is base).
#21 1.325 [NOTE] Package base-bigarray is already installed (current version is base).
#21 5.274 The following actions will be performed:
#21 5.274 === install 1 package
#21 5.274   - install dune 3.22.2
#21 5.275 
#21 5.275 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
#21 7.278 -> retrieved dune.3.22.2  (cached)
#21 41.10 -> installed dune.3.22.2
#21 41.62 Done.
#21 41.62 # Run eval $(opam env) to update the current shell environment
#21 DONE 41.8s

#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.169 [NOTE] Package dune is already installed (current version is 3.22.2).
#22 5.320 The following actions will be performed:
#22 5.320 === install 17 packages
#22 5.320   - install astring       0.8.5  [required by odoc]
#22 5.320   - install camlp-streams 5.0.1  [required by odoc-parser]
#22 5.320   - install cmdliner      2.1.0  [required by odoc]
#22 5.320   - install cppo          1.8.0  [required by odoc]
#22 5.320   - install crunch        4.0.0  [required by odoc]
#22 5.320   - install fmt           0.11.0 [required by odoc]
#22 5.320   - install fpath         0.7.3  [required by odoc]
#22 5.320   - install ocamlbuild    0.16.1 [required by fmt, astring, fpath]
#22 5.320   - install ocamlfind     1.9.8  [required by fmt, astring, fpath]
#22 5.320   - install odoc          3.1.0
#22 5.320   - install odoc-parser   3.1.0  [required by odoc]
#22 5.320   - install ptime         1.2.0  [required by crunch]
#22 5.320   - install re            1.14.0 [required by tyxml]
#22 5.320   - install seq           base   [required by tyxml]
#22 5.320   - install topkg         1.1.1  [required by fmt, astring, fpath]
#22 5.320   - install tyxml         4.6.0  [required by odoc]
#22 5.320   - install uutf          1.0.4  [required by tyxml]
#22 5.321 
#22 5.321 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
#22 5.337 -> retrieved camlp-streams.5.0.1  (cached)
#22 5.353 -> retrieved astring.0.8.5  (cached)
#22 5.380 -> retrieved cppo.1.8.0  (cached)
#22 5.412 -> retrieved cmdliner.2.1.0  (cached)
#22 5.424 -> retrieved crunch.4.0.0  (cached)
#22 5.429 -> retrieved fmt.0.11.0  (cached)
#22 5.438 -> retrieved fpath.0.7.3  (cached)
#22 5.498 -> retrieved ocamlbuild.0.16.1  (cached)
#22 5.533 -> retrieved ocamlfind.1.9.8  (cached)
#22 5.545 -> retrieved ptime.1.2.0  (cached)
#22 5.546 -> retrieved seq.base  (cached)
#22 5.586 -> retrieved re.1.14.0  (cached)
#22 5.620 -> retrieved topkg.1.1.1  (cached)
#22 5.668 -> retrieved tyxml.4.6.0  (cached)
#22 5.673 -> retrieved uutf.1.0.4  (cached)
#22 6.704 -> retrieved odoc.3.1.0, odoc-parser.3.1.0  (cached)
#22 6.745 -> installed camlp-streams.5.0.1
#22 6.776 -> installed cppo.1.8.0
#22 9.719 -> installed cmdliner.2.1.0
#22 9.865 -> installed ocamlfind.1.9.8
#22 9.871 -> installed seq.base
#22 9.941 -> installed re.1.14.0
#22 12.11 -> installed ocamlbuild.0.16.1
#22 17.27 -> installed topkg.1.1.1
#22 18.28 -> installed fmt.0.11.0
#22 18.39 -> installed ptime.1.2.0
#22 18.61 -> installed astring.0.8.5
#22 19.08 -> installed crunch.4.0.0
#22 19.16 -> installed uutf.1.0.4
#22 19.23 -> installed fpath.0.7.3
#22 19.86 -> installed odoc-parser.3.1.0
#22 21.70 -> installed tyxml.4.6.0
#22 30.60 -> installed odoc.3.1.0
#22 31.01 Done.
#22 31.01 # Run eval $(opam env) to update the current shell environment
#22 DONE 31.3s

#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.265 File "src/dune", line 3, characters 12-20:
#24 0.265 3 |  (libraries terminal unix fmt astring)
#24 0.265                 ^^^^^^^^
#24 0.265 Error: Library "terminal" not found.
#24 0.265 -> required by library "bruit" in _build/default/src
#24 0.265 -> required by _build/default/_doc/_odocls/bruit/page-index.odocl
#24 0.265 -> required by _build/default/_doc/_html/bruit/index.html
#24 0.265 -> required by alias _doc/_html/bruit/doc
#24 0.265 -> required by alias doc
#24 0.284 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.265 File "src/dune", line 3, characters 12-20:
0.265 3 |  (libraries terminal unix fmt astring)
0.265                 ^^^^^^^^
0.265 Error: Library "terminal" not found.
0.265 -> required by library "bruit" in _build/default/src
0.265 -> required by _build/default/_doc/_odocls/bruit/page-index.odocl
0.265 -> required by _build/default/_doc/_html/bruit/index.html
0.265 -> required by alias _doc/_html/bruit/doc
0.265 -> required by alias doc
0.284 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-04-16 14:13.36: Job failed: Docker build exited with status 1