Organisationsrobur-coopdnsvizor2d4e70 ()(lint-doc)

(lint-doc)

Link Copied
Code Copied

Logs

2026-02-24 18:09.28: New job: test robur-coop/dnsvizor https://github.com/robur-coop/dnsvizor.git#refs/heads/main (2d4e701ec03fa096b2ecedd1626c89c09921dc76) (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/robur-coop/dnsvizor.git" -b "main" && cd "dnsvizor" && git reset --hard 2d4e701e
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 f15d82d4876db0d9c8ffca03adbd331cd7612081 || git fetch origin master) && git reset -q --hard f15d82d4876db0d9c8ffca03adbd331cd7612081 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 dnsvizor.opam ./
RUN opam pin add -yn dnsvizor.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.1 angstrom.0.16.1 arp.4.1.0 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bigstringaf.0.10.0 charrua.3.1.0 cmdliner.2.1.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 digestif.1.3.0 domain-name.0.5.0 dune.3.21.1 dune-configurator.3.21.1 duration.0.2.1 eqaf.0.10 ethernet.3.2.0 fmt.0.11.0 ipaddr.5.6.2 ipaddr-cstruct.5.6.2 logs.0.10.0 lru.0.3.1 lwt.6.1.1 lwt-dllist.1.1.0 macaddr.5.6.2 macaddr-cstruct.5.6.2 metrics.0.5.0 mirage-crypto.2.0.3 mirage-crypto-rng.2.0.3 mirage-flow.5.0.0 mirage-mtime.5.2.0 mirage-net.4.0.0 mirage-sleep.4.1.0 mtime.2.1.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 ohex.0.2.0 psq.0.2.1 randomconv.0.2.0 re.1.14.0 seq.base stdlib-shims.0.3.0 tcpip.9.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 dnsvizor.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 @doc || (echo "dune build @doc failed"; exit 2)


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2026-02-24 18:09.28: Using cache hint "robur-coop/dnsvizor-ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216-alpine-3.22-4.14_opam-2.5-e3bf50d207449d775724784ae343f830"
2026-02-24 18:09.28: 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 f15d82d4876db0d9c8ffca03adbd331cd7612081 || git fetch origin master) && git reset -q --hard f15d82d4876db0d9c8ffca03adbd331cd7612081 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src dnsvizor.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn dnsvizor.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "alcotest.1.9.1 angstrom.0.16.1 arp.4.1.0 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bigstringaf.0.10.0 charrua.3.1.0 cmdliner.2.1.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 digestif.1.3.0 domain-name.0.5.0 dune.3.21.1 dune-configurator.3.21.1 duration.0.2.1 eqaf.0.10 ethernet.3.2.0 fmt.0.11.0 ipaddr.5.6.2 ipaddr-cstruct.5.6.2 logs.0.10.0 lru.0.3.1 lwt.6.1.1 lwt-dllist.1.1.0 macaddr.5.6.2 macaddr-cstruct.5.6.2 metrics.0.5.0 mirage-crypto.2.0.3 mirage-crypto-rng.2.0.3 mirage-flow.5.0.0 mirage-mtime.5.2.0 mirage-net.4.0.0 mirage-sleep.4.1.0 mtime.2.1.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 ohex.0.2.0 psq.0.2.1 randomconv.0.2.0 re.1.14.0 seq.base stdlib-shims.0.3.0 tcpip.9.0.1 topkg.1.1.1 uutf.1.0.4")
(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 dnsvizor.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 @doc || (echo \"dune build @doc failed\"; exit 2)"))
)


2026-02-24 18:09.28: Waiting for resource in pool OCluster
2026-02-24 18:09.28: Waiting for worker…
2026-02-24 18:17.12: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 2d4e701 add PTR record in dhcp_lease_cb (#128)


(from ocaml/opam:alpine-3.22-ocaml-4.14@sha256:1c3a5ef9216cc43d14bea2bc9b42f4b1ee30cd78bf2e6993672b4c0c52909216)
2026-02-24 18:33.51 ---> 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-24 18:33.51 ---> 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
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-02-24 18:33.51 ---> using "3012e725308508d0de531ee578ee1e8781d13d01e7b7e084a1a8ab6b2e9dfc3c" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-87-generic
The OCaml toplevel, version 4.14.2
2.2.1
2026-02-24 18:33.51 ---> using "49acb3bbc71f8cee0ac24a0653bcca777fc6f3873bc89b90d919182499bf3c26" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2026-02-24 18:33.51 ---> 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 f15d82d4876db0d9c8ffca03adbd331cd7612081 || git fetch origin master) && git reset -q --hard f15d82d4876db0d9c8ffca03adbd331cd7612081 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
a6b2f19780..f15d82d487  master     -> origin/master
f15d82d487 Merge pull request #29449 from raphael-proust/opam-publish-lwt.6.1.1


