Build:
  1. 0
2026-09-17 13:42.14: New job: test local/bruit aa905e056e23c356f7b80c82c4eba1718be4942f (debian-13-5.3_opam-2.5)
Base: ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d
Opam project build

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard aa905e05
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.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 85a67e9d501a007b4bab20448f3301f816ec5eda || git fetch origin master) && git reset -q --hard 85a67e9d501a007b4bab20448f3301f816ec5eda && 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="astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.2 fmt.0.11.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 topkg.1.1.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-09-17 13:42.14: Waiting for resource in pool docker
2026-09-17 13:43.09: Got resource from pool docker
2026-09-17 13:43.09: Checking out commit aa905e05. To reproduce:
                       git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard aa905e05
2026-09-17 13:43.09: Exec: "cp" "-a" "--" "/var/lib/git/repos/bruit/.git" 
                           "/tmp/git-checkout742851"
2026-09-17 13:43.09: Exec: "git" "-C" "/tmp/git-checkout742851" "submodule" 
                           "deinit" "--force" "--all"
2026-09-17 13:43.09: Exec: "git" "-C" "/tmp/git-checkout742851" "reset" 
                           "--hard" "-q" "aa905e056e23c356f7b80c82c4eba1718be4942f"
2026-09-17 13:43.09: Exec: "git" "-c" "protocol.file.allow=always" "-C" 
                           "/tmp/git-checkout742851" "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.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 85a67e9d501a007b4bab20448f3301f816ec5eda || git fetch origin master) && git reset -q --hard 85a67e9d501a007b4bab20448f3301f816ec5eda && 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="astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.2 fmt.0.11.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 topkg.1.1.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-09-17 13:43.09: Exec: "docker" "build" "--" "/tmp/git-checkout742851"
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 1.66kB 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.66kB 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:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d
#6 DONE 0.0s

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

#8 [internal] settings cache mount permissions
#8 CACHED

#9 [internal] load build context
#9 transferring context: 42.72kB done
#9 DONE 0.0s

#10 [stage-0  6/15] WORKDIR /src
#10 CACHED

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

#12 [stage-0  3/15] RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam
#12 CACHED

#13 [stage-0  4/15] RUN opam init --reinit -ni
#13 CACHED

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

#15 [stage-0  7/15] RUN sudo chown opam /src
#15 CACHED

#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 85a67e9d501a007b4bab20448f3301f816ec5eda || git fetch origin master) && git reset -q --hard 85a67e9d501a007b4bab20448f3301f816ec5eda && git log --no-decorate -n1 --oneline && opam update -u
#16 CACHED

#17 [stage-0  9/15] COPY --chown=1000:1000 bruit.opam ./
#17 DONE 0.1s

#18 [stage-0 10/15] RUN opam pin add -yn bruit.dev './'
#18 1.345 [NOTE] Package bruit does not exist in opam repositories registered in the current switch.
#18 1.410 [bruit.dev] synchronised (file:///src)
#18 1.410 [WARNING] Failed checks on bruit package definition from source at file:///src:
#18 1.410   warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/ : "BSD-2"
#18 1.412 bruit is now pinned to file:///src (version dev)
#18 DONE 1.5s

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

#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 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.2 fmt.0.11.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 topkg.1.1.1
#20 0.205 + /usr/bin/sudo "apt-get" "update"
#20 1.205 - Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
#20 1.205 - Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
#20 1.205 - Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
#20 1.205 - Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9678 kB]
#20 1.205 - Get:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages.diff/Index [4995 B]
#20 1.205 - Err:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages.diff/Index
#20 1.205 -   Need 4750 compressed bytes, but limit is 4412 and original is 4412
#20 1.205 - Get:6 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [262 kB]
#20 1.205 - Get:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages.diff/Index [4995 B]
#20 1.205 - Ign:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages.diff/Index
#20 1.205 - Get:7 http://deb.debian.org/debian trixie-updates/main amd64 Packages [4412 B]
#20 1.205 - Fetched 10.2 MB in 1s (12.4 MB/s)
#20 1.205 - Reading package lists...
#20 1.679 - 
#20 2.039 
#20 2.039 <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
#20 2.320 [bruit.dev] synchronised (file:///src)
#20 2.322 
#20 3.076 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
#20 3.076 [NOTE] Package ocaml-config is already installed (current version is 3).
#20 3.076 [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
#20 3.076 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
#20 3.076 [NOTE] Package ocaml is already installed (current version is 5.3.0).
#20 3.076 [NOTE] Package base-unix is already installed (current version is base).
#20 3.076 [NOTE] Package base-threads is already installed (current version is base).
#20 3.076 [NOTE] Package base-nnp is already installed (current version is base).
#20 3.076 [NOTE] Package base-effects is already installed (current version is base).
#20 3.076 [NOTE] Package base-domains is already installed (current version is base).
#20 3.076 [NOTE] Package base-bigarray is already installed (current version is base).
#20 3.110 [NOTE] It seems you have not updated your repositories for a while. Consider updating them with:
#20 3.110        opam update
#20 3.110 
#20 6.814 # To update the current shell environment, run: eval $(opam env)
#20 DONE 6.9s

