Build:
  1. 1
  2. 0
2026-07-14 10:01.11: New job: test local/bruit bc72e8d5cd344f85e15795e840350cba44f88dde ((lint-opam))
Base: ocaml/opam@sha256:cafa9d27c295a906f8352bda7f585dbc78b2f762914fdaa3f8584030c6a8004d
Opam files lint

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: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 c180e1630960e0dbb8e30c22b3de89113eb5cc93 || git fetch origin master) && git reset -q --hard c180e1630960e0dbb8e30c22b3de89113eb5cc93 && 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 bos.0.3.0 cmdliner.2.1.1 csexp.1.5.2 dune.3.20.2 dyn.3.20.2 fmt.0.11.0 fpath.0.7.3 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 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 ocamlgraph.2.2.0 opam-core.2.5.1 opam-dune-lint.0.6 opam-file-format.2.2.0 opam-format.2.5.1 opam-repository.2.5.1 opam-state.2.5.1 ordering.3.20.2 parsexp.v0.17.0 patch.3.1.1 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.17.0 sexplib0.v0.17.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.20.2 swhid_core.0.1 topkg.1.1.1 uutf.1.0.4"
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
ENV CI="true"
ENV OCAMLCI="true"
WORKDIR /src
COPY --chown=1000:1000 . /src/
RUN opam lint
RUN opam exec -- opam-dune-lint
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK

2026-07-14 10:01.11: Waiting for resource in pool docker
2026-07-14 10:01.15: Got resource from pool docker
2026-07-14 10:01.15: Checking out commit bc72e8d5. To reproduce:
                       git clone --recursive "/var/lib/git/repos/bruit" -b "main" && cd "bruit" && git reset --hard bc72e8d5
2026-07-14 10:01.15: Exec: "cp" "-a" "--" "/var/lib/git/repos/bruit/.git" 
                           "/tmp/git-checkout29055e76"
2026-07-14 10:01.15: Exec: "git" "-C" "/tmp/git-checkout29055e76" "submodule" 
                           "deinit" "--force" "--all"
2026-07-14 10:01.16: Exec: "git" "-C" "/tmp/git-checkout29055e76" "reset" 
                           "--hard" "-q" "bc72e8d5cd344f85e15795e840350cba44f88dde"
2026-07-14 10:01.16: Exec: "git" "-c" "protocol.file.allow=always" "-C" 
                           "/tmp/git-checkout29055e76" "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 c180e1630960e0dbb8e30c22b3de89113eb5cc93 || git fetch origin master) && git reset -q --hard c180e1630960e0dbb8e30c22b3de89113eb5cc93 && 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 bos.0.3.0 cmdliner.2.1.1 csexp.1.5.2 dune.3.20.2 dyn.3.20.2 fmt.0.11.0 fpath.0.7.3 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 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 ocamlgraph.2.2.0 opam-core.2.5.1 opam-dune-lint.0.6 opam-file-format.2.2.0 opam-format.2.5.1 opam-repository.2.5.1 opam-state.2.5.1 ordering.3.20.2 parsexp.v0.17.0 patch.3.1.1 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.17.0 sexplib0.v0.17.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.20.2 swhid_core.0.1 topkg.1.1.1 uutf.1.0.4"
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
ENV CI="true"
ENV OCAMLCI="true"
WORKDIR /src
COPY --chown=1000:1000 . /src/
RUN opam lint
RUN opam exec -- opam-dune-lint

2026-07-14 10:01.16: Exec: "docker" "build" "--" "/tmp/git-checkout29055e76"
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 2.20kB 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: 2.20kB 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 [internal] settings cache mount permissions
#7 DONE 0.0s

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

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

#10 [stage-0 12/17] 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 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bos.0.3.0 cmdliner.2.1.1 csexp.1.5.2 dune.3.20.2 dyn.3.20.2 fmt.0.11.0 fpath.0.7.3 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 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 ocamlgraph.2.2.0 opam-core.2.5.1 opam-dune-lint.0.6 opam-file-format.2.2.0 opam-format.2.5.1 opam-repository.2.5.1 opam-state.2.5.1 ordering.3.20.2 parsexp.v0.17.0 patch.3.1.1 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.17.0 sexplib0.v0.17.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.20.2 swhid_core.0.1 topkg.1.1.1 uutf.1.0.4
#10 CACHED

#11 [stage-0  4/17] RUN opam init --reinit -ni
#11 CACHED

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

#13 [stage-0 13/17] 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 bos.0.3.0 cmdliner.2.1.1 csexp.1.5.2 dune.3.20.2 dyn.3.20.2 fmt.0.11.0 fpath.0.7.3 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 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 ocamlgraph.2.2.0 opam-core.2.5.1 opam-dune-lint.0.6 opam-file-format.2.2.0 opam-format.2.5.1 opam-repository.2.5.1 opam-state.2.5.1 ordering.3.20.2 parsexp.v0.17.0 patch.3.1.1 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.17.0 sexplib0.v0.17.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.20.2 swhid_core.0.1 topkg.1.1.1 uutf.1.0.4
#13 CACHED

#14 [stage-0  8/17] RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 cd ~/opam-repository && (git cat-file -e c180e1630960e0dbb8e30c22b3de89113eb5cc93 || git fetch origin master) && git reset -q --hard c180e1630960e0dbb8e30c22b3de89113eb5cc93 && git log --no-decorate -n1 --oneline && opam update -u
#14 CACHED

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

#16 [stage-0 10/17] RUN opam pin add -yn bruit.dev './'
#16 CACHED

#17 [stage-0  2/17] WORKDIR /src
#17 CACHED

#18 [stage-0 11/17] RUN echo '(lang dune 3.0)' > './dune-project'
#18 CACHED

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

#20 [stage-0  6/17] WORKDIR /src
#20 CACHED

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

#22 [stage-0 14/17] WORKDIR /src
#22 CACHED

#23 [stage-0 15/17] COPY --chown=1000:1000 . /src/
#23 DONE 0.0s

#24 [stage-0 16/17] RUN opam lint
#24 0.263 /src/bruit.opam: Warnings.
#24 0.263   warning 62: License doesn't adhere to the SPDX standard, see https://spdx.org/licenses/ : "LICENSE"
#24 DONE 0.3s

#25 [stage-0 17/17] RUN opam exec -- opam-dune-lint
#25 0.577 WARNING: can't find opam package providing "terminal"!
#25 0.577 bruit.opam: changes needed:
#25 0.577   "astring" {>= "0.8.5"}                   [from src]
#25 0.577   "fmt" {>= "0.11.0"}                      [from src]
#25 0.577   "terminal" {>= "0"}                      [from src]
#25 0.577 Note: version numbers are just suggestions based on the currently installed version.
#25 0.578 Run with -f to apply changes in non-interactive mode.
#25 ERROR: process "/bin/sh -c opam exec -- opam-dune-lint" did not complete successfully: exit code: 1
------
 > [stage-0 17/17] RUN opam exec -- opam-dune-lint:
0.577 WARNING: can't find opam package providing "terminal"!
0.577 bruit.opam: changes needed:
0.577   "astring" {>= "0.8.5"}                   [from src]
0.577   "fmt" {>= "0.11.0"}                      [from src]
0.577   "terminal" {>= "0"}                      [from src]
0.577 Note: version numbers are just suggestions based on the currently installed version.
0.578 Run with -f to apply changes in non-interactive mode.
------
ERROR: failed to build: failed to solve: process "/bin/sh -c opam exec -- opam-dune-lint" did not complete successfully: exit code: 1
2026-07-14 10:01.17: Job failed: Docker build exited with status 1