(for PR #29807)
2026-04-27 09:15.47: New job: test ppx_bin_there.0.2.1a2, using opam 2.2
from https://github.com/ocaml/opam-repository.git#refs/pull/29807/head (e0fe0e5778da777992e8690ed4faab031f74f9af)
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/29807/head" && git reset --hard e0fe0e57
git fetch origin master
git merge --no-edit d5058a91d400180e2118d7eeefa040cfcee45d2c
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.2 /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 ppx_bin_there.0.2.1a2 0.2.1a2
RUN opam reinstall ppx_bin_there.0.2.1a2; \
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" != 'ppx_bin_there.0.2.1a2' && 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 ppx_bin_there.0.2.1a2) || true
RUN opam reinstall --with-test --verbose ppx_bin_there.0.2.1a2; \
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" != 'ppx_bin_there.0.2.1a2' && 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-27 09:15.47: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117-ppx_bin_there.0.2.1a2-e0fe0e5778da777992e8690ed4faab031f74f9af"
2026-04-27 09:15.47: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-2.2 /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 ppx_bin_there.0.2.1a2 0.2.1a2"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall ppx_bin_there.0.2.1a2;\
\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\" != 'ppx_bin_there.0.2.1a2' && 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 ppx_bin_there.0.2.1a2) || true"))
(run (shell "opam reinstall --with-test --verbose ppx_bin_there.0.2.1a2;\
\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\" != 'ppx_bin_there.0.2.1a2' && 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-27 09:15.47: Waiting for resource in pool OCluster
2026-04-27 09:15.48: Waiting for worker…
2026-04-27 09:20.16: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at d5058a91d4 Merge pull request #29801 from YuriyKrasilnikov/opam-publish-idna.0.4.0
Updating d5058a91d4..e0fe0e5778
Fast-forward
packages/bin_there/bin_there.0.2.1a2/opam | 30 +++++++++++++++++++++++
packages/ppx_bin_there/ppx_bin_there.0.2.1a2/opam | 30 +++++++++++++++++++++++
2 files changed, 60 insertions(+)
create mode 100644 packages/bin_there/bin_there.0.2.1a2/opam
create mode 100644 packages/ppx_bin_there/ppx_bin_there.0.2.1a2/opam
(from ocaml/opam:debian-13-ocaml-5.4@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117' locally
docker.io/ocaml/opam@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117: Pulling from ocaml/opam
a7730063fcfe: Already exists
4ee4710ec793: Already exists
9bffbdd66231: Already exists
cbcc548423e6: Already exists
fe2acedc347c: Already exists
d316a4b5f6c7: Already exists
a7185b084615: Already exists
8f2e4b898a82: Already exists
c45b7ac3ea87: Already exists
7e67b51417c7: Already exists
bd7b73c72643: Already exists
6c18a46bf2ad: Already exists
f9e34f2a66c9: Already exists
d9ef36e01586: Already exists
97b411d0e48e: Already exists
7a801e16329f: Already exists
19d23084d713: Already exists
19d23084d713: Already exists
5a7e5c66431e: Already exists
70ef9a276312: Already exists
9ae2c497c2b0: Already exists
e8976e43e08e: Already exists
4f4fb700ef54: Already exists
c604dd6b8c73: Already exists
1eb18e837245: Already exists
255f5a23564e: Already exists
3f89e8909570: Already exists
132eabb3a260: Already exists
493b36718743: Already exists
969b57e3419b: Already exists
149edab32f52: Already exists
bd180ee6bae9: Already exists
cc8dae61ae77: Already exists
60d736b82f5f: Already exists
37e6ecf610fb: Already exists
f5a753da3473: Already exists
36e535949899: Already exists
95ef206c9a71: Already exists
a70d32c06711: Already exists
5ee0fcdd42b0: Already exists
767e030306e7: Already exists
fb05da4533b9: Already exists
48df1fabcde1: Already exists
6da9a4866f6d: Already exists
3b5604bc3bc3: Pulling fs layer
15fd43adfb31: Pulling fs layer
6fe1408158d8: Pulling fs layer
a52f7b9bf979: Pulling fs layer
3b5604bc3bc3: Waiting
6fe1408158d8: Waiting
a52f7b9bf979: Waiting
15fd43adfb31: Waiting
15fd43adfb31: Verifying Checksum
15fd43adfb31: Download complete
6fe1408158d8: Verifying Checksum
6fe1408158d8: Download complete
a52f7b9bf979: Download complete
3b5604bc3bc3: Verifying Checksum
3b5604bc3bc3: Download complete
3b5604bc3bc3: Pull complete
15fd43adfb31: Pull complete
6fe1408158d8: Pull complete
a52f7b9bf979: Pull complete
Digest: sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117
Status: Downloaded newer image for ocaml/opam@sha256:bf89bb8b0840f9e6d96c6319caca58b5a9cb053dc6ba317d449ef09a67ea4117
2026-04-27 09:20.21 ---> using "87b761d57f8bd11e681423bdf4eccf2ad5197c80c37c136b18e55ecadd1dcf8e" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
2026-04-27 09:20.21 ---> using "ec242b069ac42b991eb2c5178addb990fe4f8f1f07467c0483c1fc8f67338fd8" 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.
Continue? [y/n] y
This development 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.
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=71 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-27 09:20.21 ---> using "f09cb7acd821c146604eda400e664ca0a19b09ba6a1f6c3b184b912f0ec51e51" 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.2.1 (01e9a24a61e23e42d513b4b775d8c30c807439b2)
# self-upgrade no
# system arch=x86_64 os=linux os-distribution=debian os-version=13
# solver builtin-0install
# install-criteria
# upgrade-criteria
# jobs 255
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 5.4
# invariant ocaml-base-compiler = 5.4.1
# compiler-packages ocaml-base-compiler.5.4.1, ocaml-compiler.5.4.1, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 5.4.1
2026-04-27 09:20.21 ---> using "8aa42065cf20548b8737baccb73fa2d9e656d4e4ba4491808ba2894fc1996757" 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-27 09:20.21 ---> using "a2e416559b7495db75e9a4daed730e9efc12ea37ef2b8eab6d88a431f1fd6a3a" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-04-27 09:20.29 ---> saved as "dbb1b5e4b5374713f664ae79c1c689a26fe64bfd35b50ae0af0969c4c1136d38"
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-27 09:20.47 ---> saved as "42e423e2d05028a8f5466414f6f53c7d88e0460ecb2eefa7a879820521598a15"
/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 [127 kB]
- Fetched 218 kB in 0s (1863 kB/s)
- Reading package lists...
2026-04-27 09:20.48 ---> saved as "3478886be964baba6b8f54d12667d635551dbdbc0a8991b1e34867629973c42c"
/home/opam: (run (shell "opam pin add -k version -yn ppx_bin_there.0.2.1a2 0.2.1a2"))
ppx_bin_there is now pinned to version 0.2.1a2
2026-04-27 09:20.49 ---> saved as "3cfcdf503c03ef6069c165a03ddd88fb7a13a130583dc79ca4cb6025f2c51aa3"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall ppx_bin_there.0.2.1a2;\
\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\" != 'ppx_bin_there.0.2.1a2' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
ppx_bin_there.0.2.1a2 is not installed. Install it? [y/n] y
The following actions will be performed:
=== install 8 packages
- install bin_there 0.2.1a2 [required by ppx_bin_there]
- install dune 3.22.2 [required by ppx_bin_there]
- install ocaml-compiler-libs v0.17.0 [required by ppxlib]
- install ppx_bin_there 0.2.1a2 (pinned)
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppxlib 0.38.0 [required by ppx_bin_there]
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by ppxlib]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved bin_there.0.2.1a2 (cached)
-> retrieved dune.3.22.2 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved ppx_bin_there.0.2.1a2 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppxlib.0.38.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> installed dune.3.22.2
-> installed ppx_derivers.1.2.1
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.17.0
-> installed bin_there.0.2.1a2
-> installed ocaml-compiler-libs.v0.17.0
-> installed ppxlib.0.38.0
-> installed ppx_bin_there.0.2.1a2
Done.
# Run eval $(opam env) to update the current shell environment
2026-04-27 09:21.35 ---> saved as "2f0408e1aaf2ce8e013e4841daa9a9d9b72125c1b387ffa1e724a741b8a51736"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test ppx_bin_there.0.2.1a2) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile ppx_bin_there 0.2.1a2 (pinned)
=== install 10 packages
- install alcotest 1.9.1 [required by ppx_bin_there]
- install astring 0.8.5 [required by alcotest]
- install cmdliner 2.1.1 [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 ocamlfind 1.9.8 [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.1 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.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 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.1
-> installed ocamlfind.1.9.8
-> removed ppx_bin_there.0.2.1a2
-> 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
[ERROR] The compilation of ppx_bin_there.0.2.1a2 failed at "dune runtest -p ppx_bin_there -j 255".
#=== ERROR while compiling ppx_bin_there.0.2.1a2 ==============================#
# context 2.2.1 | linux/x86_64 | ocaml-base-compiler.5.4.1 | pinned(https://gitlab.com/api/v4/projects/81089450/packages/generic/ppx_bin_there/0.2.1a2/ppx_bin_there-0.2.1a2.tar.gz)
# path ~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2
# command ~/.opam/opam-init/hooks/sandbox.sh build dune runtest -p ppx_bin_there -j 255
# exit-code 1
# env-file ~/.opam/log/ppx_bin_there-7-245ff1.env
# output-file ~/.opam/log/ppx_bin_there-7-245ff1.out
### output ###
# (cd _build/default/test && ./readme_examples.exe)
# block 1 (point): PASS
# block 2 (shape): PASS
# block 3 (labeled): PASS
# block 4 (expr/binding): PASS
# block 5 (tree/forest): PASS
# block 6 (bthere.through): PASS
# block 7 (bthere.collection.mutable): PASS
# block 8 (bthere.collection.persistent): PASS
# block 9 (size limit): PASS
# block 10 (primitives): PASS
# All README examples: PASS
# (cd _build/default/test && ./test_sig_roundtrip.exe)
# test_point: PASS
# test_color: PASS
# test_box: PASS
# test_tree: PASS
# test_expr: PASS
# test_binding: PASS
# (cd _build/default/test && ./test_tuple_ctx.exe)
# Testing `test_tuple_ctx'.
# This run has ID `SO1UBFBD'.
#
# [OK] tuple_ctx 0 foo.
# [OK] tuple_ctx 1 bar.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/test_tuple_ctx'.
# Test Successful in 0.000s. 2 tests run.
# (cd _build/default/test && ./test_cross_module.exe)
# Testing `cross_module'.
# This run has ID `LHK600M3'.
#
# [OK] tree 0 leaf.
# [OK] tree 1 node.
# [OK] forest 0 empty.
# [OK] forest 1 nonempty.
# [OK] person 0 no_friends.
# [OK] person 1 with_friends.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/cross_module'.
# Test Successful in 0.001s. 6 tests run.
# (cd _build/default/test && ./test_minimal.exe)
# test_my_int: PASS
# test_point: PASS
# test_color: PASS
# test_shape: PASS
# test_int_list: PASS
# test_string_option: PASS
# test_tree: PASS
# test_linked_list: PASS
# test_box: PASS
# test_maybe: PASS
# test_mutual_rec: PASS
# test_inline_record: PASS
# test_polyvar: PASS
# test_through: PASS
# test_collection: PASS
# test_self_rec_param: PASS
# test_inherited_polyvar: PASS
# test_param_polyvar_inherit: PASS
# test_self_rec_param_record: PASS
# test_self_rec_inline: PASS
# test_tagged: PASS
# test_annotated_tree: PASS
# test_mut_inline_rec: PASS
# test_param_polyvar: PASS
# test_param_through: PASS
# test_param_collection: PASS
# test_tuple_alias: PASS
# test_polvar_with_tuple: PASS
# test_user_type_alias: PASS
# File "test/dune", line 28, characters 7-21:
# 28 | (name test_stability)
# ^^^^^^^^^^^^^^
# (cd _build/default/test && ./test_stability.exe)
# Testing `stability'.
# This run has ID `RC987BYA'.
#
# [FAIL] format 0 serialization matches reference.
# [OK] format 1 deserialization from reference.
# [OK] format 2 sharing preserved.
# [OK] format 3 serialized size.
#
# ┌──────────────────────────────────────────────────────────────────────────────┐
# │ [FAIL] format 0 serialization matches reference. │
# └──────────────────────────────────────────────────────────────────────────────┘
# ASSERT Content mismatch at byte 50: reference=0xF0, serialized=0xF8
# FAIL Content mismatch at byte 50: reference=0xF0, serialized=0xF8
# Raised at Alcotest_engine__Test.check_err in file "src/alcotest-engine/test.ml", line 173, characters 20-48
# Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23
# Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35
#
# Logs saved to `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/stability/format.000.output'.
# ──────────────────────────────────────────────────────────────────────────────
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/stability'.
# 1 failure! in 0.001s. 4 tests run.
# (cd _build/default/test && ./test_collection_attrs.exe)
# Testing `Collection attributes'.
# This run has ID `4276WJNS'.
#
# [OK] collection_attrs 0 int_queue.
# [OK] collection_attrs 1 int_list.
# [OK] collection_attrs 2 empty_queue.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/Collection attributes'.
# Test Successful in 0.000s. 3 tests run.
# (cd _build/default/test && ./test_ppx_bin_there.exe)
# Testing `ppx_bin_there'.
# This run has ID `O1C2BP3U'.
#
# [OK] derived 0 my_int.
# [OK] derived 1 point.
# [OK] derived 2 color.
# [OK] derived 3 shape.
# [OK] derived 4 int_list.
# [OK] derived 5 tree.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/ppx_bin_there'.
# Test Successful in 0.000s. 6 tests run.
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build ppx_bin_there 0.2.1a2
+-
+- The following changes have been performed
| - remove ppx_bin_there 0.2.1a2
| - install alcotest 1.9.1
| - install astring 0.8.5
| - install cmdliner 2.1.1
| - install fmt 0.11.0
| - install ocaml-syntax-shims 1.0.0
| - install ocamlbuild 0.16.1
| - install ocamlfind 1.9.8
| - install re 1.14.0
| - install topkg 1.1.1
| - install uutf 1.0.4
+-
# Run eval $(opam env) to update the current shell environment
The former state can be restored with:
/usr/bin/opam switch import "/home/opam/.opam/5.4/.opam-switch/backup/state-20260427092136.export"
Or you can retry to install your package selection with:
/usr/bin/opam install --restore
2026-04-27 09:22.00 ---> saved as "f61b1120a8b6c1ff653d98c8efabe550b721b8c0f01c99c9908626ac714617f2"
/home/opam: (run (shell "opam reinstall --with-test --verbose ppx_bin_there.0.2.1a2;\
\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\" != 'ppx_bin_there.0.2.1a2' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
ppx_bin_there.0.2.1a2 is not installed. Install it? [y/n] y
The following actions will be performed:
=== install 1 package
- install ppx_bin_there 0.2.1a2 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 2/3: [ppx_bin_there: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppx_bin_there" "-j" "255" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2)
Processing 2/3: [ppx_bin_there: dune runtest]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "runtest" "-p" "ppx_bin_there" "-j" "255" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2)
- (cd _build/default/test && ./test_sig_roundtrip.exe)
- test_point: PASS
- test_color: PASS
- test_box: PASS
- test_tree: PASS
- test_expr: PASS
- test_binding: PASS
- (cd _build/default/test && ./readme_examples.exe)
- block 1 (point): PASS
- block 2 (shape): PASS
- block 3 (labeled): PASS
- block 4 (expr/binding): PASS
- block 5 (tree/forest): PASS
- block 6 (bthere.through): PASS
- block 7 (bthere.collection.mutable): PASS
- block 8 (bthere.collection.persistent): PASS
- block 9 (size limit): PASS
- block 10 (primitives): PASS
- All README examples: PASS
- (cd _build/default/test && ./test_tuple_ctx.exe)
- Testing `test_tuple_ctx'.
- This run has ID `5DRAJFGB'.
-
- [OK] tuple_ctx 0 foo.
- [OK] tuple_ctx 1 bar.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/test_tuple_ctx'.
- Test Successful in 0.000s. 2 tests run.
- (cd _build/default/test && ./test_cross_module.exe)
- Testing `cross_module'.
- This run has ID `U258UPOD'.
-
- [OK] tree 0 leaf.
- [OK] tree 1 node.
- [OK] forest 0 empty.
- [OK] forest 1 nonempty.
- [OK] person 0 no_friends.
- [OK] person 1 with_friends.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/cross_module'.
- Test Successful in 0.000s. 6 tests run.
- (cd _build/default/test && ./test_minimal.exe)
- test_my_int: PASS
- test_point: PASS
- test_color: PASS
- test_shape: PASS
- test_int_list: PASS
- test_string_option: PASS
- test_tree: PASS
- test_linked_list: PASS
- test_box: PASS
- test_maybe: PASS
- test_mutual_rec: PASS
- test_inline_record: PASS
- test_polyvar: PASS
- test_through: PASS
- test_collection: PASS
- test_self_rec_param: PASS
- test_inherited_polyvar: PASS
- test_param_polyvar_inherit: PASS
- test_self_rec_param_record: PASS
- test_self_rec_inline: PASS
- test_tagged: PASS
- test_annotated_tree: PASS
- test_mut_inline_rec: PASS
- test_param_polyvar: PASS
- test_param_through: PASS
- test_param_collection: PASS
- test_tuple_alias: PASS
- test_polvar_with_tuple: PASS
- test_user_type_alias: PASS
- File "test/dune", line 28, characters 7-21:
- 28 | (name test_stability)
- ^^^^^^^^^^^^^^
- (cd _build/default/test && ./test_stability.exe)
- Testing `stability'.
- This run has ID `IXQOC8ZT'.
-
- [FAIL] format 0 serialization matches reference.
- [OK] format 1 deserialization from reference.
- [OK] format 2 sharing preserved.
- [OK] format 3 serialized size.
-
- ┌──────────────────────────────────────────────────────────────────────────────┐
- │ [FAIL] format 0 serialization matches reference. │
- └──────────────────────────────────────────────────────────────────────────────┘
- ASSERT Content mismatch at byte 50: reference=0xF0, serialized=0xF8
- FAIL Content mismatch at byte 50: reference=0xF0, serialized=0xF8
- Raised at Alcotest_engine__Test.check_err in file "src/alcotest-engine/test.ml", line 173, characters 20-48
- Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23
- Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35
-
- Logs saved to `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/stability/format.000.output'.
- ──────────────────────────────────────────────────────────────────────────────
-
- Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/stability'.
- 1 failure! in 0.001s. 4 tests run.
- (cd _build/default/test && ./test_ppx_bin_there.exe)
- Testing `ppx_bin_there'.
- This run has ID `EI3NGRM9'.
-
- [OK] derived 0 my_int.
- [OK] derived 1 point.
- [OK] derived 2 color.
- [OK] derived 3 shape.
- [OK] derived 4 int_list.
- [OK] derived 5 tree.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/ppx_bin_there'.
- Test Successful in 0.000s. 6 tests run.
- (cd _build/default/test && ./test_collection_attrs.exe)
- Testing `Collection attributes'.
- This run has ID `Q23VEXU3'.
-
- [OK] collection_attrs 0 int_queue.
- [OK] collection_attrs 1 int_list.
- [OK] collection_attrs 2 empty_queue.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/Collection attributes'.
- Test Successful in 0.000s. 3 tests run.
[ERROR] The compilation of ppx_bin_there.0.2.1a2 failed at "dune runtest -p ppx_bin_there -j 255".
#=== ERROR while compiling ppx_bin_there.0.2.1a2 ==============================#
# context 2.2.1 | linux/x86_64 | ocaml-base-compiler.5.4.1 | pinned(https://gitlab.com/api/v4/projects/81089450/packages/generic/ppx_bin_there/0.2.1a2/ppx_bin_there-0.2.1a2.tar.gz)
# path ~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2
# command ~/.opam/opam-init/hooks/sandbox.sh build dune runtest -p ppx_bin_there -j 255
# exit-code 1
# env-file ~/.opam/log/ppx_bin_there-8-310862.env
# output-file ~/.opam/log/ppx_bin_there-8-310862.out
### output ###
# (cd _build/default/test && ./test_sig_roundtrip.exe)
# test_point: PASS
# test_color: PASS
# test_box: PASS
# test_tree: PASS
# test_expr: PASS
# test_binding: PASS
# (cd _build/default/test && ./readme_examples.exe)
# block 1 (point): PASS
# block 2 (shape): PASS
# block 3 (labeled): PASS
# block 4 (expr/binding): PASS
# block 5 (tree/forest): PASS
# block 6 (bthere.through): PASS
# block 7 (bthere.collection.mutable): PASS
# block 8 (bthere.collection.persistent): PASS
# block 9 (size limit): PASS
# block 10 (primitives): PASS
# All README examples: PASS
# (cd _build/default/test && ./test_tuple_ctx.exe)
# Testing `test_tuple_ctx'.
# This run has ID `5DRAJFGB'.
#
# [OK] tuple_ctx 0 foo.
# [OK] tuple_ctx 1 bar.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/test_tuple_ctx'.
# Test Successful in 0.000s. 2 tests run.
# (cd _build/default/test && ./test_cross_module.exe)
# Testing `cross_module'.
# This run has ID `U258UPOD'.
#
# [OK] tree 0 leaf.
# [OK] tree 1 node.
# [OK] forest 0 empty.
# [OK] forest 1 nonempty.
# [OK] person 0 no_friends.
# [OK] person 1 with_friends.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/cross_module'.
# Test Successful in 0.000s. 6 tests run.
# (cd _build/default/test && ./test_minimal.exe)
# test_my_int: PASS
# test_point: PASS
# test_color: PASS
# test_shape: PASS
# test_int_list: PASS
# test_string_option: PASS
# test_tree: PASS
# test_linked_list: PASS
# test_box: PASS
# test_maybe: PASS
# test_mutual_rec: PASS
# test_inline_record: PASS
# test_polyvar: PASS
# test_through: PASS
# test_collection: PASS
# test_self_rec_param: PASS
# test_inherited_polyvar: PASS
# test_param_polyvar_inherit: PASS
# test_self_rec_param_record: PASS
# test_self_rec_inline: PASS
# test_tagged: PASS
# test_annotated_tree: PASS
# test_mut_inline_rec: PASS
# test_param_polyvar: PASS
# test_param_through: PASS
# test_param_collection: PASS
# test_tuple_alias: PASS
# test_polvar_with_tuple: PASS
# test_user_type_alias: PASS
# File "test/dune", line 28, characters 7-21:
# 28 | (name test_stability)
# ^^^^^^^^^^^^^^
# (cd _build/default/test && ./test_stability.exe)
# Testing `stability'.
# This run has ID `IXQOC8ZT'.
#
# [FAIL] format 0 serialization matches reference.
# [OK] format 1 deserialization from reference.
# [OK] format 2 sharing preserved.
# [OK] format 3 serialized size.
#
# ┌──────────────────────────────────────────────────────────────────────────────┐
# │ [FAIL] format 0 serialization matches reference. │
# └──────────────────────────────────────────────────────────────────────────────┘
# ASSERT Content mismatch at byte 50: reference=0xF0, serialized=0xF8
# FAIL Content mismatch at byte 50: reference=0xF0, serialized=0xF8
# Raised at Alcotest_engine__Test.check_err in file "src/alcotest-engine/test.ml", line 173, characters 20-48
# Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23
# Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35
#
# Logs saved to `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/stability/format.000.output'.
# ──────────────────────────────────────────────────────────────────────────────
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/stability'.
# 1 failure! in 0.001s. 4 tests run.
# (cd _build/default/test && ./test_ppx_bin_there.exe)
# Testing `ppx_bin_there'.
# This run has ID `EI3NGRM9'.
#
# [OK] derived 0 my_int.
# [OK] derived 1 point.
# [OK] derived 2 color.
# [OK] derived 3 shape.
# [OK] derived 4 int_list.
# [OK] derived 5 tree.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/ppx_bin_there'.
# Test Successful in 0.000s. 6 tests run.
# (cd _build/default/test && ./test_collection_attrs.exe)
# Testing `Collection attributes'.
# This run has ID `Q23VEXU3'.
#
# [OK] collection_attrs 0 int_queue.
# [OK] collection_attrs 1 int_list.
# [OK] collection_attrs 2 empty_queue.
#
# Full test results in `~/.opam/5.4/.opam-switch/build/ppx_bin_there.0.2.1a2/_build/default/test/_build/_tests/Collection attributes'.
# Test Successful in 0.000s. 3 tests run.
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build ppx_bin_there 0.2.1a2
+-
- No changes have been performed
# Run eval $(opam env) to update the current shell environment
'opam reinstall --with-test --verbose ppx_bin_there.0.2.1a2' failed.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall --with-test --verbose ppx_bin_there.0.2.1a2;
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" != 'ppx_bin_there.0.2.1a2' && partial_fails="$partial_fails $pkg";
done;
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
exit 1" failed with exit status 1
2026-04-27 09:22.18: Job failed: Failed: Build failed
2026-04-27 09:22.18: Log analysis:
2026-04-27 09:22.18: >>>
[ERROR] The compilation of ppx_bin_there.0.2.1a2 failed at "dune runtest -p ppx_bin_there -j 255".
(score = 20)
2026-04-27 09:22.18: >>>
[ERROR] The compilation of ppx_bin_there.0.2.1a2 failed at "dune runtest -p ppx_bin_there -j 255".
(score = 20)
2026-04-27 09:22.18: The compilation of ppx_bin_there.0.2.1a2 failed at "dune runtest -p ppx_bin_there -j 255".