Build:
  1. 0
2026-03-02 19:36.08: New job: test handlebars-ml.0.3.0 with dune.3.22.0~alpha0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29497/head (118a690db616b1df5c53d5fa00eb70791a80ae2c)
                              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/29497/head" && git reset --hard 118a690d
git fetch origin master
git merge --no-edit a7b8d1036328cf727af175b657f3d2b732b4d868
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c
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.0~alpha0 3.22.0~alpha0
RUN opam reinstall dune.3.22.0~alpha0; \
    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.0~alpha0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall handlebars-ml.0.3.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" != 'handlebars-ml.0.3.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 handlebars-ml.0.3.0) || true
RUN opam reinstall --with-test --verbose handlebars-ml.0.3.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" != 'handlebars-ml.0.3.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-03-02 19:36.08: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c-dune.3.22.0~alpha0-handlebars-ml.0.3.0-118a690db616b1df5c53d5fa00eb70791a80ae2c"
2026-03-02 19:36.08: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c)
 (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.0~alpha0 3.22.0~alpha0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall dune.3.22.0~alpha0;\
             \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.0~alpha0' && 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 handlebars-ml.0.3.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\" != 'handlebars-ml.0.3.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 handlebars-ml.0.3.0) || true"))
 (run (shell  "opam reinstall --with-test --verbose handlebars-ml.0.3.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\" != 'handlebars-ml.0.3.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-03-02 19:36.08: Waiting for resource in pool OCluster
2026-03-03 08:28.45: Waiting for worker…
2026-03-03 08:30.54: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at a7b8d10363 Merge pull request #29489 from anuragsoni/opam-publish-kqueue.0.7.0
Updating a7b8d10363..118a690db6
Fast-forward
 .../chrome-trace/chrome-trace.3.22.0~alpha0/opam   | 39 +++++++++++
 .../dune-action-plugin.3.22.0~alpha0/opam          | 52 +++++++++++++++
 .../dune-action-trace.3.22.0~alpha0/opam           | 40 ++++++++++++
 .../dune-build-info.3.22.0~alpha0/opam             | 45 +++++++++++++
 .../dune-configurator.3.22.0~alpha0/opam           | 49 ++++++++++++++
 packages/dune-glob/dune-glob.3.22.0~alpha0/opam    | 42 ++++++++++++
 .../dune-private-libs.3.22.0~alpha0/opam           | 50 +++++++++++++++
 .../dune-rpc-lwt/dune-rpc-lwt.3.22.0~alpha0/opam   | 41 ++++++++++++
 packages/dune-rpc/dune-rpc.3.22.0~alpha0/opam      | 44 +++++++++++++
 packages/dune-site/dune-site.3.22.0~alpha0/opam    | 37 +++++++++++
 packages/dune/dune.3.22.0~alpha0/opam              | 75 ++++++++++++++++++++++
 packages/dyn/dyn.3.22.0~alpha0/opam                | 40 ++++++++++++
 packages/fs-io/fs-io.3.22.0~alpha0/opam            | 39 +++++++++++
 packages/ocamlc-loc/ocamlc-loc.3.22.0~alpha0/opam  | 43 +++++++++++++
 packages/ordering/ordering.3.22.0~alpha0/opam      | 38 +++++++++++
 packages/stdune/stdune.3.22.0~alpha0/opam          | 46 +++++++++++++
 .../top-closure/top-closure.3.22.0~alpha0/opam     | 38 +++++++++++
 packages/xdg/xdg.3.22.0~alpha0/opam                | 39 +++++++++++
 18 files changed, 797 insertions(+)
 create mode 100644 packages/chrome-trace/chrome-trace.3.22.0~alpha0/opam
 create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.22.0~alpha0/opam
 create mode 100644 packages/dune-action-trace/dune-action-trace.3.22.0~alpha0/opam
 create mode 100644 packages/dune-build-info/dune-build-info.3.22.0~alpha0/opam
 create mode 100644 packages/dune-configurator/dune-configurator.3.22.0~alpha0/opam
 create mode 100644 packages/dune-glob/dune-glob.3.22.0~alpha0/opam
 create mode 100644 packages/dune-private-libs/dune-private-libs.3.22.0~alpha0/opam
 create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.22.0~alpha0/opam
 create mode 100644 packages/dune-rpc/dune-rpc.3.22.0~alpha0/opam
 create mode 100644 packages/dune-site/dune-site.3.22.0~alpha0/opam
 create mode 100644 packages/dune/dune.3.22.0~alpha0/opam
 create mode 100644 packages/dyn/dyn.3.22.0~alpha0/opam
 create mode 100644 packages/fs-io/fs-io.3.22.0~alpha0/opam
 create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.22.0~alpha0/opam
 create mode 100644 packages/ordering/ordering.3.22.0~alpha0/opam
 create mode 100644 packages/stdune/stdune.3.22.0~alpha0/opam
 create mode 100644 packages/top-closure/top-closure.3.22.0~alpha0/opam
 create mode 100644 packages/xdg/xdg.3.22.0~alpha0/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:4add1601135529e9f2e403a25c1c640231c0e871e87f88cf8feab4be5095104c)
2026-03-03 08:31.02 ---> using "3c18c9e472a4f76bc128dc0a5a1e21158ba3dbd0d6773ace6ec33f0cfe6fac9b" 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-03-03 08:31.02 ---> using "7a3442ad99cd957e3ce65df65cad40aee4354c6d524c7813b8b589bc410c187e" 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-03-03 08:31.02 ---> using "4214446d06a5b764dff5167574d07a5b4441731262795df63d7a3c5f64e1a189" 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.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, 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.0
2026-03-03 08:31.02 ---> using "8bf276ecf196c09ac4fb294f887dce47d9744c212aabbbad5d313f0a4179272a" 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-03-03 08:31.02 ---> using "c04e3f046c8eaf07d3d8f4b30debe47a6f7742bcdbfbfeb4d464149613cd35cd" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-03 08:31.03 ---> using "eec15e3492f38e67613d1a01ad00877a9a3ba45d19f73e6250e19cd2bda0a34c" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-03 08:31.03 ---> using "b219e5557ed366603222e74c0319619404e73f91801374c46bc0615017490834" 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 [113 kB]
- Fetched 203 kB in 0s (2140 kB/s)
- Reading package lists...
2026-03-03 08:31.03 ---> using "411e66a2e15299fe700f96de3484c141af0207f3778de7985d9b3b9532bed7f1" from cache

/home/opam: (run (shell "opam pin add -k version -yn dune.3.22.0~alpha0 3.22.0~alpha0"))
dune is now pinned to version 3.22.0~alpha0
2026-03-03 08:31.03 ---> using "2f9d235ba473e057f7f5361d0a2909273f5e0fdc881489604942445353473ef7" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall dune.3.22.0~alpha0;\
                        \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.0~alpha0' && 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.0~alpha0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
  - install dune 3.22.0~alpha0 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.0~alpha0  (cached)
-> installed dune.3.22.0~alpha0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-03 08:31.03 ---> using "f408636eb0246d657c1391cb7970d0cd4140119dfc0439ba4e0d991b34b6c9dc" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall handlebars-ml.0.3.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\" != 'handlebars-ml.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
handlebars-ml.0.3.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 10 packages
  - install cppo                1.8.0   [required by ppx_deriving]
  - install handlebars-ml       0.3.0
  - install ocaml-compiler-libs v0.17.0 [required by ppxlib]
  - install ocamlfind           1.9.8   [required by ppx_deriving]
  - install ppx_derivers        1.2.1   [required by ppx_deriving]
  - install ppx_deriving        6.1.1   [required by handlebars-ml]
  - install ppxlib              0.37.0  [required by ppx_deriving]
  - install sexplib0            v0.17.0 [required by ppxlib]
  - install stdlib-shims        0.3.0   [required by ppxlib]
  - install yojson              3.0.0   [required by handlebars-ml]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cppo.1.8.0  (cached)
-> retrieved handlebars-ml.0.3.0  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.1.1  (cached)
-> retrieved ppxlib.0.37.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> installed ppx_derivers.1.2.1
-> retrieved yojson.3.0.0  (cached)
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.17.0
-> installed cppo.1.8.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed yojson.3.0.0
-> installed ocamlfind.1.9.8
-> installed ppxlib.0.37.0
-> installed ppx_deriving.6.1.1
-> installed handlebars-ml.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-03 08:31.34 ---> saved as "165c746def1b725f340d72312fbd6cb9fd3772b3d4856c19dea89bbc742e9ef2"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test handlebars-ml.0.3.0) || true"))
The following actions will be performed:
=== recompile 1 package
  - recompile handlebars-ml      0.3.0
