2026-02-01 14:42.49: New job: test mbarbin/pplumbing https://github.com/mbarbin/pplumbing.git#refs/heads/main (758ddf6364430de468949ebc236aca74759ccfef) (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/pplumbing.git" -b "main" && cd "pplumbing" && git reset --hard 758ddf63 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 51158b2cc8b1d975be5b32b177da768f0b3357af || git fetch origin master) && git reset -q --hard 51158b2cc8b1d975be5b32b177da768f0b3357af && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 pplumbing.opam pplumbing-tests.opam pplumbing-pp-tty.opam pplumbing-log.opam pplumbing-log-cli.opam pplumbing-err.opam pplumbing-dev.opam cmdlang-cmdliner-err-runner.opam cmdlang-climate-err-runner.opam ./ RUN opam pin add -yn pplumbing.dev './' && \ opam pin add -yn pplumbing-tests.dev './' && \ opam pin add -yn pplumbing-pp-tty.dev './' && \ opam pin add -yn pplumbing-log.dev './' && \ opam pin add -yn pplumbing-log-cli.dev './' && \ opam pin add -yn pplumbing-err.dev './' && \ opam pin add -yn pplumbing-dev.dev './' && \ opam pin add -yn cmdlang-cmdliner-err-runner.dev './' && \ opam pin add -yn cmdlang-climate-err-runner.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="astring.0.8.5 base-bigarray.base base-threads.base base-unix.base climate.0.9.0 cmdlang.0.0.10 cmdlang-to-climate.0.0.10 cmdlang-to-cmdliner.0.0.10 cmdliner.2.1.0 csexp.1.5.2 dune.3.21.0 dyn.3.21.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.0 loc.0.3.3 logs.0.10.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.0 parsexp.v0.16.0 pp.2.0.0 sexplib0.v0.16.0 stdune.3.21.0 top-closure.3.21.0 topkg.1.1.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.2 --depext-only -y pplumbing.dev pplumbing-pp-tty.dev pplumbing-log.dev pplumbing-log-cli.dev pplumbing-err.dev cmdlang-cmdliner-err-runner.dev cmdlang-climate-err-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=pplumbing,pplumbing-pp-tty,pplumbing-log,pplumbing-log-cli,pplumbing-err,cmdlang-cmdliner-err-runner,cmdlang-climate-err-runner @doc || (echo "dune build @doc failed"; exit 2) END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-02-01 14:42.49: Using cache hint "mbarbin/pplumbing-ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216-alpine-3.22-4.14_opam-2.5-64054d0b5a9f1d42508f5a8537303858" 2026-02-01 14:42.49: 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 51158b2cc8b1d975be5b32b177da768f0b3357af || git fetch origin master) && git reset -q --hard 51158b2cc8b1d975be5b32b177da768f0b3357af && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src pplumbing.opam pplumbing-tests.opam pplumbing-pp-tty.opam pplumbing-log.opam pplumbing-log-cli.opam pplumbing-err.opam pplumbing-dev.opam cmdlang-cmdliner-err-runner.opam cmdlang-climate-err-runner.opam) (dst ./)) (run (network host) (shell "opam pin add -yn pplumbing.dev './' && \ \nopam pin add -yn pplumbing-tests.dev './' && \ \nopam pin add -yn pplumbing-pp-tty.dev './' && \ \nopam pin add -yn pplumbing-log.dev './' && \ \nopam pin add -yn pplumbing-log-cli.dev './' && \ \nopam pin add -yn pplumbing-err.dev './' && \ \nopam pin add -yn pplumbing-dev.dev './' && \ \nopam pin add -yn cmdlang-cmdliner-err-runner.dev './' && \ \nopam pin add -yn cmdlang-climate-err-runner.dev './'")) (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "astring.0.8.5 base-bigarray.base base-threads.base base-unix.base climate.0.9.0 cmdlang.0.0.10 cmdlang-to-climate.0.0.10 cmdlang-to-cmdliner.0.0.10 cmdliner.2.1.0 csexp.1.5.2 dune.3.21.0 dyn.3.21.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.0 loc.0.3.3 logs.0.10.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.0 parsexp.v0.16.0 pp.2.0.0 sexplib0.v0.16.0 stdune.3.21.0 top-closure.3.21.0 topkg.1.1.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 pplumbing.dev pplumbing-pp-tty.dev pplumbing-log.dev pplumbing-log-cli.dev pplumbing-err.dev cmdlang-cmdliner-err-runner.dev cmdlang-climate-err-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=pplumbing,pplumbing-pp-tty,pplumbing-log,pplumbing-log-cli,pplumbing-err,cmdlang-cmdliner-err-runner,cmdlang-climate-err-runner @doc || (echo \"dune build @doc failed\"; exit 2)")) ) 2026-02-01 14:42.49: Waiting for resource in pool OCluster 2026-02-01 14:42.49: Waiting for worker… 2026-02-01 14:42.51: Got resource from pool OCluster Building on laodoke.caelum.ci.dev All commits already cached HEAD is now at 758ddf6 Improve default settings for GHA permissions (from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216) 2026-02-01 14:42.53 ---> 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-02-01 14:42.53 ---> saved as "aa238cb861d3c6c581edbbf37b9748fbb3955a0301f8754f1330522d31bdea95" /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-02-01 14:43.25 ---> saved as "3012e725308508d0de531ee578ee1e8781d13d01e7b7e084a1a8ab6b2e9dfc3c" /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-90-generic The OCaml toplevel, version 4.14.2 2.2.1 2026-02-01 14:43.25 ---> saved as "49acb3bbc71f8cee0ac24a0653bcca777fc6f3873bc89b90d919182499bf3c26" /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-02-01 14:43.25 ---> saved as "834d8ad0726c0946994af4beac26783ef6bb1014f63b7b5e9de6455c8090386e" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 51158b2cc8b1d975be5b32b177da768f0b3357af || git fetch origin master) && git reset -q --hard 51158b2cc8b1d975be5b32b177da768f0b3357af && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD a6b2f19780..e64c51d911 master -> origin/master 51158b2cc8 Merge pull request #29283 from mbarbin/opam-publish-loc.0.3.3 <><> 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-02-01 14:44.11 ---> saved as "f11693c0a7924b45d04d6d092612438386a9aa91a95981c18c8a3b80380e2e98" /src: (copy (src pplumbing.opam pplumbing-tests.opam pplumbing-pp-tty.opam pplumbing-log.opam pplumbing-log-cli.opam pplumbing-err.opam pplumbing-dev.opam cmdlang-cmdliner-err-runner.opam cmdlang-climate-err-runner.opam) (dst ./)) 2026-02-01 14:44.11 ---> saved as "01d391bde8244ca221a145d654f19100b4ca344ffb25f856cb222756a1eb7cc1" /src: (run (network host) (shell "opam pin add -yn pplumbing.dev './' && \ \nopam pin add -yn pplumbing-tests.dev './' && \ \nopam pin add -yn pplumbing-pp-tty.dev './' && \ \nopam pin add -yn pplumbing-log.dev './' && \ \nopam pin add -yn pplumbing-log-cli.dev './' && \ \nopam pin add -yn pplumbing-err.dev './' && \ \nopam pin add -yn pplumbing-dev.dev './' && \ \nopam pin add -yn cmdlang-cmdliner-err-runner.dev './' && \ \nopam pin add -yn cmdlang-climate-err-runner.dev './'")) [pplumbing.dev] synchronised (file:///src) pplumbing is now pinned to file:///src (version dev) Package pplumbing-tests does not exist, create as a NEW package? [y/n] y [pplumbing-tests.dev] synchronised (file:///src) pplumbing-tests is now pinned to file:///src (version dev) [pplumbing-pp-tty.dev] synchronised (file:///src) pplumbing-pp-tty is now pinned to file:///src (version dev) [pplumbing-log.dev] synchronised (file:///src) pplumbing-log is now pinned to file:///src (version dev) [pplumbing-log-cli.dev] synchronised (file:///src) pplumbing-log-cli is now pinned to file:///src (version dev) [pplumbing-err.dev] synchronised (file:///src) pplumbing-err is now pinned to file:///src (version dev) Package pplumbing-dev does not exist, create as a NEW package? [y/n] y [pplumbing-dev.dev] synchronised (file:///src) pplumbing-dev is now pinned to file:///src (version dev) [cmdlang-cmdliner-err-runner.dev] synchronised (file:///src) cmdlang-cmdliner-err-runner is now pinned to file:///src (version dev) Package cmdlang-climate-err-runner does not exist, create as a NEW package? [y/n] y [cmdlang-climate-err-runner.dev] synchronised (file:///src) cmdlang-climate-err-runner is now pinned to file:///src (version dev) 2026-02-01 14:44.50 ---> saved as "a51dccc039a325d465ab279ee31e0b9e4556575f67e0693afd46f623582ed215" /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-02-01 14:44.50 ---> saved as "18333b6cff07eb54319f1f2dbaf59778c3116e2ab10d2c67894d0676478ab1e6" /src: (env DEPS "astring.0.8.5 base-bigarray.base base-threads.base base-unix.base climate.0.9.0 cmdlang.0.0.10 cmdlang-to-climate.0.0.10 cmdlang-to-cmdliner.0.0.10 cmdliner.2.1.0 csexp.1.5.2 dune.3.21.0 dyn.3.21.0 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.0 loc.0.3.3 logs.0.10.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.21.0 parsexp.v0.16.0 pp.2.0.0 sexplib0.v0.16.0 stdune.3.21.0 top-closure.3.21.0 topkg.1.1.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 pplumbing.dev pplumbing-pp-tty.dev pplumbing-log.dev pplumbing-log-cli.dev pplumbing-err.dev cmdlang-cmdliner-err-runner.dev cmdlang-climate-err-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-1-gc6c5e5eda18 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main] - v3.22.3-2-gf789f241095 [https://dl-cdn.alpinelinux.org/alpine/v3.22/community] - v20260127-326-g01ad62d58ba [https://dl-cdn.alpinelinux.org/alpine/edge/main] - v20260127-327-ge9cf1f5d743 [https://dl-cdn.alpinelinux.org/alpine/edge/community] - v20260127-325-g9aa814b9ea3 [https://dl-cdn.alpinelinux.org/alpine/edge/testing] - OK: 60869 distinct packages available <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [cmdlang-climate-err-runner.dev] synchronised (file:///src) [cmdlang-cmdliner-err-runner.dev] synchronised (file:///src) [pplumbing.dev] synchronised (file:///src) [pplumbing-err.dev] synchronised (file:///src) [pplumbing-log.dev] synchronised (file:///src) [pplumbing-log-cli.dev] synchronised (file:///src) [pplumbing-pp-tty.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-02-01 14:45.17 ---> saved as "3509e5bc5998e91af8f9dd687e08c2229f902dd00ea61a14520fde247afaf936" /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 23 packages - install astring 0.8.5 - install climate 0.9.0 - install cmdlang 0.0.10 - install cmdlang-to-climate 0.0.10 - install cmdlang-to-cmdliner 0.0.10 - install cmdliner 2.1.0 - install csexp 1.5.2 - install dune 3.21.0 - install dyn 3.21.0 - install fmt 0.11.0 - install fpath 0.7.3 - install fs-io 3.21.0 - install loc 0.3.3 - install logs 0.10.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ordering 3.21.0 - install parsexp v0.16.0 - install pp 2.0.0 - install sexplib0 v0.16.0 - install stdune 3.21.0 - install top-closure 3.21.0 - install topkg 1.1.1 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved climate.0.9.0 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cmdlang.0.0.10, cmdlang-to-climate.0.0.10, cmdlang-to-cmdliner.0.0.10 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved loc.0.3.3 (cached) -> retrieved logs.0.10.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved parsexp.v0.16.0 (cached) -> retrieved pp.2.0.0 (cached) -> retrieved sexplib0.v0.16.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.21.0, dyn.3.21.0, fs-io.3.21.0, ordering.3.21.0, stdune.3.21.0, top-closure.3.21.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed topkg.1.1.1 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed logs.0.10.0 -> installed fpath.0.7.3 -> installed dune.3.21.0 -> installed climate.0.9.0 -> installed cmdlang.0.0.10 -> installed csexp.1.5.2 -> installed pp.2.0.0 -> installed sexplib0.v0.16.0 -> installed cmdlang-to-climate.0.0.10 -> installed cmdlang-to-cmdliner.0.0.10 -> installed ordering.3.21.0 -> installed parsexp.v0.16.0 -> installed fs-io.3.21.0 -> installed top-closure.3.21.0 -> installed dyn.3.21.0 -> installed stdune.3.21.0 -> installed loc.0.3.3 Done. # Run eval $(opam env) to update the current shell environment 2026-02-01 14:46.29 ---> saved as "7ea6d9b9fbe7e4c78919262b4fd7d0762e344fd1f354818f598904c44eebdb03" /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.0). The following actions will be performed: === install 10 packages - 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 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 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 cppo.1.8.0 (cached) -> retrieved crunch.4.0.0 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved re.1.14.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 re.1.14.0 -> installed uutf.1.0.4 -> installed crunch.4.0.0 -> 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-02-01 14:47.03 ---> saved as "cd014c368de43754fe83b96be38d75bd7c6d36354b81e0b73062eccf4301d5d7" /src: (copy (src .) (dst /src/)) 2026-02-01 14:47.04 ---> saved as "c3da85e51b58aec03ed1db1494d6c74e429b76eb9836dfe3ab2436e3b24cfec2" /src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=pplumbing,pplumbing-pp-tty,pplumbing-log,pplumbing-log-cli,pplumbing-err,cmdlang-cmdliner-err-runner,cmdlang-climate-err-runner @doc || (echo \"dune build @doc failed\"; exit 2)")) 2026-02-01 14:47.04 ---> saved as "38ea4f200e3f8fd5ced1956f5cfeaebb89121111a3611da64b9eb8c3736d8da1" Job succeeded 2026-02-01 14:47.04: Job succeeded