(not at the head of any monitored branch or PR)
2026-04-10 17:47.52: New job: test irmin.2.2.0 with dune.3.22.2, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29704/head (3e0c395e7b1393a792367f8edca3654dac71e6fd)
                              on debian-13-ocaml-5.4/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29704/head" && git reset --hard 3e0c395e
git fetch origin master
git merge --no-edit 9d8ceab8e9f49f5671cf459997c8a47cf0e675ca
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn dune.3.22.2 3.22.2
RUN opam reinstall dune.3.22.2; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'dune.3.22.2' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall irmin.2.2.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'irmin.2.2.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test irmin.2.2.0) || true
RUN opam reinstall --with-test --verbose irmin.2.2.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'irmin.2.2.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2026-04-10 17:47.52: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03-dune.3.22.2-irmin.2.2.0-3e0c395e7b1393a792367f8edca3654dac71e6fd"
2026-04-10 17:47.52: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn dune.3.22.2 3.22.2"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall dune.3.22.2;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'dune.3.22.2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall irmin.2.2.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'irmin.2.2.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test irmin.2.2.0) || true"))
 (run (shell  "opam reinstall --with-test --verbose irmin.2.2.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'irmin.2.2.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-04-10 17:47.52: Waiting for resource in pool OCluster
2026-04-11 01:16.27: Waiting for worker…
2026-04-11 01:18.16: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at 9d8ceab8e9 Merge pull request #29697 from filipeom/opam-publish-smtml.0.25.0
Updating 9d8ceab8e9..3e0c395e7b
Fast-forward
 packages/chrome-trace/chrome-trace.3.22.2/opam     | 39 +++++++++++
 .../dune-action-plugin.3.22.2/opam                 | 52 +++++++++++++++
 .../dune-action-trace.3.22.2/opam                  | 39 +++++++++++
 .../dune-build-info/dune-build-info.3.22.2/opam    | 45 +++++++++++++
 .../dune-configurator.3.22.2/opam                  | 49 ++++++++++++++
 packages/dune-glob/dune-glob.3.22.2/opam           | 42 ++++++++++++
 .../dune-private-libs.3.22.2/opam                  | 50 +++++++++++++++
 packages/dune-rpc-lwt/dune-rpc-lwt.3.22.2/opam     | 41 ++++++++++++
 packages/dune-rpc/dune-rpc.3.22.2/opam             | 44 +++++++++++++
 packages/dune-site/dune-site.3.22.2/opam           | 37 +++++++++++
 packages/dune/dune.3.22.2/opam                     | 75 ++++++++++++++++++++++
 packages/dyn/dyn.3.22.2/opam                       | 40 ++++++++++++
 packages/fs-io/fs-io.3.22.2/opam                   | 39 +++++++++++
 packages/ocamlc-loc/ocamlc-loc.3.22.2/opam         | 43 +++++++++++++
 packages/ordering/ordering.3.22.2/opam             | 38 +++++++++++
 packages/stdune/stdune.3.22.2/opam                 | 46 +++++++++++++
 packages/top-closure/top-closure.3.22.2/opam       | 38 +++++++++++
 packages/xdg/xdg.3.22.2/opam                       | 39 +++++++++++
 18 files changed, 796 insertions(+)
 create mode 100644 packages/chrome-trace/chrome-trace.3.22.2/opam
 create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.22.2/opam
 create mode 100644 packages/dune-action-trace/dune-action-trace.3.22.2/opam
 create mode 100644 packages/dune-build-info/dune-build-info.3.22.2/opam
 create mode 100644 packages/dune-configurator/dune-configurator.3.22.2/opam
 create mode 100644 packages/dune-glob/dune-glob.3.22.2/opam
 create mode 100644 packages/dune-private-libs/dune-private-libs.3.22.2/opam
 create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.22.2/opam
 create mode 100644 packages/dune-rpc/dune-rpc.3.22.2/opam
 create mode 100644 packages/dune-site/dune-site.3.22.2/opam
 create mode 100644 packages/dune/dune.3.22.2/opam
 create mode 100644 packages/dyn/dyn.3.22.2/opam
 create mode 100644 packages/fs-io/fs-io.3.22.2/opam
 create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.22.2/opam
 create mode 100644 packages/ordering/ordering.3.22.2/opam
 create mode 100644 packages/stdune/stdune.3.22.2/opam
 create mode 100644 packages/top-closure/top-closure.3.22.2/opam
 create mode 100644 packages/xdg/xdg.3.22.2/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:a32e708a4134e2a41db640ce8876b2475794c7cd5c0ce822b17aeaf65592bf03)
2026-04-11 01:18.32 ---> using "4e852d2e6c9ac39a43c0cb8d1ef92ecff46d16da630bff560bb4811e0bb278c3" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-04-11 01:18.32 ---> using "c82a131037ae9ff29ac79f02306f126bd36264ccb683d2324f553289b0d4a496" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally 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 71 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=71 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-11 01:18.32 ---> using "983e4dc58d26f7046c0fe6fbe642bc66995d2abecd6409a14b0c538d3f1a7bd2" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 255
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {= "5.4.1"}]
# compiler-packages    ocaml-base-compiler.5.4.1, ocaml-compiler.5.4.1, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.4.1
2026-04-11 01:18.32 ---> using "8b346866360ce3a934df95a88d3a1520ccbf589f659a7e26aa97be0b96b1083a" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2026-04-11 01:18.32 ---> using "8be7be6786c965fdad4454d936ba98cc5fa516f8de8fee90f280618661533faa" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-04-11 01:18.33 ---> using "c0553ba1781e82471f38f012874b6b7341f662c325cc75285bfd7972f7a6ff87" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-11 01:18.33 ---> using "e05b19873f9cb2918bf114246a81e8bf23cb51c80d627ed2b044915e44a942dd" from cache

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [121 kB]
- Fetched 211 kB in 0s (999 kB/s)
- Reading package lists...
- 
2026-04-11 01:18.33 ---> using "dc69cd977951bdc4dffcc68622bf3ea65b4d02db568ca1f8bd5ab395f414a24f" from cache

