(not at the head of any monitored branch or PR)
2026-04-30 02:03.13: New job: test validator.0.2.3 with dune.3.23.0~alpha2, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29824/head (89a6ae888498500bf7c0fc05361da936fc6acacf)
                              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/29824/head" && git reset --hard 89a6ae88
git fetch origin master
git merge --no-edit d1c56642b8ca7e1166c90bfe0c74f38007bbad58
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44
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.23.0~alpha2 3.23.0~alpha2
RUN opam reinstall dune.3.23.0~alpha2; \
    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.23.0~alpha2' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall validator.0.2.3; \
    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" != 'validator.0.2.3' && 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 validator.0.2.3) || true
RUN opam reinstall --with-test --verbose validator.0.2.3; \
    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" != 'validator.0.2.3' && 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-30 02:03.13: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44-dune.3.23.0~alpha2-validator.0.2.3-89a6ae888498500bf7c0fc05361da936fc6acacf"
2026-04-30 02:03.13: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44)
 (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.23.0~alpha2 3.23.0~alpha2"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall dune.3.23.0~alpha2;\
             \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.23.0~alpha2' && 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 validator.0.2.3;\
             \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\" != 'validator.0.2.3' && 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 validator.0.2.3) || true"))
 (run (shell  "opam reinstall --with-test --verbose validator.0.2.3;\
             \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\" != 'validator.0.2.3' && 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-30 02:03.13: Waiting for resource in pool OCluster
2026-04-30 04:45.48: Waiting for worker…
2026-04-30 04:48.12: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
Updating files:  99% (18771/18887)
Updating files: 100% (18887/18887)
Updating files: 100% (18887/18887), done.
HEAD is now at d1c56642b8 Merge pull request #29820 from jmid/core-0.17.1-bound
Merge made by the 'ort' strategy.
 .../chrome-trace/chrome-trace.3.23.0~alpha2/opam   | 39 +++++++++++
 .../dune-action-plugin.3.23.0~alpha2/opam          | 52 ++++++++++++++
 .../dune-action-trace.3.23.0~alpha2/opam           | 39 +++++++++++
 .../dune-build-info.3.23.0~alpha2/opam             | 45 ++++++++++++
 .../dune-configurator.3.23.0~alpha2/opam           | 49 +++++++++++++
 packages/dune-glob/dune-glob.3.23.0~alpha2/opam    | 42 ++++++++++++
 .../dune-private-libs.3.23.0~alpha2/opam           | 50 ++++++++++++++
 .../dune-rpc-lwt/dune-rpc-lwt.3.23.0~alpha2/opam   | 41 +++++++++++
 packages/dune-rpc/dune-rpc.3.23.0~alpha2/opam      | 44 ++++++++++++
 packages/dune-site/dune-site.3.23.0~alpha2/opam    | 37 ++++++++++
 packages/dune/dune.3.23.0~alpha2/opam              | 80 ++++++++++++++++++++++
 packages/dyn/dyn.3.23.0~alpha2/opam                | 40 +++++++++++
 packages/fs-io/fs-io.3.23.0~alpha2/opam            | 39 +++++++++++
 packages/ocamlc-loc/ocamlc-loc.3.23.0~alpha2/opam  | 43 ++++++++++++
 packages/ordering/ordering.3.23.0~alpha2/opam      | 38 ++++++++++
 packages/stdune/stdune.3.23.0~alpha2/opam          | 46 +++++++++++++
 .../top-closure/top-closure.3.23.0~alpha2/opam     | 38 ++++++++++
 packages/xdg/xdg.3.23.0~alpha2/opam                | 39 +++++++++++
 18 files changed, 801 insertions(+)
 create mode 100644 packages/chrome-trace/chrome-trace.3.23.0~alpha2/opam
 create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.23.0~alpha2/opam
 create mode 100644 packages/dune-action-trace/dune-action-trace.3.23.0~alpha2/opam
 create mode 100644 packages/dune-build-info/dune-build-info.3.23.0~alpha2/opam
 create mode 100644 packages/dune-configurator/dune-configurator.3.23.0~alpha2/opam
 create mode 100644 packages/dune-glob/dune-glob.3.23.0~alpha2/opam
 create mode 100644 packages/dune-private-libs/dune-private-libs.3.23.0~alpha2/opam
 create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.23.0~alpha2/opam
 create mode 100644 packages/dune-rpc/dune-rpc.3.23.0~alpha2/opam
 create mode 100644 packages/dune-site/dune-site.3.23.0~alpha2/opam
 create mode 100644 packages/dune/dune.3.23.0~alpha2/opam
 create mode 100644 packages/dyn/dyn.3.23.0~alpha2/opam
 create mode 100644 packages/fs-io/fs-io.3.23.0~alpha2/opam
 create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.23.0~alpha2/opam
 create mode 100644 packages/ordering/ordering.3.23.0~alpha2/opam
 create mode 100644 packages/stdune/stdune.3.23.0~alpha2/opam
 create mode 100644 packages/top-closure/top-closure.3.23.0~alpha2/opam
 create mode 100644 packages/xdg/xdg.3.23.0~alpha2/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44' locally
docker.io/ocaml/opam@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44: Pulling from ocaml/opam
3b32e3bb7338: Already exists
745aa02d649b: Already exists
bc737f5d3c43: Already exists
435aae15a5aa: Already exists
0c18c39f6bae: Already exists
eef74b82df23: Already exists
f7d9cf0406d8: Already exists
01a1dc37e798: Already exists
4960811e07ec: Already exists
be2894c36d5e: Already exists
b5a017ae191d: Already exists
3ba39ce4e9c9: Already exists
1db570dbe1c8: Already exists
753bb4b44994: Already exists
b5a1e811909d: Already exists
6f3d83ba47b6: Already exists
002305272cbf: Already exists
002305272cbf: Already exists
249535cd82cd: Already exists
87fe8c2a0989: Already exists
b6932f04a343: Already exists
17b274223ca8: Already exists
4f4fb700ef54: Already exists
924952a8fbf8: Already exists
17671b650f63: Already exists
9fe75d873195: Already exists
24216535046d: Already exists
ac2e1c9e90df: Already exists
c2126be13b26: Already exists
01ff22a5eb70: Already exists
50415235a68f: Already exists
deb6182b549b: Already exists
ad728fb9a18c: Already exists
a36bcae85a3d: Already exists
1c746fdc6a3a: Already exists
4351b787b295: Already exists
380abb093977: Already exists
0fc1b10f3fd9: Already exists
966bc35978c3: Already exists
ae53b61ccb9e: Already exists
d8ada9072f1a: Already exists
de924938e8b1: Pulling fs layer
f961f7bce966: Pulling fs layer
2f764eed3d15: Pulling fs layer
de05668534c5: Pulling fs layer
27d1c4294721: Pulling fs layer
58acc85937c4: Pulling fs layer
b0d8742917e9: Pulling fs layer
de05668534c5: Waiting
58acc85937c4: Waiting
27d1c4294721: Waiting
b0d8742917e9: Waiting
f961f7bce966: Verifying Checksum
f961f7bce966: Download complete
de924938e8b1: Verifying Checksum
de924938e8b1: Download complete
de924938e8b1: Pull complete
2f764eed3d15: Verifying Checksum
2f764eed3d15: Download complete
f961f7bce966: Pull complete
2f764eed3d15: Pull complete
27d1c4294721: Verifying Checksum
27d1c4294721: Download complete
58acc85937c4: Verifying Checksum
58acc85937c4: Download complete
b0d8742917e9: Verifying Checksum
b0d8742917e9: Download complete
de05668534c5: Verifying Checksum
de05668534c5: Download complete
de05668534c5: Pull complete
27d1c4294721: Pull complete
58acc85937c4: Pull complete
b0d8742917e9: Pull complete
Digest: sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44
Status: Downloaded newer image for ocaml/opam@sha256:00f499d6f7e3b1be41e5b77f79fcd94054ac0247cdd1991aa7156482fe125d44
2026-04-30 04:48.21 ---> using "3ad720629c2266fa8bdd5d2923dac1e3690d78741c5f65fb1eb4d33725df507c" 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-30 04:48.21 ---> using "0d128a17914946ba4fe4852d9c905008c6396e0502e54d164cf768f35be583e7" 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
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-30 04:48.21 ---> using "d70296180507e779e1710b2206cbd2ed2063f4f7ba3a5617311725a56ede5942" 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.1
# 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                 71
# 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-30 04:48.21 ---> using "8495d51697191c14a2d936280d33309feb632049461097708f2914849f49e434" 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-30 04:48.21 ---> using "e71fcfd10a966fea9cbc39c81a8170d118ef6c5bc3e82b827a8fc5873a3b02c4" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-04-30 04:48.22 ---> using "1a95fcfdbe33d3db5ee6da23907452f21ceefede84b20ffd63d9951a0582315e" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-30 04:48.22 ---> using "c06cea79d066df0e24bbd5a14e3fb6af810f6c2510831dea6a3f9b3abe543bc6" 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 [129 kB]
- Fetched 219 kB in 0s (1016 kB/s)
- Reading package lists...
- 
2026-04-30 04:48.22 ---> using "79dc76009a07376b7d0a125988001bdfe429c021968c950cc37d4850b4405ed8" from cache

/home/opam: (run (shell "opam pin add -k version -yn dune.3.23.0~alpha2 3.23.0~alpha2"))
dune is now pinned to version 3.23.0~alpha2
2026-04-30 04:48.22 ---> using "0fceafb872b30d0895792b4eaa943f03be2c3da266d1c709c5e111c4f9d0ce56" from cache

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

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.23.0~alpha2  (cached)
-> installed dune.3.23.0~alpha2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 04:48.22 ---> using "33f3806b768ed3bccb769c14ec85f285cc9a11aedea3160e9b687d42e8d992f8" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall validator.0.2.3;\
                        \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\" != 'validator.0.2.3' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
validator.0.2.3 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
  - install validator 0.2.3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved validator.0.2.3  (cached)
-> installed validator.0.2.3
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 04:48.28 ---> saved as "bc703b3a04363fa7d1b02a3e5a9b945a49c9ea7a3d3a9509959a964f2959f2ea"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test validator.0.2.3) || true"))
The following actions will be performed:
=== recompile 1 package
  - recompile validator           0.2.3
=== install 17 packages
  - install   alcotest            1.9.1   [required by validator]
  - install   astring             0.8.5   [required by alcotest]
  - install   cmdliner            2.1.1   [required by alcotest]
  - install   cppo                1.8.0   [required by ppx_deriving]
  - install   fmt                 0.11.0  [required by alcotest]
  - install   ocaml-compiler-libs v0.17.0 [required by ppxlib]
  - install   ocaml-syntax-shims  1.0.0   [required by alcotest]
  - install   ocamlbuild          0.16.1  [required by fmt, astring, uutf]
  - 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 validator]
  - install   ppxlib              0.38.0  [required by ppx_deriving]
  - install   re                  1.14.0  [required by alcotest]
  - install   sexplib0            v0.17.0 [required by ppxlib]
  - install   stdlib-shims        0.3.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.1  (https://opam.ocaml.org/cache)
-> retrieved cppo.1.8.0  (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0  (https://opam.ocaml.org/cache)
-> retrieved ocaml-compiler-libs.v0.17.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 ocamlfind.1.9.8  (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
-> 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 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
-> retrieved validator.0.2.3  (https://opam.ocaml.org/cache)
-> installed stdlib-shims.0.3.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed cppo.1.8.0
-> installed sexplib0.v0.17.0
-> installed re.1.14.0
-> installed ocamlfind.1.9.8
-> installed cmdliner.2.1.1
-> removed   validator.0.2.3
-> 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 ppxlib.0.38.0
-> installed ppx_deriving.6.1.1
-> installed validator.0.2.3
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 04:49.23 ---> saved as "03202ea61d747d83951aba29a1e13fb478c7a8f27353fa906406e2f80e9a7639"

/home/opam: (run (shell  "opam reinstall --with-test --verbose validator.0.2.3;\
                        \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\" != 'validator.0.2.3' && 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 validator 0.2.3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/4: [validator.0.2.3: extract]
-> retrieved validator.0.2.3  (cached)
Processing  2/4: [validator: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "validator" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/validator.0.2.3)
- (cd _build/default/test && ./validator_test.exe)
- Testing `Validator'.
- This run has ID `MHFU91NO'.
- 
-   [OK]          int_max                        0   Returns the string when no...
-   [OK]          int_max                        1   Returns the string when no...
-   [OK]          int_min                        0   Returns the string when no...
-   [OK]          int_min                        1   Returns the string when no...
-   [OK]          list_is_not_empty              0   Returns the the list when ...
-   [OK]          list_is_not_empty              1   Returns error when empty.
-   [OK]          list_has_max_length            0   Returns the the list when ...
-   [OK]          list_has_max_length            1   Returns error.
-   [OK]          list_has_min_length            0   Returns the the list when ...
-   [OK]          list_has_min_length            1   Returns error.
-   [OK]          list_every                     0   Returns the list when all ...
-   [OK]          list_every                     1   Returns an error when one ...
-   [OK]          list_every                     2   Returns multiple errors wh...
-   [OK]          option_is_some                 0   Returns the value when Some.
-   [OK]          option_is_some                 1   Returns the error when None.
-   [OK]          string_has_max_length          0   Returns the string when ok.
-   [OK]          string_has_max_length          1   Returns the errors.
-   [OK]          string_has_min_length          0   Returns the string when ok.
-   [OK]          string_has_min_length          1   Returns the errors.
-   [OK]          string_is_email                0   Is email.
-   [OK]          string_is_email                1   Two @.
-   [OK]          string_is_email                2   Start with @.
-   [OK]          string_is_email                3   End with @.
-   [OK]          string_is_email                4   Extra chars.
-   [OK]          string_is_email                5   Not email.
-   [OK]          string_is_int                  0   Returns the int.
-   [OK]          string_is_int                  1   Fails when not int.
-   [OK]          string_is_not_empty            0   Returns the string when no...
-   [OK]          string_is_not_empty            1   Returns the error when empty.
-   [OK]          optional                       0   Is doesn't run the validat...
-   [OK]          optional                       1   Is runs the validator when...
-   [OK]          optional                       2   Is can fail the validator ...
-   [OK]          all                            0   It passes all validators.
-   [OK]          all                            1   It can fail some validators.
-   [OK]          all                            2   It can fail many validators.
-   [OK]          whole                          0   It validates.
-   [OK]          whole                          1   It can fail.
-   [OK]          validators                     0   Validates a person.
-   [OK]          validators                     1   Returns errors for person.
-   [OK]          validators                     2   Validates a form.
-   [OK]          validators                     3   Fails when name is too short.
-   [OK]          validators                     4   Fails when email is none.
-   [OK]          validators                     5   Fails when not an email.
-   [OK]          validators                     6   Runs the optional validator.
-   [OK]          validators                     7   Returns all the errors.
-   [OK]          custom_error                   0   Returns custom errors for ...
- 
- Full test results in `~/.opam/5.4/.opam-switch/build/validator.0.2.3/_build/default/test/_build/_tests/Validator'.
- Test Successful in 0.005s. 46 tests run.
-> compiled  validator.0.2.3
-> removed   validator.0.2.3
-> installed validator.0.2.3
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 04:49.34 ---> saved as "a70e25f3ff055e15301b30ea860406c96bc007de62a7a442bfee1913711e5e48"
Job succeeded
2026-04-30 04:49.58: Job succeeded