<><> 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-24 18:33.51 ---> using "8229ffa5f29833df1bc891b3132ad222f373239004b12c4ff6c571444cb30fe7" from cache


/src: (copy (src dnsvizor.opam) (dst ./))
2026-02-24 18:33.51 ---> using "5fb46f1a91877ca89409e3b29add3caac1c85b1c5dcc695af29eeee243fd4482" from cache


/src: (run (network host)
(shell "opam pin add -yn dnsvizor.dev './'"))
Package dnsvizor does not exist, create as a NEW package? [y/n] y
[dnsvizor.dev] synchronised (file:///src)
dnsvizor is now pinned to file:///src (version dev)
2026-02-24 18:33.51 ---> using "c4646780bc88da1979d6321dfa9fa3e83d7281f8c03dd1ec4e1d43f0455534f6" from cache


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2026-02-24 18:33.51 ---> using "8c982eb906cac2f529209f2237bf686fb1e3bcec56934b2c77640ffba9f6ba75" from cache


/src: (env DEPS "alcotest.1.9.1 angstrom.0.16.1 arp.4.1.0 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base bigstringaf.0.10.0 charrua.3.1.0 cmdliner.2.1.0 cppo.1.8.0 csexp.1.5.2 cstruct.6.2.0 cstruct-lwt.6.2.0 digestif.1.3.0 domain-name.0.5.0 dune.3.21.1 dune-configurator.3.21.1 duration.0.2.1 eqaf.0.10 ethernet.3.2.0 fmt.0.11.0 ipaddr.5.6.2 ipaddr-cstruct.5.6.2 logs.0.10.0 lru.0.3.1 lwt.6.1.1 lwt-dllist.1.1.0 macaddr.5.6.2 macaddr-cstruct.5.6.2 metrics.0.5.0 mirage-crypto.2.0.3 mirage-crypto-rng.2.0.3 mirage-flow.5.0.0 mirage-mtime.5.2.0 mirage-net.4.0.0 mirage-sleep.4.1.0 mtime.2.1.0 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 ohex.0.2.0 psq.0.2.1 randomconv.0.2.0 re.1.14.0 seq.base stdlib-shims.0.3.0 tcpip.9.0.1 topkg.1.1.1 uutf.1.0.4")


/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 dnsvizor.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-43-g7447efb1e76 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main]
- v3.22.3-42-g2b363deb3f7 [https://dl-cdn.alpinelinux.org/alpine/v3.22/community]
- v20260127-1646-g03ab6cb1221 [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v20260127-1654-gd3fa61ff85b [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v20260127-1652-g98db12245eb [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 61038 distinct packages available


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[dnsvizor.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-24 18:33.51 ---> using "81c4e69543789af51ab883020798414ef0d1821f8b263847743762be521dfdb7" from cache


/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 49 packages
- install alcotest           1.9.1
- install angstrom           0.16.1
- install arp                4.1.0
- install astring            0.8.5
- install base-bytes         base
- install bigstringaf        0.10.0
- install charrua            3.1.0
- install cmdliner           2.1.0
- install cppo               1.8.0
- install csexp              1.5.2
- install cstruct            6.2.0
- install cstruct-lwt        6.2.0
- install digestif           1.3.0
- install domain-name        0.5.0
- install dune               3.21.1
- install dune-configurator  3.21.1
- install duration           0.2.1
- install eqaf               0.10
- install ethernet           3.2.0
- install fmt                0.11.0
- install ipaddr             5.6.2
- install ipaddr-cstruct     5.6.2
- install logs               0.10.0
- install lru                0.3.1
- install lwt                6.1.1
- install lwt-dllist         1.1.0
- install macaddr            5.6.2
- install macaddr-cstruct    5.6.2
- install metrics            0.5.0
- install mirage-crypto      2.0.3
- install mirage-crypto-rng  2.0.3
- install mirage-flow        5.0.0
- install mirage-mtime       5.2.0
- install mirage-net         4.0.0
- install mirage-sleep       4.1.0
- install mtime              2.1.0
- install ocaml-syntax-shims 1.0.0
- install ocamlbuild         0.16.1
- install ocamlfind          1.9.8
- install ocplib-endian      1.2
- install ohex               0.2.0
- install psq                0.2.1
- install randomconv         0.2.0
- install re                 1.14.0
- install seq                base
- install stdlib-shims       0.3.0
- install tcpip              9.0.1
- install topkg              1.1.1
- install uutf               1.0.4


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved arp.4.1.0  (cached)
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved alcotest.1.9.1  (cached)
-> retrieved charrua.3.1.0  (cached)
-> retrieved cmdliner.2.1.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved cstruct.6.2.0, cstruct-lwt.6.2.0  (cached)
-> retrieved domain-name.0.5.0  (cached)
-> retrieved duration.0.2.1  (cached)
-> retrieved eqaf.0.10  (cached)
-> retrieved ethernet.3.2.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved ipaddr.5.6.2, ipaddr-cstruct.5.6.2, macaddr.5.6.2, macaddr-cstruct.5.6.2  (cached)
-> retrieved logs.0.10.0  (cached)
-> retrieved lru.0.3.1  (cached)
-> retrieved lwt.6.1.1  (cached)
-> retrieved lwt-dllist.1.1.0  (cached)
-> retrieved metrics.0.5.0  (cached)
-> retrieved digestif.1.3.0  (cached)
-> retrieved mirage-flow.5.0.0  (cached)
-> retrieved mirage-mtime.5.2.0  (cached)
-> retrieved mirage-net.4.0.0  (cached)
-> retrieved mirage-sleep.4.1.0  (cached)
-> retrieved mtime.2.1.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved dune.3.21.1, dune-configurator.3.21.1  (cached)
-> retrieved mirage-crypto.2.0.3, mirage-crypto-rng.2.0.3  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved ohex.0.2.0  (cached)
-> retrieved psq.0.2.1  (cached)
-> retrieved seq.base  (cached)
-> retrieved randomconv.0.2.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved tcpip.9.0.1  (cached)
-> installed cmdliner.2.1.0
-> installed seq.base
-> retrieved topkg.1.1.1  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed mtime.2.1.0
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed dune.3.21.1
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed cstruct.6.2.0
-> installed domain-name.0.5.0
-> installed duration.0.2.1
-> installed eqaf.0.10
-> installed lwt-dllist.1.1.0
-> installed macaddr.5.6.2
-> installed metrics.0.5.0
-> installed mirage-mtime.5.2.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ohex.0.2.0
-> installed psq.0.2.1
-> installed randomconv.0.2.0
-> installed re.1.14.0
-> installed stdlib-shims.0.3.0
-> installed ocplib-endian.1.2
-> installed macaddr-cstruct.5.6.2
-> installed lru.0.3.1
-> installed ipaddr.5.6.2
-> installed ipaddr-cstruct.5.6.2
-> installed digestif.1.3.0
-> installed alcotest.1.9.1
-> installed dune-configurator.3.21.1
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed mirage-crypto.2.0.3
-> installed lwt.6.1.1
-> installed mirage-flow.5.0.0
-> installed mirage-net.4.0.0
-> installed cstruct-lwt.6.2.0
-> installed mirage-sleep.4.1.0
-> installed logs.0.10.0
-> installed ethernet.3.2.0
-> installed mirage-crypto-rng.2.0.3
-> installed arp.4.1.0
-> installed tcpip.9.0.1
-> installed charrua.3.1.0
Done.
# Run eval $(opam env) to update the current shell environment
2026-02-24 18:33.51 ---> using "0efa4bf99ecb0fcd082d30b9c360198af42021fc202d0353516bbeda1a6cc858" from cache


/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 7 packages
- install camlp-streams 5.0.1 [required by odoc-parser]
- install crunch        4.0.0 [required by odoc]
- install fpath         0.7.3 [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 tyxml         4.6.0 [required by odoc]


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved crunch.4.0.0  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved tyxml.4.6.0  (cached)
-> installed camlp-streams.5.0.1
-> retrieved odoc.3.1.0, odoc-parser.3.1.0  (cached)
-> installed fpath.0.7.3
-> installed ptime.1.2.0
-> 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-24 18:33.51 ---> using "480338c10d0f2dbfc160bfc9dc72b7ddc28038cb608abcaa824a100ca0f5aca8" from cache


/src: (copy (src .) (dst /src/))
2026-02-24 18:33.51 ---> saved as "101d0180ac44c7abe2bc1783eae35c1556feb7612308840bc46d2b64e7953008"


/src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)"))
2026-02-24 18:33.51 ---> saved as "e6fd9898b11f1e6cbc4d03a8f8674412889eed5669747ccc2c7b1edfe5434a2e"
Job succeeded
2026-02-24 18:33.51: Job succeeded