2026-03-13 20:52.40: New job: test mbarbin/cmdlang https://github.com/mbarbin/cmdlang.git#refs/heads/main (c31e9aecca773292467fb44bbdc973081fe7f2c7) (linux-x86_64:(lint-doc)) Base: ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216 Opam project lint documentation To reproduce locally: git clone --recursive "https://github.com/mbarbin/cmdlang.git" -b "main" && cd "cmdlang" && git reset --hard c31e9aec cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216 # alpine-3.22-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 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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 cmdlang.opam cmdlang-to-cmdliner.opam cmdlang-to-climate.opam cmdlang-to-base.opam cmdlang-tests.opam cmdlang-stdlib-runner.opam cmdlang-dev.opam ./ RUN opam pin add -yn cmdlang.dev './' && \ opam pin add -yn cmdlang-to-cmdliner.dev './' && \ opam pin add -yn cmdlang-to-climate.dev './' && \ opam pin add -yn cmdlang-to-base.dev './' && \ opam pin add -yn cmdlang-tests.dev './' && \ opam pin add -yn cmdlang-stdlib-runner.dev './' && \ opam pin add -yn cmdlang-dev.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="base-bigarray.base base-threads.base base-unix.base climate.0.9.0 cmdliner.2.1.0 dune.3.21.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.2 --depext-only -y cmdlang.dev cmdlang-to-cmdliner.dev cmdlang-to-climate.dev cmdlang-stdlib-runner.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=cmdlang,cmdlang-to-cmdliner,cmdlang-to-climate,cmdlang-stdlib-runner @doc || (echo "dune build @doc failed"; exit 2) END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-03-13 20:52.40: Using cache hint "mbarbin/cmdlang-ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216-alpine-3.22-4.14_opam-2.5-77695fe8785b049a2d7e81b9b18f0a0f" 2026-03-13 20:52.40: Using OBuilder spec: ((from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216) (comment alpine-3.22-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 (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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src cmdlang.opam cmdlang-to-cmdliner.opam cmdlang-to-climate.opam cmdlang-to-base.opam cmdlang-tests.opam cmdlang-stdlib-runner.opam cmdlang-dev.opam) (dst ./)) (run (network host) (shell "opam pin add -yn cmdlang.dev './' && \ \nopam pin add -yn cmdlang-to-cmdliner.dev './' && \ \nopam pin add -yn cmdlang-to-climate.dev './' && \ \nopam pin add -yn cmdlang-to-base.dev './' && \ \nopam pin add -yn cmdlang-tests.dev './' && \ \nopam pin add -yn cmdlang-stdlib-runner.dev './' && \ \nopam pin add -yn cmdlang-dev.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "base-bigarray.base base-threads.base base-unix.base climate.0.9.0 cmdliner.2.1.0 dune.3.21.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1") (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 cmdlang.dev cmdlang-to-cmdliner.dev cmdlang-to-climate.dev cmdlang-stdlib-runner.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=cmdlang,cmdlang-to-cmdliner,cmdlang-to-climate,cmdlang-stdlib-runner @doc || (echo \"dune build @doc failed\"; exit 2)")) ) 2026-03-13 20:52.40: Waiting for resource in pool OCluster 2026-03-13 22:37.16: Waiting for worker… 2026-03-13 22:40.15: Got resource from pool OCluster Building on eumache All commits already cached HEAD is now at c31e9ae Upgrade crs-actions (from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216) Unable to find image 'ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216' locally docker.io/ocaml/opam@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216: Pulling from ocaml/opam 2d35ebdb57d9: Already exists adfc86c1accf: Already exists d09377907434: Already exists a699cf44908b: Already exists c088e74f1f31: Already exists 7e99e6eaa847: Already exists db4b89a22482: Already exists f1f17593da04: Already exists bb79fbf72548: Already exists cf69890848e3: Already exists 80e325d6146c: Already exists 66a526c41d4c: Already exists 347d38b311ac: Already exists 984612fde4c4: Already exists 0ac0da982daa: Already exists 209c9bca9b0e: Already exists 3d3356d548ff: Already exists c072da09f122: Already exists 4f4fb700ef54: Already exists eff3d806a4a8: Already exists f5c413f5234b: Already exists 09ddc5430e22: Already exists 2c7c283b1afc: Already exists 4af9a971b585: Already exists df8d9be3e30d: Already exists 5e55ae3325a7: Already exists 635cb27b4304: Already exists 898fbde8ad42: Already exists 66c0ffc92413: Already exists c8cca855638d: Already exists 45d2501a899c: Already exists 10b0fe6926c2: Already exists 0a1d7b83a687: Already exists 2c3441915309: Already exists 3d1a575b1bb0: Already exists 6e5fa830b59d: Already exists 72225f5a6449: Already exists 5a8b6a59afe3: Already exists 81299dd100ce: Already exists ad267db4d3a7: Already exists de32f8de692b: Already exists Digest: sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216 Status: Downloaded newer image for ocaml/opam@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216 2026-03-13 22:40.16 ---> using "d1cef22083ba59d6db4e2f107091c68dd70ebdcc64c3894ad7db7be62ad17f4a" from cache /: (comment alpine-3.22-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-03-13 22:40.16 ---> using "aa238cb861d3c6c581edbbf37b9748fbb3955a0301f8754f1330522d31bdea95" 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 [NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using: opam option jobs=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-03-13 22:40.16 ---> using "3012e725308508d0de531ee578ee1e8781d13d01e7b7e084a1a8ab6b2e9dfc3c" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 5.15.0-131-generic The OCaml toplevel, version 4.14.2 2.2.1 2026-03-13 22:40.16 ---> using "49acb3bbc71f8cee0ac24a0653bcca777fc6f3873bc89b90d919182499bf3c26" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-03-13 22:40.16 ---> using "834d8ad0726c0946994af4beac26783ef6bb1014f63b7b5e9de6455c8090386e" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD a6b2f19780..97a3f8f424 master -> origin/master 31462e7d24 Merge pull request #29451 from dra27/relocatable-package <><> 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 2026-03-13 22:40.16 ---> using "01415dfd8b2a82d06c4f2afaf93184eb0c7100132a9ce3c2f18b8d9ea2d9bd41" from cache /src: (copy (src cmdlang.opam cmdlang-to-cmdliner.opam cmdlang-to-climate.opam cmdlang-to-base.opam cmdlang-tests.opam cmdlang-stdlib-runner.opam cmdlang-dev.opam) (dst ./)) 2026-03-13 22:40.17 ---> saved as "264a3a8083f876e6e2796c319ee0a980e9dbee56ccdc7c6dbda487b79e987d5f" /src: (run (network host) (shell "opam pin add -yn cmdlang.dev './' && \ \nopam pin add -yn cmdlang-to-cmdliner.dev './' && \ \nopam pin add -yn cmdlang-to-climate.dev './' && \ \nopam pin add -yn cmdlang-to-base.dev './' && \ \nopam pin add -yn cmdlang-tests.dev './' && \ \nopam pin add -yn cmdlang-stdlib-runner.dev './' && \ \nopam pin add -yn cmdlang-dev.dev './'")) [cmdlang.dev] synchronised (file:///src) cmdlang is now pinned to file:///src (version dev) [cmdlang-to-cmdliner.dev] synchronised (file:///src) cmdlang-to-cmdliner is now pinned to file:///src (version dev) [cmdlang-to-climate.dev] synchronised (file:///src) cmdlang-to-climate is now pinned to file:///src (version dev) [cmdlang-to-base.dev] synchronised (file:///src) cmdlang-to-base is now pinned to file:///src (version dev) Package cmdlang-tests does not exist, create as a NEW package? [y/n] y [cmdlang-tests.dev] synchronised (file:///src) cmdlang-tests is now pinned to file:///src (version dev) [cmdlang-stdlib-runner.dev] synchronised (file:///src) cmdlang-stdlib-runner is now pinned to file:///src (version dev) Package cmdlang-dev does not exist, create as a NEW package? [y/n] y [cmdlang-dev.dev] synchronised (file:///src) cmdlang-dev is now pinned to file:///src (version dev) 2026-03-13 22:40.50 ---> saved as "64d7871fbf95e25bd3922198f7d62b68efd56e4aba43840a486edce06c744365" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-03-13 22:40.52 ---> saved as "3042fa21d18bfbdd3e31d0024d2c04503b11a24ebbbb45fce88251e5ac89fbe9" /src: (env DEPS "base-bigarray.base base-threads.base base-unix.base climate.0.9.0 cmdliner.2.1.0 dune.3.21.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1") /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 cmdlang.dev cmdlang-to-cmdliner.dev cmdlang-to-climate.dev cmdlang-stdlib-runner.dev $DEPS")) + /usr/bin/sudo "apk" "update" - fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz - v3.22.3-60-g645f190c344 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main] - v3.22.3-65-g468cbea4427 [https://dl-cdn.alpinelinux.org/alpine/v3.22/community] - v20260127-2929-g4dc6f6081ee [https://dl-cdn.alpinelinux.org/alpine/edge/main] - v20260127-2939-g335ac61bceb [https://dl-cdn.alpinelinux.org/alpine/edge/community] - v20260127-2935-g9b5507eb46c [https://dl-cdn.alpinelinux.org/alpine/edge/testing] - OK: 61036 distinct packages available <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [cmdlang.dev] synchronised (file:///src) [cmdlang-stdlib-runner.dev] synchronised (file:///src) [cmdlang-to-climate.dev] synchronised (file:///src) [cmdlang-to-cmdliner.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.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [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-03-13 22:41.17 ---> saved as "2f8166d336426f5b6a91c99056a9faa218275410364e31ea893e65fd55fbcc12" /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.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [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 3 packages - install climate 0.9.0 - install cmdliner 2.1.0 - install dune 3.21.1 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved climate.0.9.0 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved dune.3.21.1 (cached) -> installed cmdliner.2.1.0 -> installed dune.3.21.1 -> installed climate.0.9.0 Done. # Run eval $(opam env) to update the current shell environment 2026-03-13 22:42.32 ---> saved as "9cbd88fb32feeb7deed1cd0b0fba57f3295694e35c62da6431cfaf871bb33209" /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.21.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 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.1.0 - install odoc-parser 3.1.0 [required by odoc] - install ptime 1.2.0 [required by crunch] - install re 1.14.0 [required by tyxml] - 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 cppo.1.8.0 (cached) -> retrieved crunch.4.0.0 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved re.1.14.0 (cached) -> installed camlp-streams.5.0.1 -> retrieved topkg.1.1.1 (cached) -> retrieved tyxml.4.6.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved odoc.3.1.0, odoc-parser.3.1.0 (cached) -> installed cppo.1.8.0 -> installed re.1.14.0 -> installed ocamlfind.1.9.8 -> 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.1.0 -> installed tyxml.4.6.0 -> installed odoc.3.1.0 Done. # Run eval $(opam env) to update the current shell environment 2026-03-13 22:43.50 ---> saved as "2ddd7b4936de6587c433db1d8052948e8adbe1283d2df9b6ebba3c37dfcbe10e" /src: (copy (src .) (dst /src/)) 2026-03-13 22:43.51 ---> saved as "cf717e2766a54e3e2549a803dce3e899db492b837b7e62b7a7cc8ceb277ed5e7" /src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=cmdlang,cmdlang-to-cmdliner,cmdlang-to-climate,cmdlang-stdlib-runner @doc || (echo \"dune build @doc failed\"; exit 2)")) 2026-03-13 22:43.53 ---> saved as "b1da6d0e7dba0d2d981921b8e38789031f71ccebac8bf5da9768ff6674d29bc5" Job succeeded 2026-03-13 22:43.54: Job succeeded