#21 [stage-0 13/15] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam install astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base dune.3.24.2 fmt.0.11.0 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 topkg.1.1.1
#21 1.322 [NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
#21 1.322 [NOTE] Package ocaml-config is already installed (current version is 3).
#21 1.322 [NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
#21 1.322 [NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
#21 1.322 [NOTE] Package ocaml is already installed (current version is 5.3.0).
#21 1.322 [NOTE] Package base-unix is already installed (current version is base).
#21 1.322 [NOTE] Package base-threads is already installed (current version is base).
#21 1.322 [NOTE] Package base-nnp is already installed (current version is base).
#21 1.322 [NOTE] Package base-effects is already installed (current version is base).
#21 1.322 [NOTE] Package base-domains is already installed (current version is base).
#21 1.322 [NOTE] Package base-bigarray is already installed (current version is base).
#21 1.356 [NOTE] It seems you have not updated your repositories for a while. Consider updating them with:
#21 1.356        opam update
#21 1.356 
#21 4.457 The following actions will be performed:
#21 4.457 === install 6 packages
#21 4.457   - install astring    0.8.5
#21 4.457   - install dune       3.24.2
#21 4.457   - install fmt        0.11.0
#21 4.457   - install ocamlbuild 0.16.1
#21 4.457   - install ocamlfind  1.9.8
#21 4.457   - install topkg      1.1.1
#21 4.457 
#21 4.457 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
#21 4.831 -> retrieved astring.0.8.5  (cached)
#21 4.842 -> retrieved fmt.0.11.0  (cached)
#21 4.922 -> retrieved ocamlbuild.0.16.1  (cached)
#21 4.981 -> retrieved ocamlfind.1.9.8  (cached)
#21 5.007 -> retrieved topkg.1.1.1  (cached)
#21 6.420 -> retrieved dune.3.24.2  (cached)
#21 11.04 -> installed ocamlfind.1.9.8
#21 11.09 -> installed ocamlbuild.0.16.1
#21 14.85 -> installed topkg.1.1.1
#21 15.93 -> installed fmt.0.11.0
#21 16.26 -> installed astring.0.8.5
#21 43.07 -> installed dune.3.24.2
#21 43.71 Done.
#21 43.71 # To update the current shell environment, run: eval $(opam env)
#21 DONE 43.9s

#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.326 File "example/brr/dune", line 4, characters 17-26:
#23 0.326 4 |  (libraries ansi bruit.brr)
#23 0.326                      ^^^^^^^^^
#23 0.326 Error: Library "bruit.brr" in _build/default/src/brr is hidden (optional with
#23 0.326 unavailable dependencies).
#23 0.326 -> required by
#23 0.326    _build/default/example/brr/.index.eobjs/byte/dune__exe__Index.cmi
#23 0.326 -> required by alias example/brr/check
#23 0.327 File "example/unix/dune", line 3, characters 29-37:
#23 0.327 3 |  (libraries bruit bruit.unix terminal fmt.tty))
#23 0.327                                  ^^^^^^^^
#23 0.327 Error: Library "terminal" not found.
#23 0.327 -> required by
#23 0.327    _build/default/example/unix/.simple.eobjs/byte/dune__exe__Main.cmi
#23 0.327 -> required by alias example/unix/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.326 -> required by
0.326    _build/default/example/brr/.index.eobjs/byte/dune__exe__Index.cmi
0.326 -> required by alias example/brr/check
0.327 File "example/unix/dune", line 3, characters 29-37:
0.327 3 |  (libraries bruit bruit.unix terminal fmt.tty))
0.327                                  ^^^^^^^^
0.327 Error: Library "terminal" not found.
0.327 -> required by
0.327    _build/default/example/unix/.simple.eobjs/byte/dune__exe__Main.cmi
0.327 -> required by alias example/unix/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-09-17 13:44.03: Job failed: Docker build exited with status 1