2026-05-19 17:06.43: New job: test mbarbin/dunolint https://github.com/mbarbin/dunolint.git#refs/heads/bump-dune-lower-bound (be20b030260ad0dc5749e5f524d82950b5c74fc5) (linux-x86_64:(lint-doc)) Base: ocaml/opam:alpine-3.23-ocaml-4.14@sha256:c98c3afc38d39340ca2b1e9c3c1b8c127283806cba433dd4865c01d18c619ef9 Opam project lint documentation To reproduce locally: git clone --recursive "https://github.com/mbarbin/dunolint.git" -b "bump-dune-lower-bound" && cd "dunolint" && git reset --hard be20b030 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:alpine-3.23-ocaml-4.14@sha256:c98c3afc38d39340ca2b1e9c3c1b8c127283806cba433dd4865c01d18c619ef9 # alpine-3.23-4.14_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 cd ~/opam-repository && (git cat-file -e df6ab556b4610df043dd3ef62a0ddf23f8661b1c || git fetch origin master) && git reset -q --hard df6ab556b4610df043dd3ef62a0ddf23f8661b1c && git log --no-decorate -n1 --oneline RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN opam update -u COPY --chown=1000:1000 dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-lib-base.opam dunolint-lib-base-tests.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-lib-base-tests.dev './' && \ opam pin add -yn dunolint-dev.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="base.v0.16.5 base-bigarray.base base-threads.base base-unix.base csexp.1.5.2 dune.3.23.1 dune-configurator.3.23.1 dyn.3.23.1 ocaml.4.14.3 ocaml-base-compiler.4.14.3 ocaml-config.2 ocaml-options-vanilla.1 ordering.3.23.1 pp.2.0.0 re.1.14.0 sexplib0.v0.16.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 2026-05-19 17:06.43: Using cache hint "mbarbin/dunolint-ocaml/opam:alpine-3.23-ocaml-4.14@sha256:c98c3afc38d39340ca2b1e9c3c1b8c127283806cba433dd4865c01d18c619ef9-alpine-3.23-4.14_opam-2.5-28bcac9971ea47b452746b9b0a24d5a7" 2026-05-19 17:06.43: Using OBuilder spec: ((from ocaml/opam:alpine-3.23-ocaml-4.14@sha256:c98c3afc38d39340ca2b1e9c3c1b8c127283806cba433dd4865c01d18c619ef9) (comment alpine-3.23-4.14_opam-2.5) (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 (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e df6ab556b4610df043dd3ef62a0ddf23f8661b1c || git fetch origin master) && git reset -q --hard df6ab556b4610df043dd3ef62a0ddf23f8661b1c && git log --no-decorate -n1 --oneline")) (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 "opam update -u")) (copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-lib-base.opam dunolint-lib-base-tests.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-lib-base-tests.dev './' && \ \nopam pin add -yn dunolint-dev.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "base.v0.16.5 base-bigarray.base base-threads.base base-unix.base csexp.1.5.2 dune.3.23.1 dune-configurator.3.23.1 dyn.3.23.1 ocaml.4.14.3 ocaml-base-compiler.4.14.3 ocaml-config.2 ocaml-options-vanilla.1 ordering.3.23.1 pp.2.0.0 re.1.14.0 sexplib0.v0.16.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)")) ) 2026-05-19 17:06.43: Waiting for resource in pool OCluster 2026-05-19 17:49.28: Waiting for worker… 2026-05-19 17:53.13: Got resource from pool OCluster Building on asteria.caelum.ci.dev All commits already cached HEAD is now at be20b03 Retire former implicit_transitive_deps workaround - no longer applicable (from ocaml/opam:alpine-3.23-ocaml-4.14@sha256:c98c3afc38d39340ca2b1e9c3c1b8c127283806cba433dd4865c01d18c619ef9) 2026-05-19 17:53.22 ---> using "8e65bc4d84a4bbc3f291f4c89c5f0411ea9740fc4228eddb2c11cbc44748b04d" from cache /: (comment alpine-3.23-4.14_opam-2.5) /: (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")) 2026-05-19 17:53.22 ---> using "a94f933c2065f1331b71c9d3e0f08d7c877e02d1c25b554eec73dda9103c15f6" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e df6ab556b4610df043dd3ef62a0ddf23f8661b1c || git fetch origin master) && git reset -q --hard df6ab556b4610df043dd3ef62a0ddf23f8661b1c && git log --no-decorate -n1 --oneline")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 045748b2d8..df6ab556b4 master -> origin/master df6ab556b4 Merge pull request #29903 from shonfeder/release-dune-3.23.1 2026-05-19 17:53.23 ---> using "6259bd27ee9f030f0b133dbcd37c86c3d65082cbc1c29c16774ef388034d8c5a" from cache /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. 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. Continue? [y/n] y Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [ERROR] Could not update repository "ocaml-patches-overlay": "/usr/bin/git fetch -q" exited with code 128 "fatal: unable to access 'https://github.com/ocurrent/opam-repository/': Could not resolve host: github.com (Could not contact DNS servers)" [default] Initialised 2026-05-19 17:53.24 ---> using "e695dd8456282d3052f6d4264b39cd9c029bc6e0b2cb27cda945f955dbd544c6" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-111-generic The OCaml toplevel, version 4.14.3 2.2.1 2026-05-19 17:53.24 ---> using "3bf99048df0add4326f45cc993e88415025b1f04e28dc07f4b0606091833fc8c" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-05-19 17:53.24 ---> using "c10df447b62eb9d21f93c9209fe7e6ab9d57133b41096c365e745bbbc5535d21" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update -u")) <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///home/opam/opam-repository [ocaml-patches-overlay] no changes from git+https://github.com/ocurrent/opam-repository#patches 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 2026-05-19 17:53.24 ---> using "87e4cbd416e7a62a183cf80ee72ea82a0b6da717202cf4d13fd70b1f304703d0" from cache /src: (copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-lib-base.opam dunolint-lib-base-tests.opam dunolint-dev.opam) (dst ./)) 2026-05-19 17:53.28 ---> saved as "9ea29e19f740261de8625c39782d6e0679901938d3548f806c1b5f74040702db" /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-lib-base-tests.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) [dunolint-lib-base.dev] synchronised (file:///src) dunolint-lib-base is now pinned to file:///src (version dev) Package dunolint-lib-base-tests does not exist, create as a NEW package? [y/n] y [dunolint-lib-base-tests.dev] synchronised (file:///src) dunolint-lib-base-tests 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) 2026-05-19 17:53.41 ---> saved as "8a64458ca82c254fd6e8c9f3e470b0f037dc8f327ef8a57d011814730a553354" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-05-19 17:53.48 ---> saved as "76ee9267b158cdd824c4a3addc44a9f53f2787a6cee5b71b7086d2ab04ab5cd7" /src: (env DEPS "base.v0.16.5 base-bigarray.base base-threads.base base-unix.base csexp.1.5.2 dune.3.23.1 dune-configurator.3.23.1 dyn.3.23.1 ocaml.4.14.3 ocaml-base-compiler.4.14.3 ocaml-config.2 ocaml-options-vanilla.1 ordering.3.23.1 pp.2.0.0 re.1.14.0 sexplib0.v0.16.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 "apk" "update" - v3.23.4-235-g0265bd9b178 [https://dl-cdn.alpinelinux.org/alpine/v3.23/main] - v3.23.4-247-g42906edc076 [https://dl-cdn.alpinelinux.org/alpine/v3.23/community] - v20260127-9950-g973076ab0c5 [https://dl-cdn.alpinelinux.org/alpine/edge/main] - v20260127-9960-gf698c3b2e97 [https://dl-cdn.alpinelinux.org/alpine/edge/community] - v20260127-9955-g44c0db58cfc [https://dl-cdn.alpinelinux.org/alpine/edge/testing] - OK: 62270 distinct packages available <><> 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 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.3). [NOTE] Package ocaml is already installed (current version is 4.14.3). [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-bigarray is already installed (current version is base). 2026-05-19 17:54.17 ---> saved as "dc5094d25f3368184d5965495a74c8120d674e52c522e8b95fa4ffe7219a171e" /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 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.3). [NOTE] Package ocaml is already installed (current version is 4.14.3). [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-bigarray is already installed (current version is base). The following actions will be performed: === install 9 packages - install base v0.16.5 - install csexp 1.5.2 - install dune 3.23.1 - install dune-configurator 3.23.1 - install dyn 3.23.1 - install ordering 3.23.1 - install pp 2.0.0 - install re 1.14.0 - install sexplib0 v0.16.0 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved csexp.1.5.2 (cached) -> retrieved base.v0.16.5 (cached) -> retrieved pp.2.0.0 (cached) -> retrieved re.1.14.0 (cached) -> retrieved sexplib0.v0.16.0 (cached) -> retrieved dune.3.23.1, dune-configurator.3.23.1, dyn.3.23.1, ordering.3.23.1 (cached) -> installed dune.3.23.1 -> installed csexp.1.5.2 -> installed ordering.3.23.1 -> installed pp.2.0.0 -> installed re.1.14.0 -> installed sexplib0.v0.16.0 -> installed dune-configurator.3.23.1 -> installed dyn.3.23.1 -> installed base.v0.16.5 Done. # Run eval $(opam env) to update the current shell environment 2026-05-19 17:55.16 ---> saved as "54218d36b85a1f7d57e6fb61ac8a357124f5354332804085dd0579d7d164304a" /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.23.1). The following actions will be performed: === install 16 packages - install astring 0.8.5 [required by odoc] - install camlp-streams 5.0.1 [required by odoc-parser] - install cmdliner 2.1.1 [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 fpath 0.7.3 [required by odoc] - install ocamlbuild 0.16.1 [required by fmt, astring, fpath] - install ocamlfind 1.9.8 [required by fmt, astring, fpath] - install odoc 3.2.1 - install odoc-parser 3.2.1 [required by odoc] - install ptime 1.2.0 [required by crunch] - install seq base [required by tyxml] - install topkg 1.1.1 [required by fmt, astring, fpath] - 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 astring.0.8.5 (cached) -> retrieved cmdliner.2.1.1 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved crunch.4.0.0 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> installed camlp-streams.5.0.1 -> retrieved ocamlfind.1.9.8 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved ptime.1.2.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved tyxml.4.6.0 (cached) -> retrieved odoc.3.2.1, odoc-parser.3.2.1 (cached) -> installed cppo.1.8.0 -> retrieved uutf.1.0.4 (cached) -> installed ocamlfind.1.9.8 -> installed cmdliner.2.1.1 -> installed ocamlbuild.0.16.1 -> installed topkg.1.1.1 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed ptime.1.2.0 -> installed astring.0.8.5 -> installed crunch.4.0.0 -> installed fpath.0.7.3 -> installed odoc-parser.3.2.1 -> installed tyxml.4.6.0 -> installed odoc.3.2.1 Done. # Run eval $(opam env) to update the current shell environment 2026-05-19 17:55.53 ---> saved as "9310f59dedf0de93aa2a11c71166a4f4407569998ec477c9c540fa9cb0cbaa99" /src: (copy (src .) (dst /src/)) 2026-05-19 17:56.35 ---> saved as "7eca9f4fb167eaeeae254d363c3cfc2c347d2a5d923b7715b53bb8016a88342b" /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)")) 2026-05-19 17:56.40 ---> saved as "50a2ade153dc3c8f08065eaa9a0307079e50976826b257be692e86f1eb47f6ec" Job succeeded 2026-05-19 17:56.41: Job succeeded