Organisationsmiragespamtacus2d10c6 (main)alpine-3.22-5.4_opam-2.4

alpine-3.22-5.4_opam-2.4

Logs

Show full logs
2025-10-18 16:36.08: New job: test mirage/spamtacus https://github.com/mirage/spamtacus.git#refs/heads/main (2d10c6f114e63621bb26999fefd7881f3e673bad) (linux-x86_64:alpine-3.22-5.4_opam-2.4)
Base: ocaml/opam:alpine-3.22-ocaml-5.4@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1
Opam project build

To reproduce locally:

git clone --recursive "https://github.com/mirage/spamtacus.git" -b "main" && cd "spamtacus" && git reset --hard 2d10c6f1
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.22-ocaml-5.4@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1
# alpine-3.22-5.4_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.4 /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 60c74a29f5d280ca9330c57b890e2e8c0fbc444c || git fetch origin master) && git reset -q --hard 60c74a29f5d280ca9330c57b890e2e8c0fbc444c && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 spamtacus.opam spamtacus-mirage.opam spamtacus-bayesian.opam ./
RUN opam pin add -yn spamtacus.dev './' && \
    opam pin add -yn spamtacus-mirage.dev './' && \
    opam pin add -yn spamtacus-bayesian.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.2 bigarray-overlap.0.2.1 bigstringaf.0.10.0 cmdliner.2.0.0 coin.0.1.4 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 domain-name.0.5.0 dune.3.20.2 dune-configurator.3.20.2 emile.1.1 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 ke.0.6 logs.0.9.0 lwt.5.9.2 macaddr.5.6.1 mrmime.0.7.0 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 pecu.0.7 prettym.0.0.3 ptime.1.2.0 re.1.14.0 rosetta.0.3.0 rresult.0.7.0 topkg.1.1.0 unstrctrd.0.4 uutf.1.0.4 uuuu.0.3.0 yuscii.0.3.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.4 --depext-only -y spamtacus.dev spamtacus-mirage.dev spamtacus-bayesian.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build

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