=== install 9 packages
  - install   alcotest           1.9.1  [required by handlebars-ml]
  - install   astring            0.8.5  [required by alcotest]
  - install   cmdliner           2.1.0  [required by alcotest]
  - install   fmt                0.11.0 [required by alcotest]
  - install   ocaml-syntax-shims 1.0.0  [required by alcotest]
  - install   ocamlbuild         0.16.1 [required by fmt, astring, uutf]
  - install   re                 1.14.0 [required by alcotest]
  - install   topkg              1.1.1  [required by fmt, astring, uutf]
  - install   uutf               1.0.4  [required by alcotest]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1  (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5  (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.0  (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0  (https://opam.ocaml.org/cache)
-> retrieved handlebars-ml.0.3.0  (https://opam.ocaml.org/cache)
-> retrieved ocaml-syntax-shims.1.0.0  (https://opam.ocaml.org/cache)
-> retrieved ocamlbuild.0.16.1  (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0  (https://opam.ocaml.org/cache)
-> retrieved topkg.1.1.1  (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4  (https://opam.ocaml.org/cache)
-> installed ocaml-syntax-shims.1.0.0
-> installed re.1.14.0
-> installed cmdliner.2.1.0
-> removed   handlebars-ml.0.3.0
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed alcotest.1.9.1
-> installed handlebars-ml.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-03 08:31.59 ---> saved as "cf3003876d0c06d15bd0224d09b30b5cd4b641ff5b81f5f8bf2aab54c089f87b"

/home/opam: (run (shell  "opam reinstall --with-test --verbose handlebars-ml.0.3.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\" != 'handlebars-ml.0.3.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 handlebars-ml 0.3.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/4: [handlebars-ml.0.3.0: extract]
-> retrieved handlebars-ml.0.3.0  (cached)
Processing  2/4: [handlebars-ml: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "handlebars-ml" "-j" "255" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/handlebars-ml.0.3.0)
- (cd _build/default/test && ./test_handlebars_ml.exe)
- Testing `Handlebars ML Tests'.
- This run has ID `0WNCPV74'.
- 
-   [OK]          Compiler          0   simple variable substitution.
-   [OK]          Compiler          1   multiple variables.
-   [OK]          Compiler          2   missing variable returns empty string.
-   [OK]          Compiler          3   nested object access.
-   [OK]          Compiler          4   escaped output by default.
-   [OK]          Compiler          5   unescaped output with triple braces.
-   [OK]          Compiler          6   upper helper.
-   [OK]          Compiler          7   lower helper.
-   [OK]          Compiler          8   length helper with string.
-   [OK]          Compiler          9   missing helper error.
-   [OK]          Compiler         10   if block with truthy value.
-   [OK]          Compiler         11   if block with falsy value.
-   [OK]          Compiler         12   empty string is falsy.
-   [OK]          Compiler         13   zero is falsy.
-   [OK]          Compiler         14   non-empty string is truthy.
-   [OK]          Compiler         15   integer to string.
-   [OK]          Compiler         16   custom helper.
-   [OK]          Compiler         17   each block with array.
-   [OK]          Compiler         18   each block with object.
-   [OK]          Compiler         19   with block context.
-   [OK]          Compiler         20   mustache-style block with dot-nesting.
-   [OK]          Compiler         21   fallback with WhateverMakesSense.
-   [OK]          Compiler         22   basic partial inclusion should work.
-   [OK]          Compiler         23   partial with context inheritance should...
-   [OK]          Compiler         24   partial with custom context should work...
-   [OK]          Compiler         25   nested partials should work.
-   [OK]          Compiler         26   partial recursion should be prevented.
-   [OK]          Compiler         27   partial with explicit context should work.
-   [OK]          Compiler         28   partial with nested context expression ...
-   [OK]          Compiler         29   partial with literal context should work.
-   [OK]          Compiler         30   partial context should not affect paren...
-   [OK]          Compiler         31   @root should reference initial context.
-   [OK]          Compiler         32   @root should work in each blocks.
-   [OK]          Compiler         33   @root should work in partials.
-   [OK]          Compiler         34   @root should work with nested contexts.
-   [OK]          Compiler         35   partial with single hash argument shoul...
-   [OK]          Compiler         36   partial with multiple hash arguments sh...
-   [OK]          Compiler         37   partial with context and hash arguments...
-   [OK]          Compiler         38   partial hash arguments should override ...
-   [OK]          Compiler         39   partial with variable as hash argument ...
-   [OK]          Compiler         40   partial hash arguments work with contex...
-   [OK]          Compiler         41   partial without context inherits curren...
-   [OK]          Compiler         42   partial with hash args but no context i...
-   [OK]          Compiler         43   partial with hash args inherits loop co...
-   [OK]          Compiler         44   partial with 'this'.
-   [OK]          Compiler         45   helper function: upper and lower: OK case.
-   [OK]          Compiler         46   helper function: length: OK case.
-   [OK]          Compiler         47   helper function: concat: OK case.
-   [OK]          Compiler         48   helper function: eq: OK case.
-   [OK]          Compiler         49   helper function: not: OK case.
-   [OK]          Compiler         50   preserves indentation in partial.
-   [OK]          Compiler         51   preserves indentation when partials are...
-   [OK]          Compiler         52   removes whitespace on standalone templa...
-   [OK]          Compiler         53   standalone partials do not leave empty ...
-   [OK]          Compiler         54   standalone block helpers do not leave e...
-   [OK]          Compiler         55   nested helper blocks don't consume lines.
-   [OK]          Compiler         56   standalone partials are handled correctly.
-   [OK]          Compiler         57   standalone block at the beginning does ...
-   [OK]          Compiler         58   standalone partial with section leaves ...
-   [OK]          Parser            0   parses simple template substitution cor...
-   [OK]          Parser            1   parses simple comments correctly.
-   [OK]          Parser            2   errors when parsing an unclosed template.
-   [OK]          Parser            3   errors when unexpected token in template.
-   [OK]          Parser            4   parses nested paths correctly.
-   [OK]          Parser            5   parses function application correctly.
-   [OK]          Parser            6   parses whitespace control correctly.
-   [OK]          Parser            7   parses unescaped templates correctly.
-   [OK]          Parser            8   parsed unescaped templates with whitesp...
-   [OK]          Parser            9   parses partials correctly.
-   [OK]          Parser           10   parses partials with whitespace control...
-   [OK]          Parser           11   parses template with escaped chars.
-   [OK]          Parser           12   parses template with substitution block.
-   [OK]          Parser           13   parses template with substitution block...
-   [OK]          Parser           14   parses template with substitution block...
-   [OK]          Parser           15   parses template substitution block with...
-   [OK]          Parser           16   parses parenthesis expressions.
-   [OK]          Parser           17   parses substitution with indexing.
-   [OK]          Parser           18   parses nested fn calls and primitive li...
-   [OK]          Parser           19   parses comments.
-   [OK]          Parser           20   parses comments containing mustache syn...
-   [OK]          Parser           21   parses unescaped substitution.
-   [OK]          Parser           22   lexing unclosed '{{{' block throws error.
-   [OK]          Parser           23   parses fn application without parenthesis.
-   [OK]          Parser           24   parses literal-looking values correctly.
-   [OK]          Parser           25   parses StripAfter in unescaped substitu...
-   [OK]          Parser           26   parses else block.
-   [OK]          Parser           27   parses else looking things as something...
-   [OK]          Parser           28   parses else block without open block as...
-   [OK]          Parser           29   parses mismatching close block as Error.
-   [OK]          Parser           30   parses mustache-style open & close blocks.
-   [OK]          Parser           31   parses mustache style open/close with d...
-   [OK]          Parser           32   parses inverted blocks.
-   [OK]          Parser           33   parses example 1 from handlebarsjs docs.
-   [OK]          Parser           34   parses literal string as key for substi...
-   [OK]          Parser           35   parses literal int as index for substit...
-   [OK]          Parser           36   parses multiple index arguments.
-   [OK]          Parser           37   parses basic partial syntax.
-   [OK]          Parser           38   parses partial with whitespace control.
-   [OK]          Parser           39   parses partial with context.
-   [OK]          Parser           40   parses parital name with hyphen.
-   [OK]          Parser           41   parses partial with single hash argument.
-   [OK]          Parser           42   parses partial with multiple hash argum...
-   [OK]          Parser           43   parses partial with context and hash ar...
-   [OK]          Parser           44   parses partial with variable as hash ar...
-   [OK]          Parser           45   parses if section.
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/handlebars-ml.0.3.0/_build/default/test/_build/_tests/Handlebars ML Tests'.
- Test Successful in 0.007s. 105 tests run.
-> compiled  handlebars-ml.0.3.0
-> removed   handlebars-ml.0.3.0
-> installed handlebars-ml.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-03 08:32.04 ---> saved as "10e75c4d1fd7c77f3808aab6d2500bedc069ab6448b6a03797ea259bbd011de2"
Job succeeded
2026-03-03 08:32.12: Job succeeded