2025-09-28 15:11.14: New job: test mbarbin/dunolint https://github.com/mbarbin/dunolint.git#refs/heads/test-workspaces (2b7e72e717bbf667c00760326d4872952e80c4ff) (linux-x86_64:(lint-doc))
Base: ocaml/opam:debian-13-ocaml-5.2@sha256:984d9490e0a1ce0f5250b287a3e18d57c5d896c2798cdb35bfdcd62bbcc563d0
Opam project lint documentation
To reproduce locally:
git clone --recursive "https://github.com/mbarbin/dunolint.git" -b "test-workspaces" && cd "dunolint" && git reset --hard 2b7e72e7
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.2@sha256:984d9490e0a1ce0f5250b287a3e18d57c5d896c2798cdb35bfdcd62bbcc563d0
# debian-13-5.2_opam-2.4
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 3f21ebe342ce440d9c9142ffe1185d8e5a326085 || git fetch origin master) && git reset -q --hard 3f21ebe342ce440d9c9142ffe1185d8e5a326085 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-lib-base.opam dunolint-dev.opam ./
RUN opam pin add -yn dunolint.dev './' && \
opam pin add -yn dunolint-tests.dev './' && \
opam pin add -yn dunolint-lib.dev './' && \
opam pin add -yn dunolint-lib-base.dev './' && \
opam pin add -yn dunolint-dev.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base csexp.1.5.2 dune.3.20.2 dune-configurator.3.20.2 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 ocaml.5.2.1 ocaml-base-compiler.5.2.1 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_enumerate.v0.17.0 ppx_sexp_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 topkg.1.1.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.2 --depext-only -y dunolint-lib.dev dunolint-lib-base.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 --only-packages=dunolint-lib,dunolint-lib-base @doc || (echo "dune build @doc failed"; exit 2)
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-09-28 15:11.14: Using cache hint "mbarbin/dunolint-ocaml/opam:debian-13-ocaml-5.2@sha256:984d9490e0a1ce0f5250b287a3e18d57c5d896c2798cdb35bfdcd62bbcc563d0-debian-13-5.2_opam-2.4-777f311c4c52ff516910ed45c521d1ab"
2025-09-28 15:11.14: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.2@sha256:984d9490e0a1ce0f5250b287a3e18d57c5d896c2798cdb35bfdcd62bbcc563d0)
(comment debian-13-5.2_opam-2.4)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 3f21ebe342ce440d9c9142ffe1185d8e5a326085 || git fetch origin master) && git reset -q --hard 3f21ebe342ce440d9c9142ffe1185d8e5a326085 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-lib-base.opam dunolint-dev.opam)
(dst ./))
(run (network host)
(shell "opam pin add -yn dunolint.dev './' && \
\nopam pin add -yn dunolint-tests.dev './' && \
\nopam pin add -yn dunolint-lib.dev './' && \
\nopam pin add -yn dunolint-lib-base.dev './' && \
\nopam pin add -yn dunolint-dev.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base csexp.1.5.2 dune.3.20.2 dune-configurator.3.20.2 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 ocaml.5.2.1 ocaml-base-compiler.5.2.1 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_enumerate.v0.17.0 ppx_sexp_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 topkg.1.1.0")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.2 --depext-only -y dunolint-lib.dev dunolint-lib-base.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install --yes dune 'odoc>=1.5.0'"))
(copy (src .) (dst /src/))
(run (shell "ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=dunolint-lib,dunolint-lib-base @doc || (echo \"dune build @doc failed\"; exit 2)"))
)
2025-09-28 15:11.14: Waiting for resource in pool OCluster
2025-09-28 15:11.14: Waiting for worker…
2025-09-28 15:12.25: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
HEAD is now at 2b7e72e Extend --help man page for commands with info about dune workspace
(from ocaml/opam:debian-13-ocaml-5.2@sha256:984d9490e0a1ce0f5250b287a3e18d57c5d896c2798cdb35bfdcd62bbcc563d0)
2025-09-28 15:12.49 ---> saved as "9548e78a507c80b995a7fc0f058a6e164acbd87e20aba9687b0e7efc1668edfe"
/: (comment debian-13-5.2_opam-2.4)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
2025-09-28 15:12.50 ---> saved as "84a76de92ead724192ed386a01cddd23c2d411c8c34611273af4c6d4a5e284c3"
/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
Continue? [y/n] y
This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-09-28 15:13.26 ---> saved as "db608a29f0ae70a26fe528eb6c36886fdc448f5ec980c5a062392018882e282d"
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-153-generic
The OCaml toplevel, version 5.2.1
2.2.1
2025-09-28 15:13.26 ---> saved as "90b65b8550dd3a8cbb13c0bbc7dfe835f6981f34d20546d97d9cbabb184ce286"
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-09-28 15:13.26 ---> saved as "54e8ca90f74a6c1ab29eced5f0e730271e1c6aeef2fa402d12cc07594f85504b"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 3f21ebe342ce440d9c9142ffe1185d8e5a326085 || git fetch origin master) && git reset -q --hard 3f21ebe342ce440d9c9142ffe1185d8e5a326085 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
bcac5d1731..3c6a0f524c master -> origin/master
3f21ebe342 Merge pull request #28544 from vouillon/opam-publish-re.1.14.0
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository
Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# Run eval $(opam env) to update the current shell environment
2025-09-28 15:14.01 ---> saved as "1dc8107f1b4baeb925ad931feb5124a3df66501adbd72612d58aaac5be04d057"
/src: (copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-lib-base.opam dunolint-dev.opam)
(dst ./))
2025-09-28 15:14.01 ---> saved as "69a22a2b6305242f193da8af41669cecb5fcac3b3593acc63e9b6378efb36817"
/src: (run (network host)
(shell "opam pin add -yn dunolint.dev './' && \
\nopam pin add -yn dunolint-tests.dev './' && \
\nopam pin add -yn dunolint-lib.dev './' && \
\nopam pin add -yn dunolint-lib-base.dev './' && \
\nopam pin add -yn dunolint-dev.dev './'"))
[dunolint.dev] synchronised (file:///src)
dunolint is now pinned to file:///src (version dev)
Package dunolint-tests does not exist, create as a NEW package? [y/n] y
[dunolint-tests.dev] synchronised (file:///src)
dunolint-tests is now pinned to file:///src (version dev)
[dunolint-lib.dev] synchronised (file:///src)
dunolint-lib is now pinned to file:///src (version dev)
Package dunolint-lib-base does not exist, create as a NEW package? [y/n] y
[dunolint-lib-base.dev] synchronised (file:///src)
dunolint-lib-base is now pinned to file:///src (version dev)
Package dunolint-dev does not exist, create as a NEW package? [y/n] y
[dunolint-dev.dev] synchronised (file:///src)
dunolint-dev is now pinned to file:///src (version dev)
2025-09-28 15:14.16 ---> saved as "cc397371f86861179cf753ddc53f560c8400d19984c79205af0cf15675d2472f"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-09-28 15:14.17 ---> saved as "446c8966506d7d26bb838d11bec198c36370d89bbd681cf0167dd53cbc4c62f5"
/src: (env DEPS "astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-nnp.base base-threads.base base-unix.base csexp.1.5.2 dune.3.20.2 dune-configurator.3.20.2 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 ocaml.5.2.1 ocaml-base-compiler.5.2.1 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_enumerate.v0.17.0 ppx_sexp_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 topkg.1.1.0")
/src: (env CI true)
/src: (env OCAMLCI true)
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.2 --depext-only -y dunolint-lib.dev dunolint-lib-base.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [47.7 kB]
- Fetched 138 kB in 0s (771 kB/s)
- Reading package lists...
-
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[dunolint-lib.dev] synchronised (file:///src)
[dunolint-lib-base.dev] synchronised (file:///src)
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.2.1).
[NOTE] Package ocaml is already installed (current version is 5.2.1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2025-09-28 15:14.35 ---> saved as "25d4c4f2b62bf89e68124a039027f50447b52e54dbccc00504df648763a90ec8"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.2.1).
[NOTE] Package ocaml is already installed (current version is 5.2.1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 22 packages
- install astring 0.8.5
- install base v0.17.3
- install csexp 1.5.2
- install dune 3.20.2
- install dune-configurator 3.20.2
- install fpath 0.7.3
- install fpath-base 0.3.1
- install fpath-sexp0 0.3.1
- install ocaml-compiler-libs v0.17.0
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ppx_compare v0.17.0
- install ppx_derivers 1.2.1
- install ppx_enumerate v0.17.0
- install ppx_sexp_conv v0.17.0
- install ppxlib 0.35.0
- install ppxlib_jane v0.17.0
- install re 1.14.0
- install sexplib0 v0.17.0
- install stdlib-shims 0.3.0
- install topkg 1.1.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved csexp.1.5.2 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved base.v0.17.3 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved fpath-base.0.3.1, fpath-sexp0.0.3.1 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ppx_compare.v0.17.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_enumerate.v0.17.0 (cached)
-> retrieved ppx_sexp_conv.v0.17.0 (cached)
-> retrieved ppxlib_jane.v0.17.0 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved topkg.1.1.0 (cached)
-> retrieved ppxlib.0.35.0 (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2 (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.20.2
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed re.1.14.0
-> installed fpath-sexp0.0.3.1
-> installed dune-configurator.3.20.2
-> installed base.v0.17.3
-> installed fpath-base.0.3.1
-> installed ppxlib.0.35.0
-> installed ppxlib_jane.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_sexp_conv.v0.17.0
Done.
# Run eval $(opam env) to update the current shell environment
2025-09-28 15:16.28 ---> saved as "e59133b00183f4f8637e28bec183a2edceb9808ef69197203b54a6eb8c54c647"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install --yes dune 'odoc>=1.5.0'"))
[NOTE] Package dune is already installed (current version is 3.20.2).
The following actions will be performed:
=== install 11 packages
- install camlp-streams 5.0.1 [required by odoc-parser]
- install cmdliner 1.3.0 [required by odoc]
- install cppo 1.8.0 [required by odoc]
- install crunch 4.0.0 [required by odoc]
- install fmt 0.11.0 [required by odoc]
- install odoc 3.1.0
- install odoc-parser 3.1.0 [required by odoc]
- install ptime 1.2.0 [required by crunch]
- install seq base [required by tyxml]
- install tyxml 4.6.0 [required by odoc]
- install uutf 1.0.4 [required by tyxml]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved crunch.4.0.0 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved ptime.1.2.0 (cached)
-> retrieved tyxml.4.6.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> installed camlp-streams.5.0.1
-> retrieved odoc.3.1.0, odoc-parser.3.1.0 (cached)
-> installed cppo.1.8.0
-> installed ptime.1.2.0
-> installed odoc-parser.3.1.0
-> installed cmdliner.1.3.0
-> installed crunch.4.0.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed tyxml.4.6.0
-> installed odoc.3.1.0
Done.
# Run eval $(opam env) to update the current shell environment
2025-09-28 15:17.18 ---> saved as "7c3e1ebab5063322e93a3841108c3b83eaa39c5d9699adc5824484932fef4b75"
/src: (copy (src .) (dst /src/))
2025-09-28 15:17.19 ---> saved as "d3260042ede7d80ff47ef25088964de020bba1b7a815ed8754c1075db8b81486"
/src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=dunolint-lib,dunolint-lib-base @doc || (echo \"dune build @doc failed\"; exit 2)"))
2025-09-28 15:17.25 ---> saved as "575f125e3b29119eeb9fa96e2be10baf3074608bafe31a2f68e5e451b2246657"
Job succeeded
2025-09-28 15:17.25: Job succeeded