Build:
- 0
2026-03-24 14:42.51: New job: test parseff.0.3.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29584/head (d7719afcb0d45f84ed8ca37c3e47cc49fb4dcf0c)
on ubuntu-25.10-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/29584/head" && git reset --hard d7719afc
git fetch origin master
git merge --no-edit b2a1270dba57f3ceb38426939f9780c38c181b3c
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:ubuntu-25.10-ocaml-5.4@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9
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 parseff.0.3.0 0.3.0
RUN opam reinstall parseff.0.3.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"ubuntu-25.10\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'parseff.0.3.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN (opam reinstall --with-test parseff.0.3.0) || true
RUN opam reinstall --with-test --verbose parseff.0.3.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"ubuntu-25.10\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'parseff.0.3.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2026-03-24 14:42.51: Using cache hint "ocaml/opam:ubuntu-25.10-ocaml-5.4@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9-parseff.0.3.0-d7719afcb0d45f84ed8ca37c3e47cc49fb4dcf0c"
2026-03-24 14:42.51: Using OBuilder spec:
((from ocaml/opam:ubuntu-25.10-ocaml-5.4@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9)
(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 parseff.0.3.0 0.3.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall parseff.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"ubuntu-25.10\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (network host)
(shell "(opam reinstall --with-test parseff.0.3.0) || true"))
(run (shell "opam reinstall --with-test --verbose parseff.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"ubuntu-25.10\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-03-24 14:42.51: Waiting for resource in pool OCluster
2026-03-24 14:42.52: Waiting for worker…
2026-03-24 14:42.52: Got resource from pool OCluster
Building on eumache.caelum.ci.dev
All commits already cached
HEAD is now at b2a1270dba Merge pull request #29580 from penelopeysm/opam-publish-wcwidth.1.1.0
Updating b2a1270dba..d7719afcb0
Fast-forward
packages/parseff/parseff.0.3.0/opam | 52 +++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 packages/parseff/parseff.0.3.0/opam
(from ocaml/opam:ubuntu-25.10-ocaml-5.4@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9)
Unable to find image 'ocaml/opam:ubuntu-25.10-ocaml-5.4@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9' locally
docker.io/ocaml/opam@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9: Pulling from ocaml/opam
16c195d4c5e9: Already exists
1c62812e7321: Pulling fs layer
8a4b09d2a7a7: Pulling fs layer
3318481042ff: Pulling fs layer
3efb10c5a696: Pulling fs layer
888f94101ffe: Pulling fs layer
cb111e18f70b: Pulling fs layer
4577a01d97fc: Pulling fs layer
cb111e18f70b: Waiting
3efb10c5a696: Waiting
888f94101ffe: Waiting
36c03f94b287: Pulling fs layer
4577a01d97fc: Waiting
b55120cc7c58: Pulling fs layer
40f87b6b7b5e: Pulling fs layer
36c03f94b287: Waiting
b55120cc7c58: Waiting
b6b4461886a5: Pulling fs layer
40f87b6b7b5e: Waiting
82cf66283d29: Pulling fs layer
b6b4461886a5: Waiting
1a02079536a8: Pulling fs layer
82cf66283d29: Waiting
2e0bc88eb84b: Pulling fs layer
09b28afbcd46: Pulling fs layer
2e0bc88eb84b: Waiting
00cd2b8865d8: Pulling fs layer
09b28afbcd46: Waiting
2e4e2f0309f4: Pulling fs layer
00cd2b8865d8: Waiting
2e4e2f0309f4: Waiting
50db42a840cc: Pulling fs layer
7e53edc26b50: Pulling fs layer
d3e23dc84d9f: Pulling fs layer
50db42a840cc: Waiting
00be44d6dc33: Pulling fs layer
7e53edc26b50: Waiting
4f4fb700ef54: Pulling fs layer
00be44d6dc33: Waiting
c4c722f9486c: Pulling fs layer
d3e23dc84d9f: Waiting
0c7d37cf0e34: Pulling fs layer
c4c722f9486c: Waiting
59a943ba645f: Pulling fs layer
0c7d37cf0e34: Waiting
bd9804fcdebe: Pulling fs layer
ba9e597c1206: Pulling fs layer
bd9804fcdebe: Waiting
59a943ba645f: Waiting
2e772c935e0b: Pulling fs layer
c420ec2e2ade: Pulling fs layer
ba9e597c1206: Waiting
2e772c935e0b: Waiting
8ab6bbb76418: Pulling fs layer
cf55c954c3b6: Pulling fs layer
c420ec2e2ade: Waiting
8ab6bbb76418: Waiting
aa487f376a9a: Pulling fs layer
7b14f4af6aae: Pulling fs layer
cf55c954c3b6: Waiting
970cbf42991d: Pulling fs layer
aa487f376a9a: Waiting
a6846d83fdc6: Pulling fs layer
970cbf42991d: Waiting
7b14f4af6aae: Waiting
b918cb3a3954: Pulling fs layer
a3627ce1af35: Pulling fs layer
a6846d83fdc6: Waiting
b918cb3a3954: Waiting
b6a90ae889b8: Pulling fs layer
fe759b2b603e: Pulling fs layer
7ddcb2b9210b: Pulling fs layer
bdc61cf5b773: Pulling fs layer
fe759b2b603e: Waiting
7ddcb2b9210b: Waiting
3394470af3f4: Pulling fs layer
b6a90ae889b8: Waiting
35bf477d5d7a: Pulling fs layer
bdc61cf5b773: Waiting
3394470af3f4: Waiting
f6a07fe84eaf: Pulling fs layer
35bf477d5d7a: Waiting
1a20175ce240: Pulling fs layer
f4f0de7f213b: Pulling fs layer
1a20175ce240: Waiting
b8eea1880616: Pulling fs layer
f6a07fe84eaf: Waiting
f4f0de7f213b: Waiting
b8eea1880616: Waiting
1c62812e7321: Download complete
8a4b09d2a7a7: Verifying Checksum
8a4b09d2a7a7: Download complete
1c62812e7321: Pull complete
8a4b09d2a7a7: Pull complete
3efb10c5a696: Verifying Checksum
3efb10c5a696: Download complete
3318481042ff: Verifying Checksum
3318481042ff: Download complete
cb111e18f70b: Verifying Checksum
cb111e18f70b: Download complete
4577a01d97fc: Verifying Checksum
4577a01d97fc: Download complete
b55120cc7c58: Verifying Checksum
b55120cc7c58: Download complete
3318481042ff: Pull complete
40f87b6b7b5e: Verifying Checksum
40f87b6b7b5e: Download complete
36c03f94b287: Download complete
888f94101ffe: Download complete
b6b4461886a5: Verifying Checksum
b6b4461886a5: Download complete
82cf66283d29: Verifying Checksum
82cf66283d29: Download complete
1a02079536a8: Verifying Checksum
1a02079536a8: Download complete
2e0bc88eb84b: Verifying Checksum
2e0bc88eb84b: Download complete
09b28afbcd46: Download complete
00cd2b8865d8: Verifying Checksum
00cd2b8865d8: Download complete
3efb10c5a696: Pull complete
2e4e2f0309f4: Verifying Checksum
2e4e2f0309f4: Download complete
50db42a840cc: Download complete
7e53edc26b50: Download complete
d3e23dc84d9f: Verifying Checksum
d3e23dc84d9f: Download complete
00be44d6dc33: Verifying Checksum
00be44d6dc33: Download complete
4f4fb700ef54: Download complete
c4c722f9486c: Verifying Checksum
c4c722f9486c: Download complete
0c7d37cf0e34: Verifying Checksum
0c7d37cf0e34: Download complete
59a943ba645f: Verifying Checksum
59a943ba645f: Download complete
bd9804fcdebe: Verifying Checksum
bd9804fcdebe: Download complete
ba9e597c1206: Verifying Checksum
ba9e597c1206: Download complete
2e772c935e0b: Verifying Checksum
2e772c935e0b: Download complete
c420ec2e2ade: Verifying Checksum
c420ec2e2ade: Download complete
8ab6bbb76418: Verifying Checksum
8ab6bbb76418: Download complete
cf55c954c3b6: Download complete
aa487f376a9a: Verifying Checksum
aa487f376a9a: Download complete
7b14f4af6aae: Download complete
970cbf42991d: Verifying Checksum
970cbf42991d: Download complete
b918cb3a3954: Verifying Checksum
b918cb3a3954: Download complete
b6a90ae889b8: Verifying Checksum
b6a90ae889b8: Download complete
fe759b2b603e: Verifying Checksum
7ddcb2b9210b: Verifying Checksum
7ddcb2b9210b: Download complete
bdc61cf5b773: Verifying Checksum
bdc61cf5b773: Download complete
3394470af3f4: Download complete
a6846d83fdc6: Verifying Checksum
a6846d83fdc6: Download complete
35bf477d5d7a: Verifying Checksum
35bf477d5d7a: Download complete
1a20175ce240: Download complete
f4f0de7f213b: Download complete
b8eea1880616: Verifying Checksum
b8eea1880616: Download complete
888f94101ffe: Pull complete
cb111e18f70b: Pull complete
f6a07fe84eaf: Verifying Checksum
f6a07fe84eaf: Download complete
4577a01d97fc: Pull complete
36c03f94b287: Pull complete
b55120cc7c58: Pull complete
40f87b6b7b5e: Pull complete
b6b4461886a5: Pull complete
82cf66283d29: Pull complete
a3627ce1af35: Verifying Checksum
a3627ce1af35: Download complete
1a02079536a8: Pull complete
2e0bc88eb84b: Pull complete
09b28afbcd46: Pull complete
00cd2b8865d8: Pull complete
2e4e2f0309f4: Pull complete
50db42a840cc: Pull complete
7e53edc26b50: Pull complete
d3e23dc84d9f: Pull complete
00be44d6dc33: Pull complete
4f4fb700ef54: Pull complete
c4c722f9486c: Pull complete
0c7d37cf0e34: Pull complete
59a943ba645f: Pull complete
bd9804fcdebe: Pull complete
ba9e597c1206: Pull complete
2e772c935e0b: Pull complete
c420ec2e2ade: Pull complete
8ab6bbb76418: Pull complete
cf55c954c3b6: Pull complete
aa487f376a9a: Pull complete
7b14f4af6aae: Pull complete
970cbf42991d: Pull complete
a6846d83fdc6: Pull complete
b918cb3a3954: Pull complete
a3627ce1af35: Pull complete
b6a90ae889b8: Pull complete
fe759b2b603e: Pull complete
7ddcb2b9210b: Pull complete
bdc61cf5b773: Pull complete
3394470af3f4: Pull complete
35bf477d5d7a: Pull complete
f6a07fe84eaf: Pull complete
1a20175ce240: Pull complete
f4f0de7f213b: Pull complete
b8eea1880616: Pull complete
Digest: sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9
Status: Downloaded newer image for ocaml/opam@sha256:b6692556527c8e5e7f38766fdf9c5342653662e77cbe1148ff94aca57e7551b9
2026-03-24 14:43.05 ---> using "3fe9f79cbdb7b2f473650e605a22ff4aebefcf0e4b38e327711cdec420d4c109" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-03-24 14:43.05 ---> using "6c71d82b20eeb9d6c568b45bf48a422a41eed0e1f3506f2e1a9974687782176d" from cache
/home/opam: (run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 255 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=255 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-24 14:43.05 ---> using "f1a76226eb9727be9f48a7c4f1276c1568df8897a1b2dd8e15b014b96741d979" 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=ubuntu os-version=25.10
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 5.4
# invariant ["ocaml-base-compiler" {= "5.4.0"}]
# compiler-packages ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 5.4.0
2026-03-24 14:43.05 ---> using "3945e1cf5465630082dcdffb85e153ec0134d6b1402ff5d68f6151d2c68693d0" from cache
/home/opam: (env OPAMDOWNLOADJOBS 1)
/home/opam: (env OPAMERRLOGLEN 0)
/home/opam: (env OPAMPRECISETRACKING 1)
/home/opam: (env CI true)
/home/opam: (env OPAM_REPO_CI true)
/home/opam: (run (shell "rm -rf opam-repository/"))
2026-03-24 14:43.05 ---> using "ebd1b18f7c70c769fd581f01b2f973c68a75c7bf136f200b8facbee7a6cb99fb" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-03-24 14:43.11 ---> saved as "15d820e2983d36ff520f0b3fbb888b928a54476d5ad925021d146eb63aca25e9"
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-24 14:43.30 ---> saved as "966f244ec2bbaf2de2a541aca267475a81d42245b285c3c8e49e1f6c898a17cd"
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://archive.ubuntu.com/ubuntu questing InRelease
- Get:2 http://archive.ubuntu.com/ubuntu questing-updates InRelease [136 kB]
- Get:3 http://security.ubuntu.com/ubuntu questing-security InRelease [136 kB]
- Get:4 http://archive.ubuntu.com/ubuntu questing-backports InRelease [133 kB]
- Get:5 http://security.ubuntu.com/ubuntu questing-security/main amd64 Packages [310 kB]
- Get:6 http://archive.ubuntu.com/ubuntu questing-updates/multiverse amd64 Packages [6001 B]
- Get:7 http://archive.ubuntu.com/ubuntu questing-updates/main amd64 Packages [435 kB]
- Get:8 http://security.ubuntu.com/ubuntu questing-security/universe amd64 Packages [199 kB]
- Get:9 http://archive.ubuntu.com/ubuntu questing-updates/universe amd64 Packages [268 kB]
- Fetched 1621 kB in 0s (8630 kB/s)
- Reading package lists...
-
2026-03-24 14:43.32 ---> saved as "2b3e9cb74cbfbe37ceeb05b548c2c139ff464368234709aa75a6e99c71e43001"
/home/opam: (run (shell "opam pin add -k version -yn parseff.0.3.0 0.3.0"))
parseff is now pinned to version 0.3.0
2026-03-24 14:43.33 ---> saved as "bb8dcfae100c1f8bc53159d9b77fec89dd42af514ea48426d93be1223e541ffe"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall parseff.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"ubuntu-25.10\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
parseff.0.3.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 7 packages
- install dune 3.22.0 [required by parseff]
- install ocamlbuild 0.16.1 [required by uucp]
- install ocamlfind 1.9.8 [required by uucp]
- install parseff 0.3.0 (pinned)
- install re 1.14.0 [required by parseff]
- install topkg 1.1.1 [required by uucp]
- install uucp 17.0.0 [required by parseff]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parseff.0.3.0 (https://github.com/davesnx/parseff/releases/download/0.3.0/parseff-0.3.0.tbz)
-> retrieved re.1.14.0 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved uucp.17.0.0 (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed dune.3.22.0
-> installed re.1.14.0
-> installed uucp.17.0.0
-> installed parseff.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-24 14:44.19 ---> saved as "2a8df658de40265dedc248df50ff9f326ec207aad594457b8892988b823f0c53"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test parseff.0.3.0) || true"))
The following actions will be performed:
=== recompile 2 packages
- recompile parseff 0.3.0 (pinned)
- recompile uucp 17.0.0 [uses cmdliner]
=== install 35 packages
- install alcotest 1.9.1 [required by parseff]
- install angstrom 0.16.1 [required by parseff]
- install astring 0.8.5 [required by alcotest, mdx]
- install benchmark 1.7 [required by parseff]
- install bigstringaf 0.10.0 [required by angstrom]
- install camlp-streams 5.0.1 [required by mdx]
- install cmdliner 2.1.0 [required by alcotest, mdx]
- install cppo 1.8.0 [required by mdx]
- install csexp 1.5.2 [required by mdx]
- install cstruct 6.2.0 [required by eio, uring]
- install domain-local-await 1.0.1 [required by eio]
- install dune-configurator 3.22.0 [required by miou]
- install eio 1.3 [required by eio_linux, eio_posix]
- install eio_linux 1.3 [required by eio_main]
- install eio_main 1.3 [required by parseff]
- install eio_posix 1.3 [required by eio_main]
- install fmt 0.11.0 [required by alcotest, mdx]
- install hmap 0.8.1 [required by eio]
- install iomux 0.4 [required by eio_posix]
- install logs 0.10.0 [required by mdx]
- install lwt-dllist 1.1.0 [required by eio]
- install mdx 2.5.1 [required by parseff]
- install miou 0.5.4 [required by parseff]
- install mparser 1.3 [required by parseff]
- install mtime 2.1.0 [required by eio]
- install ocaml-syntax-shims 1.0.0 [required by alcotest, angstrom]
- install ocaml-version 4.0.4 [required by mdx]
- install optint 0.3.0 [required by eio, uring]
- install psq 0.2.1 [required by eio]
- install result 1.5 [required by mdx]
- install seq base [required by psq]
- install stdlib-shims 0.3.0 [required by alcotest]
- install thread-table 1.0.0 [required by domain-local-await]
- install uring 2.7.0 [required by eio_linux]
- install uutf 1.0.4 [required by alcotest]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1 (https://opam.ocaml.org/cache)
-> retrieved angstrom.0.16.1 (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5 (https://opam.ocaml.org/cache)
-> retrieved benchmark.1.7 (https://opam.ocaml.org/cache)
-> retrieved bigstringaf.0.10.0 (https://opam.ocaml.org/cache)
-> retrieved camlp-streams.5.0.1 (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.0 (https://opam.ocaml.org/cache)
-> retrieved cppo.1.8.0 (https://opam.ocaml.org/cache)
-> installed benchmark.1.7
-> retrieved csexp.1.5.2 (https://opam.ocaml.org/cache)
-> retrieved cstruct.6.2.0 (https://opam.ocaml.org/cache)
-> installed camlp-streams.5.0.1
-> installed csexp.1.5.2
-> retrieved domain-local-await.1.0.1 (https://opam.ocaml.org/cache)
-> installed cppo.1.8.0
-> installed astring.0.8.5
-> retrieved dune-configurator.3.22.0 (https://opam.ocaml.org/cache)
-> retrieved eio.1.3, eio_linux.1.3, eio_main.1.3, eio_posix.1.3 (https://opam.ocaml.org/cache)
-> installed cmdliner.2.1.0
-> installed dune-configurator.3.22.0
-> retrieved fmt.0.11.0 (https://opam.ocaml.org/cache)
-> retrieved hmap.0.8.1 (https://opam.ocaml.org/cache)
-> retrieved iomux.0.4 (https://opam.ocaml.org/cache)
-> retrieved logs.0.10.0 (https://opam.ocaml.org/cache)
-> retrieved lwt-dllist.1.1.0 (https://opam.ocaml.org/cache)
-> retrieved mdx.2.5.1 (https://opam.ocaml.org/cache)
-> installed lwt-dllist.1.1.0
-> installed hmap.0.8.1
-> retrieved miou.0.5.4 (https://opam.ocaml.org/cache)
-> installed bigstringaf.0.10.0
-> retrieved mparser.1.3 (https://opam.ocaml.org/cache)
-> retrieved mtime.2.1.0 (https://opam.ocaml.org/cache)
-> retrieved ocaml-syntax-shims.1.0.0 (https://opam.ocaml.org/cache)
-> retrieved ocaml-version.4.0.4 (https://opam.ocaml.org/cache)
-> installed iomux.0.4
-> retrieved optint.0.3.0 (https://opam.ocaml.org/cache)
-> retrieved psq.0.2.1 (https://opam.ocaml.org/cache)
-> retrieved result.1.5 (https://opam.ocaml.org/cache)
-> installed ocaml-version.4.0.4
-> installed mparser.1.3
-> retrieved seq.base (2 extra sources)
-> retrieved seq.base (2 extra sources)
-> installed seq.base
-> retrieved stdlib-shims.0.3.0 (https://opam.ocaml.org/cache)
-> installed optint.0.3.0
-> installed fmt.0.11.0
-> installed result.1.5
-> retrieved thread-table.1.0.0 (https://opam.ocaml.org/cache)
-> installed psq.0.2.1
-> installed stdlib-shims.0.3.0
-> retrieved uring.2.7.0 (https://opam.ocaml.org/cache)
-> installed thread-table.1.0.0
-> installed cstruct.6.2.0
-> installed miou.0.5.4
-> installed mtime.2.1.0
-> removed parseff.0.3.0
-> installed ocaml-syntax-shims.1.0.0
-> retrieved uucp.17.0.0 (https://opam.ocaml.org/cache)
-> removed uucp.17.0.0
-> installed domain-local-await.1.0.1
-> retrieved uutf.1.0.4 (https://opam.ocaml.org/cache)
-> installed logs.0.10.0
-> installed angstrom.0.16.1
-> installed uutf.1.0.4
-> installed eio.1.3
-> installed uring.2.7.0
-> installed alcotest.1.9.1
-> installed mdx.2.5.1
-> installed eio_posix.1.3
-> installed eio_linux.1.3
-> installed eio_main.1.3
-> installed uucp.17.0.0
-> installed parseff.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-24 14:45.04 ---> saved as "401cbd8c3111c13c566bdd5deb85ab82b8637833ab5c76c9978b08e3ca74e14e"
/home/opam: (run (shell "opam reinstall --with-test --verbose parseff.0.3.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"ubuntu-25.10\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'parseff.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
The following actions will be performed:
=== recompile 1 package
- recompile parseff 0.3.0 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 2/4: [parseff: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "parseff" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/parseff.0.3.0)
- (cd _build/default/test && ./test_errors.exe)
- Testing `Errors'.
- This run has ID `4XE6RK9P'.
-
- [OK] unhandled effect message 0 digit outside parse.
- [OK] unhandled effect message 1 consume outside parse.
- [OK] unhandled effect message 2 position outside parse.
- [OK] unhandled effect message 3 many outside parse.
- [OK] unhandled effect message 4 satisfy outside parse.
- [OK] unhandled effect message 5 end_of_input outside pa...
- [OK] unhandled effect message 6 message mentions runner...
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Errors'.
- Test Successful in 0.001s. 7 tests run.
- (cd _build/default/test && ./test_ip.exe)
- Testing `IP Address Parser'.
- This run has ID `2AVYTXGZ'.
-
- [OK] valid 0 1.2.3.4.
- [OK] valid 1 255.255.255.255.
- [OK] valid 2 192.168.1.100.
- [OK] invalid 0 out of range.
- [OK] invalid 1 incomplete.
- [OK] invalid 2 trailing data.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/IP Address Parser'.
- Test Successful in 0.001s. 6 tests run.
- (cd _build/default/test && ./test_css.exe)
- Testing `CSS Parser'.
- This run has ID `6BSZQE34'.
-
- [OK] rules 0 simple rule.
- [OK] rules 1 multiple declarations.
- [OK] rules 2 with whitespace.
- [OK] rules 3 empty rule.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/CSS Parser'.
- Test Successful in 0.001s. 4 tests run.
- (cd _build/default/test && ./test_json.exe)
- Testing `JSON Parser'.
- This run has ID `A5RJ0G50'.
-
- [OK] primitives 0 null.
- [OK] primitives 1 bool true.
- [OK] primitives 2 bool false.
- [OK] primitives 3 number.
- [OK] primitives 4 float.
- [OK] primitives 5 string.
- [OK] arrays 0 empty array.
- [OK] arrays 1 simple array.
- [OK] objects 0 empty object.
- [OK] objects 1 simple object.
- [OK] objects 2 nested.
- [OK] depth limiting 0 deep nesting within limit.
- [OK] depth limiting 1 deep nesting exceeds limit.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/JSON Parser'.
- Test Successful in 0.002s. 13 tests run.
- (cd _build/default/test && ./test_domains.exe)
- Testing `Parseff Domains'.
- This run has ID `TT27IQVA'.
-
- [OK] parallel parsing 0 basic parallel parsing.
- [OK] parallel parsing 1 same parser many domains.
- [OK] parallel parsing 2 alternation across domains.
- [OK] parallel parsing 3 complex combinators across do...
- [OK] parallel JSON 0 JSON across domains.
- [OK] parallel streaming 0 streaming across domains.
- [OK] parallel streaming 1 streaming JSON across domains.
- [OK] parallel streaming 2 chunked streaming across doma...
- [OK] isolation 0 errors isolated across domains.
- [OK] isolation 1 high contention.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Parseff Domains'.
- Test Successful in 0.015s. 10 tests run.
- (cd _build/default/test && ./test_binary.exe)
- Testing `binary'.
- This run has ID `NI7ESSV7'.
-
- [OK] byte reads 0 BE.any_uint8.
- [OK] byte reads 1 BE.any_int8.
- [OK] byte reads 2 LE.any_uint8 same as BE.
- [OK] byte reads 3 uint8 eof.
- [OK] 16-bit reads 0 BE.any_int16.
- [OK] 16-bit reads 1 LE.any_int16.
- [OK] 16-bit reads 2 BE.any_uint16.
- [OK] 16-bit reads 3 BE.any_int16 signed.
- [OK] 16-bit reads 4 int16 eof.
- [OK] 32-bit reads 0 BE.any_int32.
- [OK] 32-bit reads 1 LE.any_int32.
- [OK] 32-bit reads 2 int32 eof.
- [OK] 64-bit reads 0 BE.any_int64.
- [OK] 64-bit reads 1 LE.any_int64.
- [OK] 64-bit reads 2 int64 eof.
- [OK] float/double 0 BE.any_float 1.0.
- [OK] float/double 1 LE.any_float 1.0.
- [OK] float/double 2 BE.any_double 1.0.
- [OK] float/double 3 LE.any_double 1.0.
- [OK] float/double 4 BE.any_float 0.0.
- [OK] float/double 5 BE.any_float -1.0.
- [OK] exact match 0 BE.int16 match.
- [OK] exact match 1 BE.int16 mismatch.
- [OK] exact match 2 BE.int32 match.
- [OK] exact match 3 BE.int64 match.
- [OK] exact match 4 LE.int32 match.
- [OK] take 0 take exact.
- [OK] take 1 take zero.
- [OK] take 2 take eof.
- [OK] take 3 take negative.
- [OK] composition 0 TLV header.
- [OK] backtracking 0 or_ with binary.
- [OK] streaming 0 BE.any_int32.
- [OK] streaming 1 LE.any_int64.
- [OK] streaming 2 take.
- [OK] streaming 3 eof.
- [OK] streaming 4 TLV composition.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/binary'.
- Test Successful in 0.003s. 37 tests run.
- (cd _build/default/test && ./test_utf8.exe)
- Testing `Parseff.Utf8'.
- This run has ID `RW03ZNCZ'.
-
- [OK] satisfy 0 ASCII.
- [OK] satisfy 1 2-byte (lambda).
- [OK] satisfy 2 3-byte (CJK).
- [OK] satisfy 3 4-byte (emoji).
- [OK] satisfy 4 failure.
- [OK] satisfy 5 eof.
- [OK] satisfy 6 invalid UTF-8.
- [OK] char 0 ASCII.
- [OK] char 1 multibyte.
- [OK] char 2 failure.
- [OK] any_char 0 ASCII.
- [OK] any_char 1 multibyte.
- [OK] any_char 2 eof.
- [OK] take_while 0 ASCII.
- [OK] take_while 1 Unicode.
- [OK] take_while 2 empty.
- [OK] take_while 3 at_least success.
- [OK] take_while 4 at_least failure.
- [OK] take_while 5 at_least counts codepoints.
- [OK] take_while 6 at_least codepoint count fail.
- [OK] take_while 7 invalid UTF-8.
- [OK] skip_while 0 basic.
- [OK] skip_while 1 unicode whitespace.
- [OK] take_while_span 0 basic.
- [OK] skip_while_then_char 0 basic.
- [OK] skip_while_then_char 1 unicode terminator.
- [OK] skip_while_then_char 2 failure.
- [OK] skip_while_then_char 3 eof.
- [OK] letter 0 ASCII.
- [OK] letter 1 accented.
- [OK] letter 2 CJK.
- [OK] letter 3 Cyrillic.
- [OK] letter 4 failure.
- [OK] digit 0 success.
- [OK] digit 1 failure.
- [OK] alphanum 0 letter.
- [OK] alphanum 1 digit.
- [OK] alphanum 2 failure.
- [OK] whitespace 0 ASCII.
- [OK] whitespace 1 Unicode.
- [OK] whitespace 2 empty.
- [OK] whitespace 3 at_least failure.
- [OK] whitespace 4 skip_whitespace.
- [OK] interop 0 mix byte and Utf8.
- [OK] streaming 0 satisfy across chunks.
- [OK] streaming 1 take_while byte-at-a-time.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Parseff.Utf8'.
- Test Successful in 0.004s. 46 tests run.
- (cd _build/default/test && ./test_streaming.exe)
- Testing `Streaming'.
- This run has ID `APPK6MW4'.
-
- [OK] Source.of_string 0 consume.
- [OK] Source.of_string 1 satisfy.
- [OK] Source.of_string 2 alternation.
- [OK] Source.of_string 3 many.
- [OK] Source.of_string 4 ip.
- [OK] Source.of_string 5 json.
- [OK] Source.of_string 6 take_while.
- [OK] Source.of_string 7 skip_while.
- [OK] Source.of_string 8 look_ahead.
- [OK] Source.of_string 9 end_of_input.
- [OK] Source.of_string 10 regex.
- [OK] Source.of_string 11 sep_by.
- [OK] chunked 0 consume 1-byte.
- [OK] chunked 1 ip 1-byte.
- [OK] chunked 2 ip 2-byte.
- [OK] chunked 3 json array 1-byte.
- [OK] chunked 4 json object 2-byte.
- [OK] chunked 5 json nested 3-byte.
- [OK] chunked 6 take_while 2-byte.
- [OK] chunked 7 alternation 2-byte.
- [OK] chunked 8 regex 2-byte.
- [OK] chunked 9 skip_while_then_char 2-byte.
- [OK] edge cases 0 empty source.
- [OK] edge cases 1 end_of_input with data.
- [OK] edge cases 2 end_of_input after consume.
- [OK] edge cases 3 backtrack across chunk.
- [OK] edge cases 4 look_ahead across chunk.
- [OK] edge cases 5 many across chunks.
- [OK] edge cases 6 regex across chunks.
- [OK] edge cases 7 deep nesting streaming.
- [OK] edge cases 8 consume failure.
- [OK] edge cases 9 take_while_span.
- [OK] edge cases 10 parse_source_until_end requires...
- [OK] edge cases 11 parse_source_until_end error di...
- [OK] edge cases 12 parse_source_until_end preserve...
- [OK] location 0 basic byte-at-a-time.
- [OK] location 1 across chunk boundaries.
- [OK] location 2 multiple calls.
- [OK] Source.of_chunks 0 ip 2-byte.
- [OK] Source.of_chunks 1 json 3-byte.
- [OK] Source.of_chunks 2 single shot.
- [OK] Source.of_chunks 3 empty chunks skipped.
- [OK] Source.of_chunks 4 backtrack 2-byte.
- [OK] Source.of_seq 0 ip from list.
- [OK] Source.of_seq 1 json 2-byte chunks.
- [OK] Source.of_seq 2 empty seq.
- [OK] Source.of_seq 3 take_while.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Streaming'.
- Test Successful in 0.005s. 47 tests run.
- (cd _build/default/test && ./test_primitives.exe)
- Testing `Parseff Primitives'.
- This run has ID `V46B1UW7'.
-
- [OK] basic 0 consume success.
- [OK] basic 1 consume failure.
- [OK] basic 2 char success.
- [OK] basic 3 char failure.
- [OK] basic 4 satisfy.
- [OK] basic 5 satisfy failure.
- [OK] basic 6 satisfy eof.
- [OK] basic 7 digit.
- [OK] basic 8 letter success.
- [OK] basic 9 letter failure.
- [OK] basic 10 alphanum letter.
- [OK] basic 11 alphanum digit.
- [OK] basic 12 alphanum failure.
- [OK] basic 13 any_char.
- [OK] sequencing 0 sequence.
- [OK] sequencing 1 alternation left.
- [OK] sequencing 2 alternation right.
- [OK] sequencing 3 alternation failure.
- [OK] sequencing 4 one_of success.
- [OK] sequencing 5 one_of failure.
- [OK] repetition 0 many empty.
- [OK] repetition 1 many several.
- [OK] repetition 2 many1 success.
- [OK] repetition 3 many1 failure.
- [OK] repetition 4 optional some.
- [OK] repetition 5 optional none.
- [OK] repetition 6 count.
- [OK] repetition 7 count insufficient.
- [OK] separators 0 sep_by empty.
- [OK] separators 1 sep_by one.
- [OK] separators 2 sep_by several.
- [OK] separators 3 between.
- [OK] separators 4 between missing close.
- [OK] separators 5 end_by.
- [OK] separators 6 end_by empty.
- [OK] separators 7 end_by1 failure.
- [OK] separators 8 end_by1 success.
- [OK] separators 9 fold_left left assoc.
- [OK] separators 10 fold_right right assoc.
- [OK] separators 11 fold_left otherwise.
- [OK] separators 12 fold_left non-otherwise.
- [OK] separators 13 fold_right otherwise.
- [OK] separators 14 fold_right non-otherwise.
- [OK] separators 15 fold_left requires one.
- [OK] separators 16 fold_right requires one.
- [OK] special 0 end_of_input success.
- [OK] special 1 end_of_input failure.
- [OK] special 2 look_ahead success.
- [OK] special 3 look_ahead no consume.
- [OK] special 4 look_ahead failure.
- [OK] special 5 skip_while.
- [OK] expect 0 relabels parse error.
- [OK] expect 1 success passthrough.
- [OK] expect 2 user error passthrough.
- [OK] expect 3 relabels or_ error.
- [OK] one_of_labeled 0 success.
- [OK] one_of_labeled 1 failure message.
- [OK] one_of_labeled 2 user error passthrough.
- [OK] error combinator 0 custom error type.
- [OK] error combinator 1 distinct from fail.
- [OK] fail / Failure semantics 0 fail produces Failure.
- [OK] fail / Failure semantics 1 Failure punches through...
- [OK] fail / Failure semantics 2 Expected caught by or_.
- [OK] fail / Failure semantics 3 Failure punches through...
- [OK] fail / Failure semantics 4 Failure punches through...
- [OK] fail / Failure semantics 5 Failure punches through...
- [OK] fail / Failure semantics 6 Failure punches through...
- [OK] fail / Failure semantics 7 Failure punches through...
- [OK] fail / Failure semantics 8 consume produces Expected.
- [OK] fail / Failure semantics 9 satisfy produces Expected.
- [OK] fail / Failure semantics 10 one_of produces Expected.
- [OK] fail / Failure semantics 11 take_while at_least pro...
- [OK] fail / Failure semantics 12 Failure with streaming.
- [OK] fail / Failure semantics 13 Failure punches through...
- [OK] catch 0 recovers from Failure.
- [OK] catch 1 passthrough on success.
- [OK] catch 2 does not catch Expected.
- [OK] catch 3 enables backtracking.
- [OK] catch 4 handler receives message.
- [OK] catch 5 works with streaming.
- [OK] whitespace 0 whitespace.
- [OK] whitespace 1 whitespace empty.
- [OK] whitespace 2 whitespace1 success.
- [OK] whitespace 3 whitespace1 failure.
- [OK] match_regex 0 success.
- [OK] match_regex 1 failure.
- [OK] match_regex 2 anchored at position.
- [OK] fused operations 0 sep_by_take empty.
- [OK] fused operations 1 sep_by_take single.
- [OK] fused operations 2 sep_by_take several.
- [OK] fused operations 3 sep_by_take_span empty.
- [OK] fused operations 4 sep_by_take_span several.
- [OK] fused operations 5 fused_sep_take success.
- [OK] fused operations 6 fused_sep_take missing ...
- [OK] fused operations 7 fused_sep_take missing ...
- [OK] fused operations 8 take_while_span.
- [OK] fused operations 9 take_while_span empty.
- [OK] diagnostics 0 parse non-enforcing.
- [OK] diagnostics 1 parse_until_end require...
- [OK] diagnostics 2 collect diagnostics.
- [OK] diagnostics 3 rollback on or.
- [OK] diagnostics 4 rollback on look_ahead.
- [OK] diagnostics 5 rollback on many stop.
- [OK] diagnostics 6 error includes diagnost...
- [OK] diagnostics 7 preserves end_of_input ...
- [OK] diagnostics 8 warn_at nonzero pos.
- [OK] location 0 at start.
- [OK] location 1 after consume.
- [OK] location 2 multiline.
- [OK] location 3 column resets after new...
- [OK] location 4 multiple calls.
- [OK] location 5 at newline boundary.
- [OK] location 6 after backtracking.
- [OK] location 7 empty input.
- [OK] location 8 with position.
- [OK] location_of_position 0 basic.
- [OK] location_of_position 1 empty input.
- [OK] location_of_position 2 single line.
-
- Full test results in `~/.opam/5.4/.opam-switch/build/parseff.0.3.0/_build/default/test/_build/_tests/Parseff Primitives'.
- Test Successful in 0.009s. 118 tests run.
-> compiled parseff.0.3.0
-> removed parseff.0.3.0
-> installed parseff.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-24 14:45.15 ---> saved as "0d6137f680dd2a0c4f8070e0914bbb03d0e5325e9ed1fcc3a1c58b90c48dffaa"
Job succeeded
2026-03-24 14:45.22: Job succeeded