2025-10-18 16:36.08: Using cache hint "mirage/spamtacus-ocaml/opam:alpine-3.22-ocaml-5.4@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1-alpine-3.22-5.4_opam-2.4-3db11ab2c60abf0a173409ca6498da7b"
2025-10-18 16:36.08: Using OBuilder spec:
((from ocaml/opam:alpine-3.22-ocaml-5.4@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1)
 (comment alpine-3.22-5.4_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.4 /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 60c74a29f5d280ca9330c57b890e2e8c0fbc444c || git fetch origin master) && git reset -q --hard 60c74a29f5d280ca9330c57b890e2e8c0fbc444c && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src spamtacus.opam spamtacus-mirage.opam spamtacus-bayesian.opam)
       (dst ./))
 (run (network host)
      (shell  "opam pin add -yn spamtacus.dev './' && \
             \nopam pin add -yn spamtacus-mirage.dev './' && \
             \nopam pin add -yn spamtacus-bayesian.dev './'"))
 (run (network host)
      (shell "echo '(lang dune 3.0)' > './dune-project'"))
 (env DEPS "angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.2 bigarray-overlap.0.2.1 bigstringaf.0.10.0 cmdliner.2.0.0 coin.0.1.4 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 domain-name.0.5.0 dune.3.20.2 dune-configurator.3.20.2 emile.1.1 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 ke.0.6 logs.0.9.0 lwt.5.9.2 macaddr.5.6.1 mrmime.0.7.0 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 pecu.0.7 prettym.0.0.3 ptime.1.2.0 re.1.14.0 rosetta.0.3.0 rresult.0.7.0 topkg.1.1.0 unstrctrd.0.4 uutf.1.0.4 uuuu.0.3.0 yuscii.0.3.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.4 --depext-only -y spamtacus.dev spamtacus-mirage.dev spamtacus-bayesian.dev $DEPS"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam install $DEPS"))
 (copy (src .) (dst /src))
 (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)

2025-10-18 16:36.08: Waiting for resource in pool OCluster
2025-10-18 17:32.14: Waiting for worker…
2025-10-18 17:39.36: Got resource from pool OCluster
Building on eumache
All commits already cached
HEAD is now at 2d10c6f Merge pull request #12 from mirage/lint

(from ocaml/opam:alpine-3.22-ocaml-5.4@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1)
Unable to find image 'ocaml/opam:alpine-3.22-ocaml-5.4@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1' locally
docker.io/ocaml/opam@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1: Pulling from ocaml/opam
2d35ebdb57d9: Already exists
4eef589852a3: Already exists
9bcbf19aa70e: Already exists
c27157cc8c0d: Already exists
8eb40fc9ec7b: Already exists
cf28fbda269d: Already exists
bdb05ad1bb03: Already exists
14b089059d7b: Already exists
8fba92877dbb: Already exists
b46b8c2b2e76: Already exists
c5fe84151a2d: Already exists
d69ebb2cea14: Already exists
8987930d7936: Already exists
07e0ebe0bb32: Already exists
a8a8cd8bbc43: Already exists
0eee052a54e0: Already exists
9d0f02e69e08: Already exists
4f4fb700ef54: Already exists
a90897db75ef: Already exists
678b7f997d9a: Already exists
55a17ca9d235: Already exists
b0fc237f6c26: Already exists
4a9f9668ab4a: Already exists
f4048786242d: Already exists
322480b4b1d3: Already exists
eda2d7da1b04: Already exists
83325a5b2b26: Already exists
09b67e1d956f: Already exists
2adafa4b73e4: Already exists
8e04b3ec100b: Already exists
7eac41d73ac6: Already exists
477769be07d7: Already exists
1121e0452bac: Already exists
a7433c286e2f: Already exists
d11ef3af080f: Already exists
595e38b8edfd: Already exists
f15368aa3240: Already exists
772205525b1c: Already exists
4b2a438a134b: Already exists
ce88c0406b4f: Already exists
30e6e4c7d9f2: Already exists
44ebb4aa5e2d: Already exists
Digest: sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1
Status: Downloaded newer image for ocaml/opam@sha256:27e2909a2a30c05b9fb5696467f60c5bf3c31b41ea2e3088cc8d9cabbdf2f1a1
2025-10-18 17:39.37 ---> using "e5ab524290e505ed5240c7136106572c90f8627d7370b4a892c6d0542a73b860" from cache

/: (comment alpine-3.22-5.4_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.4 /usr/bin/opam"))
2025-10-18 17:39.37 ---> using "842aabfb8075585c58dd3796ad7f10d9759a3a2fd2b99532aad6c3213b54374d" 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 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
2025-10-18 17:39.37 ---> using "839d7f09fa9959b49dee54923b64533e1cf0fc0921fb751f1c302a1676d84f63" from cache

/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-131-generic
The OCaml toplevel, version 5.4.0
2.4.1
2025-10-18 17:39.37 ---> using "c457e564a54f7ef45dc343abb0d249c5401278994a0a39530e666d61e6f08283" from cache

/src: (workdir /src)

/src: (run (shell "sudo chown opam /src"))
2025-10-18 17:39.37 ---> using "29f1940b2be9f0ffecc71b1311abbbd03369d83e42a8c265638038c10eef5a91" from cache

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e 60c74a29f5d280ca9330c57b890e2e8c0fbc444c || git fetch origin master) && git reset -q --hard 60c74a29f5d280ca9330c57b890e2e8c0fbc444c && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
 * branch                  master     -> FETCH_HEAD
   1abfcdbf14..5bf570252b  master     -> origin/master
60c74a29f5 Merge pull request #28709 from hannesm/release-domain-name-v0.5.0

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository

Already up-to-date.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-10-18 17:39.37 ---> using "fd829f528c552f902b065bdd013e975dbba82415f5677f89f6ba82b321521156" from cache

/src: (copy (src spamtacus.opam spamtacus-mirage.opam spamtacus-bayesian.opam)
            (dst ./))
2025-10-18 17:39.37 ---> saved as "bdebde6ce3404756f3741c4f5fcd77f87749ff981a2242b7bf7097f35acc46ea"

/src: (run (network host)
           (shell  "opam pin add -yn spamtacus.dev './' && \
                  \nopam pin add -yn spamtacus-mirage.dev './' && \
                  \nopam pin add -yn spamtacus-bayesian.dev './'"))
[NOTE] Package spamtacus does not exist in opam repositories registered in the current switch.
[spamtacus.dev] synchronised (file:///src)
spamtacus is now pinned to file:///src (version dev)
[NOTE] Package spamtacus-mirage does not exist in opam repositories registered in the current switch.
[spamtacus-mirage.dev] synchronised (file:///src)
spamtacus-mirage is now pinned to file:///src (version dev)
[NOTE] Package spamtacus-bayesian does not exist in opam repositories registered in the current switch.
[spamtacus-bayesian.dev] synchronised (file:///src)
spamtacus-bayesian is now pinned to file:///src (version dev)
2025-10-18 17:39.49 ---> saved as "48e3199ef946d3e1a92c6f0bb7bd7aa06f6de4cedf3017d3c549b1bae783d383"

/src: (run (network host)
           (shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-10-18 17:39.49 ---> saved as "1ea4ced0417ff514ee1cba5b8dd7a1bc8e9c14874534a20e19a67ac27c945f32"

/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base64.3.5.2 bigarray-overlap.0.2.1 bigstringaf.0.10.0 cmdliner.2.0.0 coin.0.1.4 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 domain-name.0.5.0 dune.3.20.2 dune-configurator.3.20.2 emile.1.1 fmt.0.11.0 fpath.0.7.3 ipaddr.5.6.1 ke.0.6 logs.0.9.0 lwt.5.9.2 macaddr.5.6.1 mrmime.0.7.0 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 pecu.0.7 prettym.0.0.3 ptime.1.2.0 re.1.14.0 rosetta.0.3.0 rresult.0.7.0 topkg.1.1.0 unstrctrd.0.4 uutf.1.0.4 uuuu.0.3.0 yuscii.0.3.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.4 --depext-only -y spamtacus.dev spamtacus-mirage.dev spamtacus-bayesian.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.2-46-gf44c8d388fc [https://dl-cdn.alpinelinux.org/alpine/v3.22/main]
- v3.22.2-49-g5ccb1eb14d7 [https://dl-cdn.alpinelinux.org/alpine/v3.22/community]
- v20251016-156-ge9635f59514 [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v20251016-157-g0ac184e43ae [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v20251016-155-geff968f25d3 [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 59604 distinct packages available

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[spamtacus.dev] synchronised (file:///src)
[spamtacus-bayesian.dev] synchronised (file:///src)
[spamtacus-mirage.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-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml is already installed (current version is 5.4.0).
[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-effects 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-10-18 17:40.12 ---> saved as "10331f8b131bf871bbcdf03b24d24baf639eac6e324b04c77d3f0396d32e98ea"

/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-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).
[NOTE] Package ocaml is already installed (current version is 5.4.0).
[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-effects 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 38 packages
  - install angstrom           0.16.1
  - install astring            0.8.5
  - install base-bytes         base
  - install base64             3.5.2
  - install bigarray-overlap   0.2.1
  - install bigstringaf        0.10.0
  - install cmdliner           2.0.0
  - install coin               0.1.4
  - install conf-pkg-config    4
  - install cppo               1.8.0
  - install csexp              1.5.2
  - install domain-name        0.5.0
  - install dune               3.20.2
  - install dune-configurator  3.20.2
  - install emile              1.1
  - install fmt                0.11.0
  - install fpath              0.7.3
  - install ipaddr             5.6.1
  - install ke                 0.6
  - install logs               0.9.0
  - install lwt                5.9.2
  - install macaddr            5.6.1
  - install mrmime             0.7.0
  - install ocaml-syntax-shims 1.0.0
  - install ocamlbuild         0.16.1
  - install ocamlfind          1.9.8
  - install ocplib-endian      1.2
  - install pecu               0.7
  - install prettym            0.0.3
  - install ptime              1.2.0
  - install re                 1.14.0
  - install rosetta            0.3.0
  - install rresult            0.7.0
  - install topkg              1.1.0
  - install unstrctrd          0.4
  - install uutf               1.0.4
  - install uuuu               0.3.0
  - install yuscii             0.3.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base64.3.5.2  (cached)
-> retrieved bigarray-overlap.0.2.1  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved cmdliner.2.0.0  (cached)
-> retrieved coin.0.1.4  (cached)
-> retrieved cppo.1.8.0  (cached)
-> installed conf-pkg-config.4
-> retrieved csexp.1.5.2  (cached)
-> retrieved domain-name.0.5.0  (cached)
-> retrieved emile.1.1  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ipaddr.5.6.1, macaddr.5.6.1  (cached)
-> retrieved ke.0.6  (cached)
-> retrieved logs.0.9.0  (cached)
-> retrieved lwt.5.9.2  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved mrmime.0.7.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved pecu.0.7  (cached)
-> retrieved prettym.0.0.3  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved rosetta.0.3.0  (cached)
-> retrieved rresult.0.7.0  (cached)
-> retrieved unstrctrd.0.4  (cached)
-> retrieved topkg.1.1.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved uuuu.0.3.0  (cached)
-> retrieved yuscii.0.3.0  (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2  (cached)
-> installed cmdliner.2.0.0
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed topkg.1.1.0
-> installed rresult.0.7.0
-> installed fmt.0.11.0
-> installed uutf.1.0.4
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.20.2
-> installed bigarray-overlap.0.2.1
-> installed base64.3.5.2
-> installed domain-name.0.5.0
-> installed csexp.1.5.2
-> installed ke.0.6
-> installed macaddr.5.6.1
-> installed ocaml-syntax-shims.1.0.0
-> installed pecu.0.7
-> installed yuscii.0.3.0
-> installed cppo.1.8.0
-> installed re.1.14.0
-> installed ipaddr.5.6.1
-> installed ocplib-endian.1.2
-> installed coin.0.1.4
-> installed uuuu.0.3.0
-> installed rosetta.0.3.0
-> installed dune-configurator.3.20.2
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed prettym.0.0.3
-> installed unstrctrd.0.4
-> installed emile.1.1
-> installed lwt.5.9.2
-> installed mrmime.0.7.0
-> installed logs.0.9.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-10-18 17:42.35 ---> saved as "480edcbf3ca5eb6ff6aed945dea415f4f8d03580e463de9df38dff35b7669df9"

/src: (copy (src .) (dst /src))
2025-10-18 17:42.36 ---> saved as "39dc1da8ce67c726bcea64d6beba3a9df03ac3e3b5b9b0379a02517f1a54bd61"

/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
2025-10-18 17:42.42 ---> saved as "11a33106bc5f0e59ce1b24aea501df618e299d92a80e23de2144dbbc08ddf722"
Job succeeded
2025-10-18 17:42.42: Job succeeded