/home/opam: (run (shell "opam pin add -k version -yn dune.3.22.2 3.22.2"))
dune is now pinned to version 3.22.2
2026-04-11 01:18.33 ---> using "d2dbab2e673d61aa25772ad855c91b371a83246b8bcc8859d8fc280f9fcf9826" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall dune.3.22.2;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'dune.3.22.2' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
dune.3.22.2 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
  - install dune 3.22.2 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.2  (cached)
-> installed dune.3.22.2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 01:18.33 ---> using "6f94ccb4a18327fa9742ec042c4183209005d455af95ec03af9e9453c8a8c9d1" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall irmin.2.2.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'irmin.2.2.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
irmin.2.2.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 24 packages
  - install angstrom           0.16.1 [required by uri]
  - install astring            0.8.5  [required by irmin]
  - install base-bytes         base   [required by ocplib-endian]
  - install base64             3.5.2  [required by irmin]
  - install bigstringaf        0.10.0 [required by angstrom]
  - install cppo               1.8.0  [required by lwt]
  - install csexp              1.5.2  [required by dune-configurator]
  - install digestif           1.3.0  [required by irmin]
  - install dune-configurator  3.22.2 [required by lwt]
  - install eqaf               0.10   [required by digestif]
  - install fmt                0.11.0 [required by irmin]
  - install irmin              2.2.0
  - install jsonm              1.0.2  [required by irmin]
  - install logs               0.10.0 [required by irmin]
  - install lwt                6.1.1  [required by irmin]
  - install ocaml-syntax-shims 1.0.0  [required by angstrom]
  - install ocamlbuild         0.16.1 [required by jsonm, astring, fmt, logs]
  - install ocamlfind          1.9.8  [required by jsonm, astring, fmt, logs]
  - install ocamlgraph         2.2.0  [required by irmin]
  - install ocplib-endian      1.2    [required by lwt]
  - install stringext          1.6.0  [required by uri]
  - install topkg              1.1.1  [required by jsonm, astring, fmt, logs]
  - install uri                4.4.0  [required by irmin]
  - install uutf               1.0.4  [required by jsonm]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base64.3.5.2  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> installed base64.3.5.2
