- github
- ocaml
- opam-repository
- 3e0c39
- compilers,4.14,dune.3.22.2,revdeps,server-reason-react.0.4.0
(not at the head of any monitored branch or PR)
2026-04-10 17:57.34: New job: test server-reason-react.0.4.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-4.14/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-4.14@sha256:4457c533769cd1c32fd9fb5fb13e5a0a285ba114860db7ac2f34c1c21e5690e4
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 server-reason-react.0.4.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" != 'server-reason-react.0.4.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 server-reason-react.0.4.0) || true
RUN opam reinstall --with-test --verbose server-reason-react.0.4.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" != 'server-reason-react.0.4.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:57.34: Using cache hint "ocaml/opam:debian-13-ocaml-4.14@sha256:4457c533769cd1c32fd9fb5fb13e5a0a285ba114860db7ac2f34c1c21e5690e4-dune.3.22.2-server-reason-react.0.4.0-3e0c395e7b1393a792367f8edca3654dac71e6fd"
2026-04-10 17:57.34: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:4457c533769cd1c32fd9fb5fb13e5a0a285ba114860db7ac2f34c1c21e5690e4)
(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 server-reason-react.0.4.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\" != 'server-reason-react.0.4.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 server-reason-react.0.4.0) || true"))
(run (shell "opam reinstall --with-test --verbose server-reason-react.0.4.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\" != 'server-reason-react.0.4.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:57.34: Waiting for resource in pool OCluster
2026-04-11 02:18.32: Waiting for worker…
2026-04-11 02:21.27: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
Updating files: 59% (11196/18686)
Updating files: 60% (11212/18686)
Updating files: 61% (11399/18686)
Updating files: 62% (11586/18686)
Updating files: 63% (11773/18686)
Updating files: 64% (11960/18686)
Updating files: 65% (12146/18686)
Updating files: 66% (12333/18686)
Updating files: 67% (12520/18686)
Updating files: 68% (12707/18686)
Updating files: 69% (12894/18686)
Updating files: 70% (13081/18686)
Updating files: 71% (13268/18686)
Updating files: 72% (13454/18686)
Updating files: 73% (13641/18686)
Updating files: 74% (13828/18686)
Updating files: 75% (14015/18686)
Updating files: 76% (14202/18686)
Updating files: 77% (14389/18686)
Updating files: 78% (14576/18686)
Updating files: 79% (14762/18686)
Updating files: 80% (14949/18686)
Updating files: 81% (15136/18686)
Updating files: 82% (15323/18686)
Updating files: 83% (15510/18686)
Updating files: 84% (15697/18686)
Updating files: 85% (15884/18686)
Updating files: 86% (16070/18686)
Updating files: 87% (16257/18686)
Updating files: 88% (16444/18686)
Updating files: 89% (16631/18686)
Updating files: 90% (16818/18686)
Updating files: 91% (17005/18686)
Updating files: 92% (17192/18686)
Updating files: 93% (17378/18686)
Updating files: 94% (17565/18686)
Updating files: 95% (17752/18686)
Updating files: 96% (17939/18686)
Updating files: 97% (18126/18686)
Updating files: 98% (18313/18686)
Updating files: 99% (18500/18686)
Updating files: 100% (18686/18686)
Updating files: 100% (18686/18686), done.
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-4.14@sha256:4457c533769cd1c32fd9fb5fb13e5a0a285ba114860db7ac2f34c1c21e5690e4)
2026-04-11 02:21.31 ---> using "e7349b5faa6e8ea47e3f73a0784842b9d8524e468ce596e92633dbea53bd1c16" 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 02:21.31 ---> using "345d07c1ddcf0b692213607682954d9bdf190a7dc793f33951a109185e732dcb" 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-11 02:21.31 ---> using "6e021c655ca00bde9af60e23db55b09a0bcc3db0d3ca38d66f78ad53e254a31c" 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 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 4.14
# invariant ["ocaml-base-compiler" {= "4.14.3"}]
# compiler-packages ocaml-base-compiler.4.14.3, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.3
2026-04-11 02:21.31 ---> using "7b2a5ae62cf702b99c177da358372ff585494a0b1c5dfffe5c4eda3046bc59fb" 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 02:21.31 ---> using "2d8e28a183d0990d4c5f7a587471f7c743cdf0d9f00bdf4de7761e94ec09202a" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-04-11 02:21.33 ---> using "43c49734bd8015921029b9a907dd77c0e05208c46b686916515831f5a9e9d500" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-11 02:21.33 ---> using "bb36992fd0066703535b2984ee1ead3db92bb1f04a8df092631924067dac4082" 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 (1777 kB/s)
- Reading package lists...
-
2026-04-11 02:21.33 ---> using "e0d9ada0baddc41d2c835edef7d0cf7cceebd2dadac41fda17c9e860b5313a74" 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 02:21.33 ---> using "a60db6b945be7f2fc9953546cee71bf416921d54f02951a4c9176dbdf1065520" 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 02:21.33 ---> using "59eacf68137f7dccf94b9ebc5274fdc537230a8c71c2eb52f8fcf698829c6d46" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall server-reason-react.0.4.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\" != 'server-reason-react.0.4.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
server-reason-react.0.4.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 43 packages
- install angstrom 0.16.1 [required by uri]
- install base-bytes base [required by ocplib-endian]
- install bigstringaf 0.10.0 [required by angstrom]
- install cmdliner 2.1.0 [required by melange, uucp]
- install cppo 1.8.0 [required by lwt, melange]
- install csexp 1.5.2 [required by dune-configurator]
- install ctypes 0.24.0 [required by quickjs]
- install dune-build-info 3.22.2 [required by melange]
- install dune-configurator 3.22.2 [required by lwt]
- install fix 20250919 [required by reason]
- install integers 0.7.0 [required by server-reason-react]
- install lwt 5.9.2 [required by server-reason-react]
- install lwt_ppx 5.9.1 [required by server-reason-react]
- install melange 5.0.1-414 [required by server-reason-react]
- install melange-fetch 0.2.0 [required by server-reason-react]
- install melange-json 2.0.0 [required by server-reason-react]
- install melange-json-native 2.0.0 [required by server-reason-react]
- install melange-webapi 0.21.0 [required by server-reason-react]
- install menhir 20260209 [required by melange]
- install menhirCST 20260209 [required by menhir]
- install menhirGLR 20260209 [required by menhir]
- install menhirLib 20260209 [required by menhir]
- install menhirSdk 20260209 [required by menhir]
- install merlin-extend 0.6.2 [required by reason]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
- install ocamlbuild 0.16.1 [required by uucp]
- install ocamlfind 1.9.8 [required by uucp]
- install ocplib-endian 1.2 [required by lwt]
- install ppx_derivers 1.2.1 [required by ppxlib, reason]
- install ppxlib 0.35.0 [required by server-reason-react]
- install quickjs 0.1.2 [required by server-reason-react]
- install reason 3.15.0 [required by server-reason-react]
- install reason-react 0.16.0 [required by server-reason-react]
- install reason-react-ppx 0.16.0 [required by reason-react]
- install server-reason-react 0.4.0
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by integers]
- install stringext 1.6.0 [required by uri]
- install topkg 1.1.1 [required by uucp]
- install uri 4.4.0 [required by server-reason-react]
- install uucp 17.0.0 [required by server-reason-react]
- install yojson 3.0.0 [required by server-reason-react]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved cmdliner.2.1.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved ctypes.0.24.0 (cached)
-> installed csexp.1.5.2
-> retrieved dune-build-info.3.22.2, dune-configurator.3.22.2 (cached)
-> retrieved fix.20250919 (cached)
-> retrieved integers.0.7.0 (cached)
-> retrieved lwt.5.9.2 (cached)
-> retrieved lwt_ppx.5.9.1 (cached)
-> installed cmdliner.2.1.0
-> installed cppo.1.8.0
-> installed dune-build-info.3.22.2
-> installed dune-configurator.3.22.2
-> installed fix.20250919
-> installed bigstringaf.0.10.0
-> retrieved melange.5.0.1-414 (https://opam.ocaml.org/cache)
-> retrieved melange-fetch.0.2.0 (cached)
-> retrieved melange-json.2.0.0, melange-json-native.2.0.0 (cached)
-> retrieved melange-webapi.0.21.0 (cached)
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (cached)
-> retrieved merlin-extend.0.6.2 (cached)
-> installed menhirCST.20260209
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> installed merlin-extend.0.6.2
-> installed menhirLib.20260209
-> installed menhirGLR.20260209
-> installed ppx_derivers.1.2.1
-> retrieved ppxlib.0.35.0 (cached)
-> installed menhirSdk.20260209
-> retrieved quickjs.0.1.2 (https://opam.ocaml.org/cache)
-> retrieved reason.3.15.0 (cached)
-> installed ocaml-compiler-libs.v0.12.4
-> retrieved reason-react.0.16.0, reason-react-ppx.0.16.0 (cached)
-> installed ocaml-syntax-shims.1.0.0
-> retrieved server-reason-react.0.4.0 (https://opam.ocaml.org/cache)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved stringext.1.6.0 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved uri.4.4.0 (cached)
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> installed angstrom.0.16.1
-> retrieved uucp.17.0.0 (cached)
-> retrieved yojson.3.0.0 (cached)
-> installed sexplib0.v0.17.0
-> installed integers.0.7.0
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocplib-endian.1.2
-> installed yojson.3.0.0
-> installed uri.4.4.0
-> installed ocamlbuild.0.16.1
-> installed lwt.5.9.2
-> installed ctypes.0.24.0
-> installed menhir.20260209
-> installed quickjs.0.1.2
-> installed topkg.1.1.1
-> installed ppxlib.0.35.0
-> installed melange-json-native.2.0.0
-> installed lwt_ppx.5.9.1
-> installed reason.3.15.0
-> installed melange.5.0.1-414
-> installed reason-react-ppx.0.16.0
-> installed melange-fetch.0.2.0
-> installed uucp.17.0.0
-> installed melange-json.2.0.0
-> installed reason-react.0.16.0
-> installed melange-webapi.0.21.0
-> installed server-reason-react.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 02:24.41 ---> saved as "a98fc522cdc14959710ed1c0707f4b84a7440dcb474a226314618e9a587a17e4"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test server-reason-react.0.4.0) || true"))
The following actions will be performed:
=== downgrade 2 packages
- downgrade cmdliner 2.1.0 to 1.3.0 [required by alcotest, ocamlformat]
- downgrade sexplib0 v0.17.0 to v0.16.0 [required by base]
=== recompile 12 packages
- recompile lwt_ppx 5.9.1 [uses ppxlib]
- recompile melange 5.0.1-414 [uses cmdliner]
- recompile melange-fetch 0.2.0 [uses melange]
- recompile melange-json 2.0.0 [uses melange]
- recompile melange-json-native 2.0.0 [uses ppxlib]
- recompile melange-webapi 0.21.0 [uses melange]
- recompile ppxlib 0.35.0 [uses sexplib0]
- recompile reason 3.15.0 [uses ppxlib]
- recompile reason-react 0.16.0 [uses melange]
- recompile reason-react-ppx 0.16.0 [uses ppxlib]
- recompile server-reason-react 0.4.0
- recompile uucp 17.0.0 [uses cmdliner]
=== install 78 packages
- install alcotest 1.9.1 [required by server-reason-react]
- install alcotest-lwt 1.9.1 [required by server-reason-react]
- install astring 0.8.5 [required by alcotest]
- install base v0.16.4 [required by core_kernel, core, ocamlformat-lib]
- install base_bigstring v0.16.0 [required by core]
- install base_quickcheck v0.16.0 [required by core]
- install bin_prot v0.16.0 [required by core]
- install camlp-streams 5.0.1 [required by ocamlformat-lib]
- install core v0.16.2 [required by core_bench]
- install core_bench v0.16.0 [required by server-reason-react]
- install core_kernel v0.16.0 [required by core_bench]
- install core_unix v0.16.0 [required by server-reason-react]
- install dot-merlin-reader 4.19-414 [required by merlin]
- install either 1.0.0 [required by ocamlformat-lib]
- install expect_test_helpers_core v0.16.0 [required by core_unix]
- install fieldslib v0.16.0 [required by core]
- install fmt 0.11.0 [required by server-reason-react]
- install fpath 0.7.3 [required by ocamlformat-lib]
- install int_repr v0.16.0 [required by core_kernel]
- install jane-street-headers v0.16.0 [required by core, core_unix]
- install jst-config v0.16.0 [required by core, core_unix]
- install logs 0.10.0 [required by alcotest-lwt]
- install merlin 4.19-414 [required by server-reason-react]
- install merlin-lib 4.19-414 [required by merlin]
- install num 1.6 [required by sexplib]
- install ocaml-version 4.0.4 [required by ocamlformat-lib]
- install ocaml_intrinsics v0.16.2 [required by core_unix]
- install ocamlformat 0.27.0 [required by server-reason-react]
- install ocamlformat-lib 0.27.0 [required by ocamlformat]
- install ocp-indent 1.9.0 [required by ocamlformat-lib]
- install parsexp v0.16.0 [required by sexplib]
- install ppx_assert v0.16.0 [required by core]
- install ppx_base v0.16.0 [required by core]
- install ppx_bench v0.16.0 [required by ppx_jane]
- install ppx_bin_prot v0.16.0 [required by ppx_jane]
- install ppx_cold v0.16.0 [required by ppx_base]
- install ppx_compare v0.16.0 [required by core_bench]
- install ppx_custom_printf v0.16.0 [required by ppx_jane]
- install ppx_disable_unused_warnings v0.16.0 [required by ppx_jane]
- install ppx_enumerate v0.16.0 [required by ppx_base]
- install ppx_expect v0.16.2 [required by ppx_jane]
- install ppx_fields_conv v0.16.0 [required by core_bench]
- install ppx_fixed_literal v0.16.0 [required by ppx_jane]
- install ppx_globalize v0.16.0 [required by ppx_base]
- install ppx_hash v0.16.0 [required by core]
- install ppx_here v0.16.0 [required by ppx_jane]
- install ppx_ignore_instrumentation v0.16.0 [required by ppx_jane]
- install ppx_inline_test v0.16.1 [required by core]
- install ppx_jane v0.16.0 [required by core_bench]
- install ppx_let v0.16.0 [required by core_bench]
- install ppx_log v0.16.0 [required by ppx_jane]
- install ppx_module_timer v0.16.0 [required by ppx_jane]
- install ppx_optcomp v0.16.0 [required by core_kernel, core, core_unix]
- install ppx_optional v0.16.0 [required by ppx_jane]
- install ppx_pipebang v0.16.0 [required by ppx_jane]
- install ppx_sexp_conv v0.16.0 [required by core_bench]
- install ppx_sexp_message v0.16.0 [required by core]
- install ppx_sexp_value v0.16.0 [required by ppx_jane]
- install ppx_stable v0.16.0 [required by ppx_jane]
- install ppx_stable_witness v0.16.0 [required by ppx_jane]
- install ppx_string v0.16.0 [required by ppx_jane]
- install ppx_tydi v0.16.0 [required by ppx_jane]
- install ppx_typerep_conv v0.16.0 [required by ppx_jane]
- install ppx_variants_conv v0.16.0 [required by ppx_jane]
- install re 1.14.0 [required by core_bench, alcotest, ocamlformat]
- install sexp_pretty v0.16.0 [required by expect_test_helpers_core]
- install sexplib v0.16.0 [required by core, core_unix]
- install spawn v0.17.0 [required by core_unix]
- install splittable_random v0.16.0 [required by core]
- install stdio v0.16.0 [required by core, ocamlformat-lib]
- install textutils v0.16.0 [required by core_bench]
- install textutils_kernel v0.16.0 [required by textutils]
- install time_now v0.16.0 [required by core]
- install timezone v0.16.0 [required by core_unix]
- install typerep v0.16.0 [required by core]
- install uuseg 17.0.0 [required by ocamlformat-lib]
- install uutf 1.0.4 [required by alcotest]
- install variantslib v0.16.0 [required by core]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1, alcotest-lwt.1.9.1 (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5 (https://opam.ocaml.org/cache)
-> retrieved base.v0.16.4 (https://opam.ocaml.org/cache)
-> retrieved base_bigstring.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved base_quickcheck.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved bin_prot.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved camlp-streams.5.0.1 (https://opam.ocaml.org/cache)
-> retrieved cmdliner.1.3.0 (https://opam.ocaml.org/cache)
-> retrieved core.v0.16.2 (https://opam.ocaml.org/cache)
-> installed camlp-streams.5.0.1
-> retrieved core_bench.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved core_kernel.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved core_unix.v0.16.0 (https://opam.ocaml.org/cache)
-> installed astring.0.8.5
-> retrieved dot-merlin-reader.4.19-414, merlin.4.19-414, merlin-lib.4.19-414 (https://opam.ocaml.org/cache)
-> retrieved either.1.0.0 (https://opam.ocaml.org/cache)
-> retrieved expect_test_helpers_core.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved fieldslib.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0 (https://opam.ocaml.org/cache)
-> installed either.1.0.0
-> retrieved fpath.0.7.3 (https://opam.ocaml.org/cache)
-> retrieved int_repr.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved jane-street-headers.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved jst-config.v0.16.0 (https://opam.ocaml.org/cache)
-> installed jane-street-headers.v0.16.0
-> retrieved logs.0.10.0 (https://opam.ocaml.org/cache)
-> retrieved lwt_ppx.5.9.1 (https://opam.ocaml.org/cache)
-> installed fpath.0.7.3
-> retrieved melange.5.0.1-414 (https://opam.ocaml.org/cache)
-> retrieved melange-fetch.0.2.0 (https://opam.ocaml.org/cache)
-> retrieved melange-json.2.0.0, melange-json-native.2.0.0 (https://opam.ocaml.org/cache)
-> retrieved melange-webapi.0.21.0 (https://opam.ocaml.org/cache)
-> retrieved num.1.6 (https://opam.ocaml.org/cache)
-> retrieved ocaml-version.4.0.4 (https://opam.ocaml.org/cache)
-> retrieved ocaml_intrinsics.v0.16.2 (https://opam.ocaml.org/cache)
-> retrieved ocamlformat.0.27.0, ocamlformat-lib.0.27.0 (https://opam.ocaml.org/cache)
-> installed ocaml-version.4.0.4
-> retrieved ocp-indent.1.9.0 (https://opam.ocaml.org/cache)
-> retrieved parsexp.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_assert.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_base.v0.16.0 (https://opam.ocaml.org/cache)
-> installed num.1.6
-> retrieved ppx_bench.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_bin_prot.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_cold.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_compare.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_custom_printf.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_disable_unused_warnings.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_enumerate.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_expect.v0.16.2 (https://opam.ocaml.org/cache)
-> retrieved ppx_fields_conv.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_fixed_literal.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_globalize.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_hash.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_here.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_ignore_instrumentation.v0.16.0 (https://opam.ocaml.org/cache)
-> installed ocaml_intrinsics.v0.16.2
-> retrieved ppx_inline_test.v0.16.1 (https://opam.ocaml.org/cache)
-> retrieved ppx_jane.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_let.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_log.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_module_timer.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_optcomp.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_optional.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_pipebang.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_sexp_conv.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_sexp_message.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_sexp_value.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_stable.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_stable_witness.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_string.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_tydi.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_typerep_conv.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppx_variants_conv.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved ppxlib.0.35.0 (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0 (https://opam.ocaml.org/cache)
-> retrieved reason.3.15.0 (https://opam.ocaml.org/cache)
-> retrieved reason-react.0.16.0, reason-react-ppx.0.16.0 (https://opam.ocaml.org/cache)
-> retrieved server-reason-react.0.4.0 (https://opam.ocaml.org/cache)
-> retrieved sexp_pretty.v0.16.0 (https://opam.ocaml.org/cache)
-> installed re.1.14.0
-> retrieved sexplib.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved sexplib0.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved spawn.v0.17.0 (https://opam.ocaml.org/cache)
-> retrieved splittable_random.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved stdio.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved textutils.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved textutils_kernel.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved time_now.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved timezone.v0.16.0 (https://opam.ocaml.org/cache)
-> retrieved typerep.v0.16.0 (https://opam.ocaml.org/cache)
-> installed spawn.v0.17.0
-> retrieved uucp.17.0.0 (https://opam.ocaml.org/cache)
-> retrieved uuseg.17.0.0 (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4 (https://opam.ocaml.org/cache)
-> retrieved variantslib.v0.16.0 (https://opam.ocaml.org/cache)
-> removed server-reason-react.0.4.0
-> removed lwt_ppx.5.9.1
-> removed melange-json.2.0.0
-> removed melange-json-native.2.0.0
-> removed melange-webapi.0.21.0
-> removed melange-fetch.0.2.0
-> removed reason-react.0.16.0
-> removed melange.5.0.1-414
-> removed reason-react-ppx.0.16.0
-> removed reason.3.15.0
-> removed ppxlib.0.35.0
-> removed sexplib0.v0.17.0
-> removed uucp.17.0.0
-> removed cmdliner.2.1.0
-> installed cmdliner.1.3.0
-> installed merlin-lib.4.19-414
-> installed sexplib0.v0.16.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed dot-merlin-reader.4.19-414
-> installed ocp-indent.1.9.0
-> installed parsexp.v0.16.0
-> installed logs.0.10.0
-> installed alcotest.1.9.1
-> installed merlin.4.19-414
-> installed alcotest-lwt.1.9.1
-> installed sexplib.v0.16.0
-> installed base.v0.16.4
-> installed fieldslib.v0.16.0
-> installed variantslib.v0.16.0
-> installed stdio.v0.16.0
-> installed typerep.v0.16.0
-> installed ppxlib.0.35.0
-> installed ppx_globalize.v0.16.0
-> installed ppx_tydi.v0.16.0
-> installed ppx_disable_unused_warnings.v0.16.0
-> installed ppx_optcomp.v0.16.0
-> installed ppx_enumerate.v0.16.0
-> installed ppx_typerep_conv.v0.16.0
-> installed ppx_here.v0.16.0
-> installed ppx_cold.v0.16.0
-> installed ppx_stable.v0.16.0
-> installed ppx_stable_witness.v0.16.0
-> installed ppx_variants_conv.v0.16.0
-> installed ppx_compare.v0.16.0
-> installed ppx_pipebang.v0.16.0
-> installed melange-json-native.2.0.0
-> installed ppx_ignore_instrumentation.v0.16.0
-> installed lwt_ppx.5.9.1
-> installed ppx_fixed_literal.v0.16.0
-> installed ppx_fields_conv.v0.16.0
-> installed ppx_optional.v0.16.0
-> installed ppx_let.v0.16.0
-> installed ppx_sexp_conv.v0.16.0
-> installed ppx_hash.v0.16.0
-> installed ppx_assert.v0.16.0
-> installed ppx_sexp_value.v0.16.0
-> installed ppx_sexp_message.v0.16.0
-> installed ppx_custom_printf.v0.16.0
-> installed ppx_base.v0.16.0
-> installed jst-config.v0.16.0
-> installed ppx_log.v0.16.0
-> installed sexp_pretty.v0.16.0
-> installed ppx_string.v0.16.0
-> installed bin_prot.v0.16.0
-> installed uucp.17.0.0
-> installed time_now.v0.16.0
-> installed ppx_bin_prot.v0.16.0
-> installed uuseg.17.0.0
-> installed ppx_inline_test.v0.16.1
-> installed ppx_module_timer.v0.16.0
-> installed ppx_bench.v0.16.0
-> installed ppx_expect.v0.16.2
-> installed reason.3.15.0
-> installed splittable_random.v0.16.0
-> installed reason-react-ppx.0.16.0
-> installed melange.5.0.1-414
-> installed base_quickcheck.v0.16.0
-> installed melange-fetch.0.2.0
-> installed reason-react.0.16.0
-> installed ppx_jane.v0.16.0
-> installed melange-json.2.0.0
-> installed ocamlformat-lib.0.27.0
-> installed melange-webapi.0.21.0
-> installed int_repr.v0.16.0
-> installed ocamlformat.0.27.0
-> installed base_bigstring.v0.16.0
-> installed core.v0.16.2
-> installed textutils_kernel.v0.16.0
-> installed expect_test_helpers_core.v0.16.0
-> installed timezone.v0.16.0
-> installed core_kernel.v0.16.0
-> installed core_unix.v0.16.0
-> installed textutils.v0.16.0
-> installed core_bench.v0.16.0
-> installed server-reason-react.0.4.0
Done.
<><> ocp-indent.1.9.0 installed successfully ><><><><><><><><><><><><><><><><><>
=> This package requires additional configuration for use in editors. Install package 'user-setup', or manually:
* for Emacs, add these lines to ~/.emacs:
(add-to-list 'load-path "/home/opam/.opam/4.14/share/emacs/site-lisp")
(require 'ocp-indent)
* for Vim, add this line to ~/.vimrc:
set rtp^="/home/opam/.opam/4.14/share/ocp-indent/vim"
<><> merlin.4.19-414 installed successfully <><><><><><><><><><><><><><><><><><>
=> merlin installed.
Quick setup for VIM
-------------------
Append this to your .vimrc to add merlin to vim's runtime-path:
let g:opamshare = substitute(system('opam var share'),'\n$','','''')
execute "set rtp+=" . g:opamshare . "/merlin/vim"
Also run the following line in vim to index the documentation:
:execute "helptags " . g:opamshare . "/merlin/vim/doc"
Quick setup for EMACS
-------------------
Add opam emacs directory to your load-path by appending this to your .emacs:
(let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
(when (and opam-share (file-directory-p opam-share))
;; Register Merlin
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
(autoload 'merlin-mode "merlin" nil t nil)
;; Automatically start it in OCaml buffers
(add-hook 'tuareg-mode-hook 'merlin-mode t)
(add-hook 'caml-mode-hook 'merlin-mode t)
;; Use opam switch to lookup ocamlmerlin binary
(setq merlin-command 'opam)
;; To easily change opam switches within a given Emacs session, you can
;; install the minor mode https://github.com/ProofGeneral/opam-switch-mode
;; and use one of its "OPSW" menus.
))
Take a look at https://github.com/ocaml/merlin for more information
Quick setup with opam-user-setup
--------------------------------
Opam-user-setup support Merlin.
$ opam user-setup install
should take care of basic setup.
See https://github.com/OCamlPro/opam-user-setup
# To update the current shell environment, run: eval $(opam env)
2026-04-11 02:29.27 ---> saved as "3a1b2c234203c8e07fa2a93e6ed334741dfcd4bafe11458b45b94efc75e500b6"
/home/opam: (run (shell "opam reinstall --with-test --verbose server-reason-react.0.4.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\" != 'server-reason-react.0.4.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 server-reason-react 0.4.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [server-reason-react.0.4.0: extract]
-> retrieved server-reason-react.0.4.0 (cached)
Processing 2/4: [server-reason-react: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "server-reason-react" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0)
- (cd _build/default/packages/melange.ppx/xxhash && ./test_xxh64.exe)
- Testing `XXH64'.
- This run has ID `WD8T1ZAS'.
-
- [OK] hash 0 "".
- [OK] hash 1 "a".
- [OK] hash 2 "as".
- [OK] hash 3 "asd".
- [OK] hash 4 "asdf".
- [OK] hash 5 "abc".
- [OK] hash 6 "abc".
- [OK] hash 7 "abcd".
- [OK] hash 8 "abcde".
- [OK] hash 9 "abcdef".
- [OK] hash 10 "abcdefg".
- [OK] hash 11 "abcdefgh".
- [OK] hash 12 "abcdefghi".
- [OK] hash 13 "abcdefghij".
- [OK] hash 14 "abcdefghijklmnopqrstuvwxyz012345".
- [OK] hash 15 "abcdefghijklmnopqrstuvwxyz0123456...
- [OK] hash 16 "Call me Ishmael. Some years ago--...
- [OK] hash 17 "Lorem ipsum dolor sit amet, conse...
- [OK] hash · to_hex 0 "I want an unsigned 64-bit seed!".
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/melange.ppx/xxhash/_build/_tests/XXH64'.
- Test Successful in 0.002s. 19 tests run.
- (cd _build/default/packages/url/test && ./test_native.exe)
- Testing `URL'.
- This run has ID `A7I7CF58'.
-
- [OK] URL 0 make.
- [OK] URL 1 makeWith.
- [OK] URL 2 makeWith and relative base.
- [OK] URL 3 host.
- [OK] URL 4 hostname.
- [OK] URL 5 setHostname.
- [OK] URL 6 pathname.
- [OK] URL 7 origin.
- [OK] URL 8 href.
- [OK] URL 9 port.
- [OK] URL 10 hash.
- [OK] URL 11 setHash.
- [OK] URL 12 search.
- [OK] URL 13 protocol.
- [OK] URL 14 setProtocol.
- [OK] URL 15 username.
- [OK] URL 16 setUsername.
- [OK] URL 17 password.
- [OK] URL 18 setPassword.
- [OK] URL 19 searchParams.
- [OK] URL.SearchParams 0 has.
- [OK] URL.SearchParams 1 get.
- [OK] URL.SearchParams 2 getAll.
- [OK] URL.SearchParams 3 keys.
- [OK] URL.SearchParams 4 values.
- [OK] URL.SearchParams 5 entries.
- [OK] URL.SearchParams 6 toString.
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/url/test/_build/_tests/URL'.
- Test Successful in 0.005s. 27 tests run.
- (cd _build/default/packages/Belt/test && ./test.exe)
- Testing `Belt'.
- This run has ID `0B6UXHOA'.
-
- [OK] Records 0 eq.
- [OK] Array 0 truncateToLengthUnsafe.
- [OK] Array 1 makeUninitializedUnsafe.
- [OK] Array 2 length.
- [OK] List 0 eq.
- [OK] List 1 map.
- [OK] List 2 mapU.
- [OK] List 3 mapWithIndex.
- [OK] List 4 concat.
- [OK] Int 0 fromString.
- [OK] Int 1 toString.
- [OK] Option 0 keep_1.
- [OK] Option 1 keep_2.
- [OK] Option 2 keep_3.
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/Belt/test/_build/_tests/Belt'.
- Test Successful in 0.002s. 14 tests run.
- (cd _build/default/packages/expand-styles-attribute/test && ./test.exe)
- Testing `expand_styles_attribute'.
- This run has ID `ZKCXFCHH'.
-
- [OK] expand_styles_prop_on_attributes 0
- [OK] expand_styles_with_previous_className 0
- [OK] expand_styles_with_previous_style 0
- [OK] expand_styles_optional 0
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/expand-styles-attribute/test/_build/_tests/expand_styles_attribute'.
- Test Successful in 0.000s. 4 tests run.
- (cd _build/default/packages/Js && ./test.exe)
- Testing `Js'.
- This run has ID `PBVV90BQ'.
-
- [OK] Js.Global 0 decodeURI - ascii and spaces.
- [OK] Js.Global 1 decodeURI - reserved characters.
- [OK] Js.Global 2 decodeURI - alphabets.
- [OK] Js.Global 3 decodeURI - unicode characters.
- [OK] Js.Global 4 decodeURI - mixed percent encodings a...
- [OK] Js.Global 5 decodeURI - complete URLs.
- [OK] Js.Global 6 decodeURI - overencoded sequences.
- [OK] Js.Global 7 decodeURI - special characters.
- [OK] Js.Global 8 decodeURI - beyond U+10FFFF.
- [OK] Js.Global 9 decodeURI - partial sequences.
- [OK] Js.Global 10 encodeURI - ascii and spaces.
- [OK] Js.Global 11 encodeURI - reserved characters.
- [OK] Js.Global 12 encodeURI - alphabets.
- [OK] Js.Global 13 encodeURI - unicode characters.
- [OK] Js.Global 14 encodeURI - complete URLs.
- [OK] Js.Global 15 encodeURI - special characters.
- [OK] Js.Global 16 encodeURI - combining characters.
- [OK] Js.Global 17 encodeURI - Surrogate pairs.
- [OK] Js.Global 18 encodeURIComponent.
- [OK] Js.Promise 0 resolve.
- [OK] Js.Promise 1 all.
- [OK] Js.Promise 2 all_async.
- [OK] Js.Promise 3 race_async.
- [OK] Js.Float 0 string_of_float.
- [OK] Js.Float 1 toString.
- [OK] Js.Float 2 fromString.
- [OK] Js.Float 3 toFixed.
- [OK] Js.String 0 make.
- [OK] Js.String 1 length.
- [OK] Js.String 2 get.
- [OK] Js.String 3 fromCharCode.
- [OK] Js.String 4 fromCharCodeMany.
- [OK] Js.String 5 fromCodePoint.
- [OK] Js.String 6 fromCodePointMany.
- [OK] Js.String 7 charAt.
- [OK] Js.String 8 charCodeAt.
- [OK] Js.String 9 codePointAt.
- [OK] Js.String 10 concat.
- [OK] Js.String 11 concatMany.
- [OK] Js.String 12 endsWith.
- [OK] Js.String 13 includes.
- [OK] Js.String 14 indexOf.
- [OK] Js.String 15 lastIndexOf.
- [OK] Js.String 16 match.
- [OK] Js.String 17 match 0.
- [OK] Js.String 18 repeat.
- [OK] Js.String 19 replace.
- [OK] Js.String 20 replaceByRe.
- [OK] Js.String 21 replaceByRe with global.
- [OK] Js.String 22 unsafeReplaceBy0.
- [OK] Js.String 23 unsafeReplaceBy1.
- [OK] Js.String 24 unsafeReplaceBy2.
- [OK] Js.String 25 search.
- [OK] Js.String 26 slice.
- [OK] Js.String 27 split.
- [OK] Js.String 28 splitAtMost.
- [OK] Js.String 29 splitByRe.
- [OK] Js.String 30 startsWith.
- [OK] Js.String 31 substr.
- [OK] Js.String 32 substrAtMost.
- [OK] Js.String 33 substring.
- [OK] Js.String 34 toLowerCase.
- [OK] Js.String 35 toUpperCase.
- [OK] Js.String 36 trim.
- [OK] Js.String 37 anchor.
- [OK] Js.String 38 link.
- [OK] Js.Re 0 captures.
- [OK] Js.Re 1 exec.
- [OK] Js.Re 2 exec with global.
- [OK] Js.Re 3 modifier: end ($).
- [OK] Js.Re 4 modifier: more than one (+).
- [OK] Js.Re 5 global (g) and caseless (i).
- [OK] Js.Re 6 modifier: or ([]).
- [OK] Js.Re 7 backreferencing.
- [OK] Js.Re 8 http|s example.
- [OK] Js.Re 9 index.
- [OK] Js.Re 10 lastIndex.
- [OK] Js.Re 11 input.
- [OK] Js.Dict 0 empty.
- [OK] Js.Dict 1 get.
- [OK] Js.Dict 2 get from missing property.
- [OK] Js.Dict 3 unsafe_get.
- [OK] Js.Dict 4 set.
- [OK] Js.Dict 5 keys.
- [OK] Js.Dict 6 keys duplicated.
- [OK] Js.Dict 7 entries.
- [OK] Js.Dict 8 values.
- [OK] Js.Dict 9 values duplicated.
- [OK] Js.Dict 10 fromList - [].
- [OK] Js.Dict 11 fromList.
- [OK] Js.Dict 12 fromArray - [].
- [OK] Js.Dict 13 fromArray.
- [OK] Js.Dict 14 map.
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/Js/_build/_tests/Js'.
- Test Successful in 0.822s. 93 tests run.
- (cd _build/default/packages/react/test && ./test.exe)
- Testing `React'.
- This run has ID `EUM50YES'.
-
- [OK] cloneElement 0 empty component.
- [OK] cloneElement 1 attributes component.
- [OK] cloneElement 2 ordered attributes component.
- [OK] React 0 useState.
- [OK] React 1 useSyncExternalStoreWithServer.
- [OK] React 2 useEffect.
- [OK] React 3 Children.map.
- [OK] React 4 Children.map.
- [OK] React 5 useRef.
- [OK] React 6 invalid_children.
- [OK] React 7 invalid_dangerouslySetInnerHtml.
- [OK] React 8 raw_element.
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/react/test/_build/_tests/React'.
- Test Successful in 0.002s. 12 tests run.
- (cd _build/default/packages/reactDom/test && ./test.exe)
- Testing `ReactDOM'.
- This run has ID `79CZI44N'.
-
- [OK] ReactServerDOM.render_html / client_with_element_props 0 ...
- [OK] ReactServerDOM.render_html / null_element 0 ...
- [OK] ReactServerDOM.render_html / element_with_dangerously_set_inner_html 0 ...
- [OK] ReactServerDOM.render_html / inner_html_element 0 ...
- [OK] ReactServerDOM.render_html / input_element_with_value 0 ...
- [OK] ReactServerDOM.render_html / upper_case_component 0 ...
- [OK] ReactServerDOM.render_html / async_component_without_promise 0 ...
- [OK] ReactServerDOM.render_html / suspense_without_promise 0 ...
- [OK] ReactServerDOM.render_html / with_sleepy_promise 0 ...
- [OK] ReactServerDOM.render_html / client_with_promise_props 0 ...
- [OK] ReactServerDOM.render_html / client_component_with_async_component 0 ...
- [OK] ReactServerDOM.render_html / async_component_with_promise 0 ...
- [OK] ReactServerDOM.render_html / suspense_with_error 0 ...
- [OK] ReactServerDOM.render_html / suspense_with_error_in_async 0 ...
- [OK] ReactServerDOM.render_html / suspense_with_error_under_lowercase 0 ...
- [OK] ReactServerDOM.render_html / error_without_suspense 0 ...
- [OK] ReactServerDOM.render_html / error_in_toplevel_in_async 0 ...
- [OK] ReactServerDOM.render_html / suspense_in_a_list_with_error 0 ...
- [OK] ReactServerDOM.render_html / server_function_as_action 0 ...
- [OK] ReactServerDOM.render_html / nested_context 0 ...
- [OK] ReactServerDOM.render_html / doctype 0 ...
- [OK] ReactServerDOM.render_html / just_an_html_node 0 ...
- [OK] ReactServerDOM.render_html / no_head_no_body_nothing_just_an_html_node 0 ...
- [OK] ReactServerDOM.render_html / html_with_no_srr_html_body 0 ...
- [OK] ReactServerDOM.render_html / html_with_a_node 0 ...
- [OK] ReactServerDOM.render_html / html_inside_a_div 0 ...
- [OK] ReactServerDOM.render_html / html_inside_a_fragment 0 ...
- [OK] ReactServerDOM.render_html / head_with_content 0 ...
- [OK] ReactServerDOM.render_html / html_with_only_a_body 0 ...
- [OK] ReactServerDOM.render_html / html_with_head_like_elements_not_in_head 0 ...
- [OK] ReactServerDOM.render_html / html_without_body_and_bootstrap_scripts 0 ...
- [OK] ReactServerDOM.render_html / html_with_body_and_bootstrap_scripts 0 ...
- [OK] ReactServerDOM.render_html / input_and_bootstrap_scripts 0 ...
- [OK] ReactServerDOM.render_html / title_and_meta_populates_to_the_head 0 ...
- [OK] ReactServerDOM.render_html / async_scripts_to_head 0 ...
- [OK] ReactServerDOM.render_html / no_async_scripts_to_remain 0 ...
- [OK] ReactServerDOM.render_html / async_scripts_gets_deduplicated 0 ...
- [OK] ReactServerDOM.render_html / async_scripts_gets_deduplicated_2 0 ...
- [OK] ReactServerDOM.render_html / link_with_rel_and_precedence 0 ...
- [OK] ReactServerDOM.render_html / links_gets_pushed_to_the_head 0 ...
- [OK] ReactServerDOM.render_html / self_closing_with_dangerously 0 ...
- [OK] ReactServerDOM.render_html / self_closing_with_dangerously_in_head 0 ...
- [OK] ReactServerDOM.render_html / upper_case_component_with_resources 0 ...
- [OK] ReactServerDOM.render_html / hoisted_elements_order_issue 0 ...
- [OK] ReactServerDOM.render_html / head_preserves_children_order 0 ...
- [OK] ReactServerDOM.render_html / html_attributes_are_preserved 0 ...
- [OK] ReactDOM.renderToStream / silly_stream 0 ...
- [OK] ReactDOM.renderToStream / render_inner_html 0 ...
- [OK] ReactDOM.renderToStream / react_use_without_suspense 0 ...
- [OK] ReactDOM.renderToStream / uppercase_component_always_throwing 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_react_use 0 ...
- [OK] ReactDOM.renderToStream / async component 0 ...
- [OK] ReactDOM.renderToStream / async_component_without_suspense 0 ...
- [OK] ReactDOM.renderToStream / suspense_without_promise 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_async_component 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_always_throwing 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_nested_suspense 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_nested_suspenses 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_nested_suspense_with_error 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_multiple_children 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_multiple_children_reordered 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_concurrent_suspenses 0 ...
- [OK] ReactDOM.renderToStream / suspense_with_comments 0 ...
- [OK] ReactDOM.renderToStaticMarkup / html_doctype 0 ...
- [OK] ReactDOM.renderToStaticMarkup / single_empty_tag 0 ...
- [OK] ReactDOM.renderToStaticMarkup / empty_string_attribute 0 ...
- [OK] ReactDOM.renderToStaticMarkup / bool_attributes 0 ...
- [OK] ReactDOM.renderToStaticMarkup / truthy_attributes 0 ...
- [OK] ReactDOM.renderToStaticMarkup / ignore_nulls 0 ...
- [OK] ReactDOM.renderToStaticMarkup / string_attributes 0 ...
- [OK] ReactDOM.renderToStaticMarkup / self_closing_tag 0 ...
- [OK] ReactDOM.renderToStaticMarkup / dom_element_innerHtml 0 ...
- [OK] ReactDOM.renderToStaticMarkup / children 0 ...
- [OK] ReactDOM.renderToStaticMarkup / className 0 ...
- [OK] ReactDOM.renderToStaticMarkup / className_2 0 ...
- [OK] ReactDOM.renderToStaticMarkup / className_3 0 ...
- [OK] ReactDOM.renderToStaticMarkup / fragment 0 ...
- [OK] ReactDOM.renderToStaticMarkup / fragments_and_texts 0 ...
- [OK] ReactDOM.renderToStaticMarkup / ignored_attributes_on_jsx 0 ...
- [OK] ReactDOM.renderToStaticMarkup / inline_styles 0 ...
- [OK] ReactDOM.renderToStaticMarkup / encode_attributes 0 ...
- [OK] ReactDOM.renderToStaticMarkup / dom_props_should_work 0 ...
- [OK] ReactDOM.renderToStaticMarkup / dangerouslySetInnerHtml 0 ...
- [OK] ReactDOM.renderToStaticMarkup / context 0 ...
- [OK] ReactDOM.renderToStaticMarkup / use_state 0 ...
- [OK] ReactDOM.renderToStaticMarkup / use_memo 0 ...
- [OK] ReactDOM.renderToStaticMarkup / use_callback 0 ...
- [OK] ReactDOM.renderToStaticMarkup / inner_html 0 ...
- [OK] ReactDOM.renderToStaticMarkup / event 0 ...
- [OK] ReactDOM.renderToStaticMarkup / render_with_doc_type 0 ...
- [OK] ReactDOM.renderToStaticMarkup / render_svg 0 ...
- [OK] ReactDOM.renderToStaticMarkup / ref_as_prop_works 0 ...
- [OK] ReactDOM.renderToStaticMarkup / ref_as_callback_prop_works 0 ...
- [OK] ReactDOM.renderToStaticMarkup / async 0 ...
- [OK] ReactDOM.renderToStaticMarkup / lists_and_arrays 0 ...
- [OK] ReactDOM.renderToString / react_root_one_element 0 ...
- [OK] ReactDOM.renderToString / react_root_two_elements 0 ...
- [OK] ReactDOM.renderToString / text_single_node should not add <!-- --> 0 ...
- [OK] ReactDOM.renderToString / consecutives_text_nodes should add <!-- --> 0 ...
- [OK] ReactDOM.renderToString / separated_text_nodes_by_other_parents 0 ...
- [OK] ReactDOM.Style.make / generate empty style 0 ...
- [OK] ReactDOM.Style.make / generate one style 0 ...
- [OK] ReactDOM.Style.make / generate more than one style 0 ...
- [OK] ReactDOM.Style.make / unsafeAddProp should be kebab-case 0 ...
- [OK] ReactDOM.Style.make / order matters 0 ...
- [OK] ReactDOM.Style.make / order matters II 0 ...
- [OK] ReactServerDOM.render_model / null_element 0 ...
- [OK] ReactServerDOM.render_model / string_element 0 ...
- [OK] ReactServerDOM.render_model / key_renders_outside_of_props 0 ...
- [OK] ReactServerDOM.render_model / style_as_json 0 ...
- [OK] ReactServerDOM.render_model / lower_case_component 0 ...
- [OK] ReactServerDOM.render_model / lower_case_component_nested 0 ...
- [OK] ReactServerDOM.render_model / lower_case_with_children 0 ...
- [OK] ReactServerDOM.render_model / dangerouslySetInnerHtml 0 ...
- [OK] ReactServerDOM.render_model / upper_case_component 0 ...
- [OK] ReactServerDOM.render_model / upper_case_with_list 0 ...
- [OK] ReactServerDOM.render_model / upper_case_with_children 0 ...
- [OK] ReactServerDOM.render_model / suspense_without_promise 0 ...
- [OK] ReactServerDOM.render_model / suspense_with_promise 0 ...
- [OK] ReactServerDOM.render_model / suspense_with_error 0 ...
- [OK] ReactServerDOM.render_model / suspense_with_error_in_async 0 ...
- [OK] ReactServerDOM.render_model / suspense_with_immediate_promise 0 ...
- [OK] ReactServerDOM.render_model / suspense 0 ...
- [OK] ReactServerDOM.render_model / async_component_without_suspense 0 ...
- [OK] ReactServerDOM.render_model / suspense_in_a_list 0 ...
- [OK] ReactServerDOM.render_model / client_with_promise_props 0 ...
- [OK] ReactServerDOM.render_model / async_component_without_suspense_immediate 0 ...
- [OK] ReactServerDOM.render_model / mixed_server_and_client 0 ...
- [OK] ReactServerDOM.render_model / client_with_json_props 0 ...
- [OK] ReactServerDOM.render_model / client_without_props 0 ...
- [OK] ReactServerDOM.render_model / client_with_element_props 0 ...
- [OK] ReactServerDOM.render_model / client_with_server_children 0 ...
- [OK] ReactServerDOM.render_model / client_component_with_async_component 0 ...
- [OK] ReactServerDOM.render_model / act_with_simple_response 0 ...
- [OK] ReactServerDOM.render_model / env_development_adds_debug_info 0 ...
- [OK] ReactServerDOM.render_model / act_with_error 0 ...
- [OK] ReactServerDOM.render_model / error_without_suspense 0 ...
- [OK] ReactServerDOM.render_model / error_in_toplevel 0 ...
- [OK] ReactServerDOM.render_model / error_in_toplevel_in_async 0 ...
- [OK] ReactServerDOM.render_model / suspense_in_a_list_with_error 0 ...
- [OK] ReactServerDOM.render_model / suspense_with_error_under_lowercase 0 ...
- [OK] ReactServerDOM.render_model / client_component_with_resources_metadata 0 ...
- [OK] ReactServerDOM.render_model / page_with_hoisted_resources 0 ...
- [OK] ReactServerDOM.render_model / nested_context 0 ...
- [OK] ReactServerDOM.render_model / model_list 0 ...
- [OK] ReactServerDOM.render_model / model_assoc 0 ...
- [OK] Decoders / decodeReply 0 ...
- [OK] Decoders / decodeFormDataReply 0 ...
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/reactDom/test/_build/_tests/ReactDOM'.
- Test Successful in 0.766s. 148 tests run.
- (cd _build/default/packages/server-reason-react-ppx/test && ./test.exe)
- Testing `server-reason-react.ppx'.
- This run has ID `TCJ7AE9F'.
-
- [OK] tag 0 ...
- [OK] empty_attribute 0 ...
- [OK] bool_attribute 0 ...
- [OK] bool_attributes 0 ...
- [OK] innerhtml 0 ...
- [OK] int_attribute 0 ...
- [OK] svg_1 0 ...
- [OK] svg_2 0 ...
- [OK] booleanish_props_with_ppx 0 ...
- [OK] booleanish_props_without_ppx 0 ...
- [OK] style_attribute 0 ...
- [OK] ref_attribute 0 ...
- [OK] link_as_attribute 0 ...
- [OK] inner_html_attribute 0 ...
- [OK] inner_html_attribute_complex 0 ...
- [OK] int_opt_attr_some 0 ...
- [OK] int_opt_attribute_none 0 ...
- [OK] string_opt_attribute_some 0 ...
- [OK] string_opt_attribute_none 0 ...
- [OK] bool_opt_attribute_some 0 ...
- [OK] bool_opt_attribute_none 0 ...
- [OK] style_opt_attribute_some 0 ...
- [OK] style_opt_attribute_none 0 ...
- [OK] ref_opt_attribute_some 0 ...
- [OK] ref_opt_attribute_none 0 ...
- [OK] fragment 0 ...
- [OK] fragment_with_key 0 ...
- [OK] children_uppercase 0 ...
- [OK] children_lowercase 0 ...
- [OK] event_onClick 0 ...
- [OK] children_one_element 0 ...
- [OK] children_multiple_elements 0 ...
- [OK] create_element_variadic 0 ...
- [OK] aria_props 0 ...
- [OK] optional_prop 0 ...
- [OK] context 0 ...
- [OK] context_2 0 ...
- [OK] multiple_contexts 0 ...
- [OK] styles_attribute 0 ...
- [OK] styles_attribute_optional 0 ...
- [OK] styles_attribute_optional_some 0 ...
- [OK] styles_attribute_optional_some_with_class 0 ...
- [OK] styles_attribute_optional_some_with_style 0 ...
- [OK] styles_attribute_optional_some_with_class_and_style 0 ...
- [OK] server_function 0 ...
- [OK] server_function_reference 0 ...
- [OK] server_function_reference_args_error 0 ...
- [OK] server_function_reference_form_data 0 ...
- [OK] server_function_reference_form_data_and_args 0 ...
-
- Full test results in `~/.opam/4.14/.opam-switch/build/server-reason-react.0.4.0/_build/default/packages/server-reason-react-ppx/test/_build/_tests/server-reason-react.ppx'.
- Test Successful in 0.019s. 49 tests run.
-> compiled server-reason-react.0.4.0
-> removed server-reason-react.0.4.0
-> installed server-reason-react.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-11 02:30.16 ---> saved as "8e6636eeff10866d33f4db05071e996be70499b8a1e15f4f922c59c67105061b"
Job succeeded
2026-04-11 02:30.34: Job succeeded