2026-08-14 14:04.03: New job: test local/bruit bc72e8d5cd344f85e15795e840350cba44f88dde (debian-13-5.4_opam-2.5) Base: ocaml/opam@sha256:e14945f34f4405bb2413a1e809ef4eb65a7811d9f4b8131e1d6484ea23e437fc Opam project build To reproduce locally: cd $(mktemp -d) git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard bc72e8d5 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam@sha256:e14945f34f4405bb2413a1e809ef4eb65a7811d9f4b8131e1d6484ea23e437fc # debian-13-5.4_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 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.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 ocaml-config.3 ocaml-options-vanilla.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y bruit.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-08-14 14:04.03: Waiting for resource in pool docker 2026-08-14 14:04.03: Got resource from pool docker 2026-08-14 14:04.03: Checking out commit bc72e8d5. To reproduce: git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard bc72e8d5 2026-08-14 14:04.03: Exec: "cp" "-a" "--" "/var/lib/git/repos/bruit/.git" "/tmp/git-checkout278064d0" 2026-08-14 14:04.03: Exec: "git" "-C" "/tmp/git-checkout278064d0" "submodule" "deinit" "--force" "--all" 2026-08-14 14:04.03: Exec: "git" "-C" "/tmp/git-checkout278064d0" "reset" "--hard" "-q" "bc72e8d5cd344f85e15795e840350cba44f88dde" 2026-08-14 14:04.03: Exec: "git" "-c" "protocol.file.allow=always" "-C" "/tmp/git-checkout278064d0" "submodule" "update" "--recursive" "--init" "--no-fetch" Writing BuildKit Dockerfile: # syntax = docker/dockerfile:experimental@sha256:8c69d118cfcd040a222bea7f7d57c6156faa938cb61b47657cd65343babc3664 FROM ocaml/opam@sha256:e14945f34f4405bb2413a1e809ef4eb65a7811d9f4b8131e1d6484ea23e437fc # debian-13-5.4_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 --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.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 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.5 --depext-only -y bruit.dev $DEPS RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build 2026-08-14 14:04.03: Exec: "docker" "build" "--" "/tmp/git-checkout278064d0" #0 building with "default" instance using docker driver #1 [internal] load build definition from Dockerfile #1 transferring dockerfile: 1.59kB done #1 DONE 0.0s #2 resolve image config for docker-image://docker.io/docker/dockerfile:experimental@sha256:8c69d118cfcd040a222bea7f7d57c6156faa938cb61b47657cd65343babc3664 #2 DONE 0.8s #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.59kB done #5 DONE 0.0s #6 [internal] load metadata for docker.io/ocaml/opam@sha256:e14945f34f4405bb2413a1e809ef4eb65a7811d9f4b8131e1d6484ea23e437fc #6 DONE 0.0s #7 [stage-0 1/15] FROM docker.io/ocaml/opam@sha256:e14945f34f4405bb2413a1e809ef4eb65a7811d9f4b8131e1d6484ea23e437fc #7 CACHED #8 [internal] settings cache mount permissions #8 CACHED #9 [internal] load build context #9 transferring context: 27.94kB done #9 DONE 0.0s #10 [stage-0 2/15] WORKDIR /src #10 DONE 0.0s #11 [stage-0 3/15] RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam #11 DONE 0.3s #12 [stage-0 4/15] RUN opam init --reinit -ni #12 0.186 Configuring from /home/opam/.opamrc and then from built-in defaults. #12 0.186 Checking for available remotes: rsync and local, git. #12 0.187 - you won't be able to use mercurial repositories unless you install the hg command on your system. #12 0.187 - you won't be able to use darcs repositories unless you install the darcs command on your system. #12 0.187 #12 0.208 This version of opam requires an update to the layout of /home/opam/.opam from version 2.1 to version 2.2, which can't be reverted. #12 0.208 You may want to back it up before going further. #12 0.208 #12 0.209 Continue? [Y/n] y #12 0.209 [NOTE] The 'jobs' option was reset, its value was 1 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using: #12 0.209 opam option jobs=1 --global #12 0.211 Format upgrade done. #12 7.059 #12 7.059 <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> #12 9.025 [default] no changes from git+file:///home/opam/opam-repository #12 DONE 10.9s #13 [stage-0 5/15] RUN uname -rs && opam exec -- ocaml -version && opam --version #13 0.144 Linux 6.12.77 #13 0.195 The OCaml toplevel, version 5.4.1 #13 0.208 2.5.2 #13 DONE 0.2s #14 [stage-0 6/15] WORKDIR /src #14 DONE 0.0s #15 [stage-0 7/15] RUN sudo chown opam /src #15 DONE 0.3s #16 [stage-0 8/15] 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 39.84 662e6a3427 [new release] dune (18 packages) (3.24.0) #16 40.14 #16 40.14 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> #16 46.09 [default] synchronised from git+file:///home/opam/opam-repository #16 46.59 #16 50.04 Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). #16 50.04 #16 50.04 The following packages are not being upgraded because the new versions conflict with other installed packages: #16 50.04 - ocaml.5.5.1 #16 50.04 - ocaml-compiler.5.5.0 #16 50.04 However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.5.1"), which will ask permission to downgrade or uninstall the conflicting packages. #16 50.04 Nothing to do. #16 50.04 # To update the current shell environment, run: eval $(opam env) #16 DONE 50.5s #17 [stage-0 9/15] COPY --chown=1000:1000 bruit.opam ./ #17 DONE 0.0s #18 [stage-0 10/15] RUN opam pin add -yn bruit.dev './' #18 1.108 [NOTE] Package bruit does not exist in opam repositories registered in the current switch. #18 1.171 [bruit.dev] synchronised (file:///src) #18 1.172 [WARNING] Failed checks on bruit package definition from source at file:///src: #18 1.172 warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/ : "LICENSE" #18 1.174 bruit is now pinned to file:///src (version dev) #18 DONE 1.2s #19 [stage-0 11/15] RUN echo '(lang dune 3.0)' > './dune-project' #19 DONE 0.4s #20 [stage-0 12/15] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam update --depexts && opam install --cli=2.5 --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.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 ocaml-config.3 ocaml-options-vanilla.1 #20 0.177 + /usr/bin/sudo "apt-get" "update" #20 0.896 - Hit:1 http://deb.debian.org/debian trixie InRelease #20 0.896 - Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB] #20 0.896 - Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB] #20 0.896 - Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [240 kB] #20 0.896 - Fetched 331 kB in 0s (1680 kB/s) #20 0.896 - Reading package lists... #20 1.233 #20 1.233 <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> #20 1.491 [bruit.dev] synchronised (file:///src) #20 1.495 #20 2.132 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). #20 2.132 [NOTE] Package ocaml-config is already installed (current version is 3). #20 2.132 [NOTE] Package ocaml-compiler is already installed (current version is 5.4.1). #20 2.132 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.1). #20 2.132 [NOTE] Package ocaml is already installed (current version is 5.4.1). #20 2.132 [NOTE] Package base-unix is already installed (current version is base). #20 2.132 [NOTE] Package base-threads is already installed (current version is base). #20 2.132 [NOTE] Package base-nnp is already installed (current version is base). #20 2.132 [NOTE] Package base-effects is already installed (current version is base). #20 2.132 [NOTE] Package base-domains is already installed (current version is base). #20 2.132 [NOTE] Package base-bigarray is already installed (current version is base). #20 5.720 # To update the current shell environment, run: eval $(opam env) #20 DONE 5.8s #21 [stage-0 13/15] 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.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 ocaml-config.3 ocaml-options-vanilla.1 #21 1.201 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). #21 1.201 [NOTE] Package ocaml-config is already installed (current version is 3). #21 1.201 [NOTE] Package ocaml-compiler is already installed (current version is 5.4.1). #21 1.201 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.1). #21 1.201 [NOTE] Package ocaml is already installed (current version is 5.4.1). #21 1.201 [NOTE] Package base-unix is already installed (current version is base). #21 1.201 [NOTE] Package base-threads is already installed (current version is base). #21 1.201 [NOTE] Package base-nnp is already installed (current version is base). #21 1.201 [NOTE] Package base-effects is already installed (current version is base). #21 1.201 [NOTE] Package base-domains is already installed (current version is base). #21 1.201 [NOTE] Package base-bigarray is already installed (current version is base). #21 4.174 The following actions will be performed: #21 4.174 === install 1 package #21 4.174 - install dune 3.24.0 #21 4.174 #21 4.174 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> #21 6.197 -> retrieved dune.3.24.0 (cached) #21 42.85 -> installed dune.3.24.0 #21 43.49 Done. #21 43.49 # To update the current shell environment, run: eval $(opam env) #21 DONE 43.6s #22 [stage-0 14/15] COPY --chown=1000:1000 . /src #22 DONE 0.0s #23 [stage-0 15/15] RUN opam exec -- dune build @install @check @runtest && rm -rf _build #23 0.336 File "example/dune", line 3, characters 18-25: #23 0.336 3 | (libraries bruit fmt.tty)) #23 0.336 ^^^^^^^ #23 0.336 Error: Library "fmt.tty" not found. #23 0.336 -> required by _build/default/example/.main.eobjs/byte/dune__exe__Main.cmi #23 0.336 -> required by alias example/check #23 0.337 File "src/dune", line 3, characters 30-37: #23 0.337 3 | (libraries terminal unix fmt astring) #23 0.337 ^^^^^^^ #23 0.337 Error: Library "astring" not found. #23 0.337 -> required by library "bruit" in _build/default/src #23 0.337 -> required by _build/default/src/.bruit.objs/byte/bruit.cmi #23 0.337 -> required by alias src/check #23 ERROR: process "/bin/sh -c opam exec -- dune build @install @check @runtest && rm -rf _build" did not complete successfully: exit code: 1 ------ > [stage-0 15/15] RUN opam exec -- dune build @install @check @runtest && rm -rf _build: 0.336 Error: Library "fmt.tty" not found. 0.336 -> required by _build/default/example/.main.eobjs/byte/dune__exe__Main.cmi 0.336 -> required by alias example/check 0.337 File "src/dune", line 3, characters 30-37: 0.337 3 | (libraries terminal unix fmt astring) 0.337 ^^^^^^^ 0.337 Error: Library "astring" not found. 0.337 -> required by library "bruit" in _build/default/src 0.337 -> required by _build/default/src/.bruit.objs/byte/bruit.cmi 0.337 -> required by alias src/check ------ ERROR: failed to build: failed to solve: process "/bin/sh -c opam exec -- dune build @install @check @runtest && rm -rf _build" did not complete successfully: exit code: 1 2026-08-14 14:05.58: Job failed: Docker build exited with status 1