-> installed csexp.1.5.2
-> retrieved digestif.1.3.0  (cached)
-> retrieved dune-configurator.3.22.2  (cached)
-> installed cppo.1.8.0
-> retrieved eqaf.0.10  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved irmin.2.2.0  (https://opam.ocaml.org/cache)
-> retrieved jsonm.1.0.2  (cached)
-> retrieved logs.0.10.0  (cached)
-> retrieved lwt.6.1.1  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocamlgraph.2.2.0  (cached)
-> installed eqaf.0.10
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved uri.4.4.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed stringext.1.6.0
-> installed dune-configurator.3.22.2
-> installed ocaml-syntax-shims.1.0.0
-> installed digestif.1.3.0
-> installed bigstringaf.0.10.0
-> installed ocamlgraph.2.2.0
-> installed angstrom.0.16.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed uri.4.4.0
-> installed ocplib-endian.1.2
-> installed ocamlbuild.0.16.1
-> installed lwt.6.1.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed jsonm.1.0.2
-> installed logs.0.10.0
-> installed irmin.2.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 01:19.00 ---> saved as "2704bb8b1bc6ed7743dfaa5462a6556649476be69ee282deacb8fd5864e96adc"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test irmin.2.2.0) || true"))
The following actions will be performed:
=== recompile 5 packages
  - recompile fmt                 0.11.0  [uses cmdliner]
  - recompile irmin               2.2.0
  - recompile jsonm               1.0.2   [uses uutf]
  - recompile logs                0.10.0  [uses cmdliner]
  - recompile uutf                1.0.4   [uses cmdliner]
=== install 16 packages
  - install   alcotest            1.9.1   [required by irmin]
  - install   cmdliner            2.1.0   [required by alcotest]
  - install   cstruct             6.2.0   [required by hex]
  - install   either              1.0.0   [required by repr]
  - install   hex                 1.5.0   [required by irmin]
  - install   ocaml-compiler-libs v0.17.0 [required by ppxlib]
  - install   optint              0.3.0   [required by repr]
  - install   ppx_derivers        1.2.1   [required by ppx_deriving]
  - install   ppx_deriving        6.1.1   [required by ppx_repr]
  - install   ppx_irmin           3.11.0  [required by irmin]
  - install   ppx_repr            0.8.0   [required by ppx_irmin]
  - install   ppxlib              0.38.0  [required by ppx_irmin]
  - install   re                  1.14.0  [required by alcotest]
  - install   repr                0.8.0   [required by ppx_repr]
  - install   sexplib0            v0.17.0 [required by ppxlib]
  - install   stdlib-shims        0.3.0   [required by alcotest]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1  (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.0  (https://opam.ocaml.org/cache)
-> retrieved cstruct.6.2.0  (https://opam.ocaml.org/cache)
-> retrieved either.1.0.0  (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0  (https://opam.ocaml.org/cache)
-> retrieved hex.1.5.0  (https://opam.ocaml.org/cache)
-> installed either.1.0.0
-> retrieved irmin.2.2.0  (https://opam.ocaml.org/cache)
-> retrieved jsonm.1.0.2  (https://opam.ocaml.org/cache)
-> retrieved logs.0.10.0  (https://opam.ocaml.org/cache)
-> retrieved ocaml-compiler-libs.v0.17.0  (https://opam.ocaml.org/cache)
-> retrieved optint.0.3.0  (https://opam.ocaml.org/cache)
-> retrieved ppx_derivers.1.2.1  (https://opam.ocaml.org/cache)
-> retrieved ppx_deriving.6.1.1  (https://opam.ocaml.org/cache)
-> installed ppx_derivers.1.2.1
-> installed optint.0.3.0
-> retrieved ppx_irmin.3.11.0  (https://opam.ocaml.org/cache)
-> retrieved ppx_repr.0.8.0, repr.0.8.0  (https://opam.ocaml.org/cache)
-> installed ocaml-compiler-libs.v0.17.0
-> retrieved ppxlib.0.38.0  (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0  (https://opam.ocaml.org/cache)
-> retrieved sexplib0.v0.17.0  (https://opam.ocaml.org/cache)
-> retrieved stdlib-shims.0.3.0  (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4  (https://opam.ocaml.org/cache)
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.17.0
-> installed cmdliner.2.1.0
-> removed   irmin.2.2.0
-> removed   jsonm.1.0.2
-> removed   logs.0.10.0
-> removed   fmt.0.11.0
-> removed   uutf.1.0.4
-> installed re.1.14.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed cstruct.6.2.0
-> installed hex.1.5.0
-> installed alcotest.1.9.1
-> installed jsonm.1.0.2
-> installed logs.0.10.0
-> installed repr.0.8.0
-> installed ppxlib.0.38.0
-> installed ppx_deriving.6.1.1
-> installed ppx_repr.0.8.0
-> installed ppx_irmin.3.11.0
-> installed irmin.2.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 01:19.37 ---> saved as "316f5753032239e7bcf498980f2e90d66068e053b603b681319ee6161b40c1d5"

/home/opam: (run (shell  "opam reinstall --with-test --verbose irmin.2.2.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'irmin.2.2.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
The following actions will be performed:
=== recompile 1 package
  - recompile irmin 2.2.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/4: [irmin.2.2.0: extract]
-> retrieved irmin.2.2.0  (cached)
Processing  2/4: [irmin: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "irmin" "-j" "255" (CWD=/home/opam/.opam/5.4/.opam-switch/build/irmin.2.2.0)
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/irmin/type/.irmin_type.objs/byte -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/uutf -cmi-file src/irmin/type/.irmin_type.objs/byte/irmin_type__Type_json.cmi -no-alias-deps -open Irmin_type__ -o src/irmin/type/.irmin_type.objs/byte/irmin_type__Type_json.cmo -c -impl src/irmin/type/type_json.ml)
- File "src/irmin/type/type_json.ml", line 164, characters 9-17:
- 164 |         (Fmt.strf
-                ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/type/type_json.ml", line 343, characters 27-35:
- 343 |                     (`Msg (Fmt.strf "missing value for %s.%s" r.rname h.fname)) )
-                                  ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/uutf -cmi-file src/irmin/type/.irmin_type.objs/byte/irmin_type__Type_json.cmi -no-alias-deps -open Irmin_type__ -o src/irmin/type/.irmin_type.objs/native/irmin_type__Type_json.cmx -c -impl src/irmin/type/type_json.ml)
- File "src/irmin/type/type_json.ml", line 164, characters 9-17:
- 164 |         (Fmt.strf
-                ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/type/type_json.ml", line 343, characters 27-35:
- 343 |                     (`Msg (Fmt.strf "missing value for %s.%s" r.rname h.fname)) )
-                                  ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/irmin/.irmin.objs/byte -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -cmi-file src/irmin/.irmin.objs/byte/irmin__Commit.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/byte/irmin__Commit.cmo -c -impl src/irmin/commit.ml)
- File "src/irmin/commit.ml", line 80, characters 4-13:
- 80 |     Fmt.kstrf invalid_arg "Commit.get: %a not found" pp_key k
-          ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/commit.ml", line 213, characters 38-42:
- 213 |     Fmt.pf ppf "[%a]" Fmt.(list ~sep:(unit " ") pp_key) keys
-                                             ^^^^
- Alert deprecated: Fmt.unit
- use Fmt.any instead.
- 
- File "src/irmin/commit.ml", line 295, characters 7-15:
- 295 |        Fmt.strf "d: %d, seen1: %s, seen2: %s, seenboth: %s, lcas: %s (%d) %s"
-              ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/commit.ml", line 299, characters 32-40:
- 299 |                (fun d ks acc -> Fmt.strf "(%d: %s)" d (str_keys ks) :: acc)
-                                       ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/commit.ml", line 457, characters 15-23:
- 457 |                Fmt.strf "Recursive merging of common ancestors: %s" msg)
-                      ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/irmin/.irmin.objs/byte -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -cmi-file src/irmin/.irmin.objs/byte/irmin__Tree.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/byte/irmin__Tree.cmo -c -impl src/irmin/tree.ml)
- File "src/irmin/tree.ml", line 988, characters 4-13:
- 988 |     Fmt.kstrf invalid_arg "Irmin.Tree.%s: %a not found" n pp_path k
-           ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/tree.ml", line 755, characters 12-42:
- 755 |             (step [@tailcall]) ~path acc h @@ fun acc ->
-                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- 
- File "src/irmin/tree.ml", line 764, characters 12-50:
- 764 |             (steps [@tailcall]) ~path acc bindings @@ fun acc ->
-                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- 
- File "src/irmin/tree.ml", line 1068, characters 8-32:
- 1068 |         (aux [@tailcall]) n path @@ function
-                ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- 
- File "src/irmin/tree.ml", line 1098, characters 8-32:
- 1098 |         (aux [@tailcall]) n path @@ function
-                ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- 
- File "src/irmin/tree.ml", line 1133, characters 8-32:
- 1133 |         (aux [@tailcall]) n path @@ function
-                ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- 
- File "src/irmin/tree.ml", line 1238, characters 4-31:
- 1238 |     (add_to_todo [@tailcall]) n @@ fun () ->
-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 51 [wrong-tailcall-expectation]: expected tailcall
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/irmin/.irmin.objs/byte -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -cmi-file src/irmin/.irmin.objs/byte/irmin__Sync_ext.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/byte/irmin__Sync_ext.cmo -c -impl src/irmin/sync_ext.ml)
- File "src/irmin/sync_ext.ml", line 20, characters 23-32:
- 20 | let invalid_argf fmt = Fmt.kstrf Lwt.fail_invalid_arg fmt
-                             ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/irmin/.irmin.objs/byte -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -cmi-file src/irmin/.irmin.objs/byte/irmin__Contents.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/byte/irmin__Contents.cmo -c -impl src/irmin/contents.ml)
- File "src/irmin/contents.ml", line 43, characters 28-36:
- 43 |     | `Error e -> failwith (Fmt.strf "%a" Jsonm.pp_error e)
-                                  ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/irmin/.irmin.objs/byte -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -cmi-file src/irmin/.irmin.objs/byte/irmin__Store.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/byte/irmin__Store.cmo -c -impl src/irmin/store.ml)
- File "src/irmin/store.ml", line 45, characters 10-19:
- 45 |           Fmt.kstrf Lwt.fail_invalid_arg "corrupted value: got %a, expecting %a"
-                ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 291, characters 27-36:
- 291 |     let import_error fmt = Fmt.kstrf (fun x -> Lwt.fail (Import_error x)) fmt
-                                  ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 333, characters 17-26:
- 333 |           | e -> Fmt.kstrf Lwt.fail_invalid_arg "impot error: %a" Fmt.exn e)
-                        ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 369, characters 22-31:
- 369 |   let err_no_head s = Fmt.kstrf Lwt.fail_invalid_arg "Irmin.%s: no head" s
-                             ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 389, characters 14-22:
- 389 |     let err = Fmt.strf "%a is not a valid branch name." pp_branch t in
-                     ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/store.ml", line 699, characters 17-26:
- 699 |     | Error e -> Fmt.kstrf Lwt.fail_with "%s: %a" name pp_write_error e
-                        ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 891, characters 8-17:
- 891 |         Fmt.kstrf Lwt.fail_invalid_arg
-               ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 1054, characters 6-15:
- 1054 |       Fmt.kstrf invalid_arg "Branch.get: %a not found" pp_branch k
-              ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/irmin/.irmin.objs/byte -I src/irmin/.irmin.objs/native -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -cmi-file src/irmin/.irmin.objs/byte/irmin__Commit.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/native/irmin__Commit.cmx -c -impl src/irmin/commit.ml)
- File "src/irmin/commit.ml", line 80, characters 4-13:
- 80 |     Fmt.kstrf invalid_arg "Commit.get: %a not found" pp_key k
-          ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/commit.ml", line 213, characters 38-42:
- 213 |     Fmt.pf ppf "[%a]" Fmt.(list ~sep:(unit " ") pp_key) keys
-                                             ^^^^
- Alert deprecated: Fmt.unit
- use Fmt.any instead.
- 
- File "src/irmin/commit.ml", line 295, characters 7-15:
- 295 |        Fmt.strf "d: %d, seen1: %s, seen2: %s, seenboth: %s, lcas: %s (%d) %s"
-              ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/commit.ml", line 299, characters 32-40:
- 299 |                (fun d ks acc -> Fmt.strf "(%d: %s)" d (str_keys ks) :: acc)
-                                       ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/commit.ml", line 457, characters 15-23:
- 457 |                Fmt.strf "Recursive merging of common ancestors: %s" msg)
-                      ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/irmin/.irmin.objs/byte -I src/irmin/.irmin.objs/native -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -cmi-file src/irmin/.irmin.objs/byte/irmin__Tree.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/native/irmin__Tree.cmx -c -impl src/irmin/tree.ml)
- File "src/irmin/tree.ml", line 988, characters 4-13:
- 988 |     Fmt.kstrf invalid_arg "Irmin.Tree.%s: %a not found" n pp_path k
-           ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/irmin/.irmin.objs/byte -I src/irmin/.irmin.objs/native -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -cmi-file src/irmin/.irmin.objs/byte/irmin__Store.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/native/irmin__Store.cmx -c -impl src/irmin/store.ml)
- File "src/irmin/store.ml", line 45, characters 10-19:
- 45 |           Fmt.kstrf Lwt.fail_invalid_arg "corrupted value: got %a, expecting %a"
-                ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 291, characters 27-36:
- 291 |     let import_error fmt = Fmt.kstrf (fun x -> Lwt.fail (Import_error x)) fmt
-                                  ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 333, characters 17-26:
- 333 |           | e -> Fmt.kstrf Lwt.fail_invalid_arg "impot error: %a" Fmt.exn e)
-                        ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 369, characters 22-31:
- 369 |   let err_no_head s = Fmt.kstrf Lwt.fail_invalid_arg "Irmin.%s: no head" s
-                             ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 389, characters 14-22:
- 389 |     let err = Fmt.strf "%a is not a valid branch name." pp_branch t in
-                     ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "src/irmin/store.ml", line 699, characters 17-26:
- 699 |     | Error e -> Fmt.kstrf Lwt.fail_with "%s: %a" name pp_write_error e
-                        ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 891, characters 8-17:
- 891 |         Fmt.kstrf Lwt.fail_invalid_arg
-               ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "src/irmin/store.ml", line 1054, characters 6-15:
- 1054 |       Fmt.kstrf invalid_arg "Branch.get: %a not found" pp_branch k
-              ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/irmin/.irmin.objs/byte -I src/irmin/.irmin.objs/native -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -cmi-file src/irmin/.irmin.objs/byte/irmin__Sync_ext.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/native/irmin__Sync_ext.cmx -c -impl src/irmin/sync_ext.ml)
- File "src/irmin/sync_ext.ml", line 20, characters 23-32:
- 20 | let invalid_argf fmt = Fmt.kstrf Lwt.fail_invalid_arg fmt
-                             ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I src/irmin/.irmin.objs/byte -I src/irmin/.irmin.objs/native -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/digestif -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -cmi-file src/irmin/.irmin.objs/byte/irmin__Contents.cmi -no-alias-deps -open Irmin__ -o src/irmin/.irmin.objs/native/irmin__Contents.cmx -c -impl src/irmin/contents.ml)
- File "src/irmin/contents.ml", line 43, characters 28-36:
- 43 |     | `Error e -> failwith (Fmt.strf "%a" Jsonm.pp_error e)
-                                  ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
Processing  2/4: [irmin: dune runtest]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "runtest" "-p" "irmin" (CWD=/home/opam/.opam/5.4/.opam-switch/build/irmin.2.2.0)
- (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w -40 -g -I test/irmin/.test.eobjs/byte -I test/irmin/.test.eobjs/native -I /home/opam/.opam/5.4/lib/alcotest -I /home/opam/.opam/5.4/lib/alcotest/engine -I /home/opam/.opam/5.4/lib/alcotest/stdlib_ext -I /home/opam/.opam/5.4/lib/angstrom -I /home/opam/.opam/5.4/lib/astring -I /home/opam/.opam/5.4/lib/base64 -I /home/opam/.opam/5.4/lib/bigstringaf -I /home/opam/.opam/5.4/lib/cmdliner -I /home/opam/.opam/5.4/lib/cstruct -I /home/opam/.opam/5.4/lib/digestif/c -I /home/opam/.opam/5.4/lib/eqaf -I /home/opam/.opam/5.4/lib/fmt -I /home/opam/.opam/5.4/lib/fmt/cli -I /home/opam/.opam/5.4/lib/fmt/tty -I /home/opam/.opam/5.4/lib/hex -I /home/opam/.opam/5.4/lib/jsonm -I /home/opam/.opam/5.4/lib/logs -I /home/opam/.opam/5.4/lib/lwt -I /home/opam/.opam/5.4/lib/ocaml/unix -I /home/opam/.opam/5.4/lib/ocamlgraph -I /home/opam/.opam/5.4/lib/re -I /home/opam/.opam/5.4/lib/stdlib-shims -I /home/opam/.opam/5.4/lib/stringext -I /home/opam/.opam/5.4/lib/uri -I /home/opam/.opam/5.4/lib/uutf -I src/irmin/.irmin.objs/byte -I src/irmin/.irmin.objs/native -I src/irmin/type/.irmin_type.objs/byte -I src/irmin/type/.irmin_type.objs/native -cmi-file test/irmin/.test.eobjs/byte/test.cmi -no-alias-deps -o test/irmin/.test.eobjs/native/test.cmx -c -impl test/irmin/test.pp.ml)
- File "test/irmin/test.ml", line 218, characters 6-14:
- 218 |       Fmt.strf "Expected output of `to_string` for representation of `%s`"
-             ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "test/irmin/test.ml", line 289, characters 6-14:
- 289 |       Fmt.strf "Expected output of `pp_ty` for representation of `%s`" case_name
-             ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "test/irmin/test.ml", line 433, characters 39-47:
- 433 |     | Some ss -> Alcotest.(check int) (Fmt.strf "size:%d" x) s ss
-                                              ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- 
- File "test/irmin/test.ml", line 467, characters 28-37:
- 467 |     try Ok (f ()) with e -> Fmt.kstrf (fun s -> Error s) "%a" Fmt.exn e
-                                   ^^^^^^^^^
- Alert deprecated: Fmt.kstrf
- use Fmt.kstr instead.
- 
- File "test/irmin/test.ml", line 485, characters 19-27:
- 485 |         let name = Fmt.strf "size: %a" (Irmin.Type.pp t) v in
-                          ^^^^^^^^
- Alert deprecated: Fmt.strf
- use Fmt.str instead.
- (cd _build/default/test/irmin && ./test.exe)
- Testing `irmin'.
- This run has ID `TRHWYI51'.
- 
-   [OK]          type          0   base.
-   [OK]          type          1   json.
-   [OK]          type          2   json_option.
-   [OK]          type          3   bin.
-   [OK]          type          4   to_string.
-   [OK]          type          5   pp_ty.
-   [OK]          type          6   compare.
-   [OK]          type          7   equal.
-   [OK]          type          8   ints.
-   [OK]          type          9   decode.
-   [OK]          type         10   size_of.
-   [OK]          type         11   test_hashes.
-   [OK]          type         12   test_variants.
-   [OK]          type         13   test_duplicate_names.
-   [OK]          type         14   test_malformed_utf8.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/irmin.2.2.0/_build/default/test/irmin/_build/_tests/irmin'.
- Test Successful in 0.454s. 15 tests run.
-> compiled  irmin.2.2.0
-> removed   irmin.2.2.0
-> installed irmin.2.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 01:19.47 ---> saved as "d04f585f31a96a8412ce5c816268cc96fcae14273e51efcb81e21e9596665463"
Job succeeded
2026-04-11 01:20.01: Job succeeded