(for PR #29199)
2026-01-08 10:46.46: New job: build canary.0.0.4, using opam 2.0
from https://github.com/ocaml/opam-repository.git#refs/pull/29199/head (be591f42548c59a230f63d940107d64de3c89e82)
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/29199/head" && git reset --hard be591f42
git fetch origin master
git merge --no-edit c12c1ea9e7887cc07f2ab967d2eb85c54386ae57
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:fc4475154a81e45c7a4fe10ae1ce9017b16705b50ae99ec37ca5504484b8ff17
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.0 /usr/bin/opam
RUN opam init --reinit -ni
RUN 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 depext -u || true
RUN opam pin add -k version -yn canary.0.0.4 0.0.4
RUN opam depext canary.0.0.4 && opam reinstall canary.0.0.4; \
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" != 'canary.0.0.4' && 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-01-08 10:46.46: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:fc4475154a81e45c7a4fe10ae1ce9017b16705b50ae99ec37ca5504484b8ff17-canary.0.0.4-be591f42548c59a230f63d940107d64de3c89e82"
2026-01-08 10:46.46: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:fc4475154a81e45c7a4fe10ae1ce9017b16705b50ae99ec37ca5504484b8ff17)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-2.0 /usr/bin/opam"))
(run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
(run (shell "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 depext -u || true"))
(run (shell "opam pin add -k version -yn canary.0.0.4 0.0.4"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext canary.0.0.4 && opam reinstall canary.0.0.4;\
\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\" != 'canary.0.0.4' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-01-08 10:46.46: Waiting for resource in pool OCluster
2026-01-08 10:46.46: Waiting for worker…
2026-01-08 10:46.47: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at c12c1ea9e7 Merge pull request #29156 from raphael-proust/kinetic-client-001-build-fail
Updating c12c1ea9e7..be591f4254
Fast-forward
packages/canary/canary.0.0.4/opam | 57 +++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
create mode 100644 packages/canary/canary.0.0.4/opam
(from ocaml/opam:debian-13-ocaml-5.4@sha256:fc4475154a81e45c7a4fe10ae1ce9017b16705b50ae99ec37ca5504484b8ff17)
2026-01-08 10:47.36 ---> saved as "03f0951594c938350775771f8c8fede6d107f2d2eee244220b7b8b4b1567de6e"
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.0 /usr/bin/opam"))
2026-01-08 10:47.37 ---> saved as "d0a102f0ee5719f017d525660f804b5bd50657b9e3bf47bb77f614a94ec4d58b"
/home/opam: (run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
[NOTE] Will configure 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.
[WARNING] Recommended dependencies -- most packages rely on these:
- m4
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
default (at git+file:///home/opam/opam-repository):
[INFO] opam 2.1 and 2.2 include many performance and security improvements over 2.0; please consider upgrading (https://opam.ocaml.org/doc/Install.html)
2026-01-08 10:48.31 ---> saved as "b30c55f483aea5e3be102714cfe9d437ae5c9dfdc868e1517d48d086e497cd6e"
/home/opam: (run (shell "opam config report"))
# opam config report
# opam-version 2.0.10 (adc1e1829a2bef5b240746df80341b508290fe3b)
# self-upgrade no
# system arch=x86_64 os=linux os-distribution=debian os-version=13
# solver builtin-mccs+glpk
# install-criteria -removed,-count[version-lag,request],-count[version-lag,changed],-changed
# upgrade-criteria -removed,-count[version-lag,solution],-new
# jobs 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 5.4
2026-01-08 10:48.32 ---> saved as "01664fcb3b8e7d95bae2fb39b5d41044c8f1a71e513ab9bfd064ade40a8fbbf9"
/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-01-08 10:48.47 ---> saved as "7ea3c6207b841ea54b304c816b9f3c4bb8fc5cb638ea4cae95e83003ea62e4b1"
/home/opam: (copy (src .) (dst opam-repository/))
2026-01-08 10:49.17 ---> saved as "877c0eddb51a5ce7007ea3ab36d6b5a66555ac9e631e5a27ab0fcf8122c6e7df"
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
default (at file:///home/opam/opam-repository):
[INFO] opam 2.1 and 2.2 include many performance and security improvements over 2.0; please consider upgrading (https://opam.ocaml.org/doc/Install.html)
2026-01-08 10:49.28 ---> saved as "bcf388f948dfff37f5313030ca60156ea2b38b63c019030ca9aed516c136700e"
/home/opam: (run (network host)
(shell "opam depext -u || true"))
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# No extra OS packages requirements found.
# All required OS packages found.
The following command needs to be run through "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 [94.5 kB]
Fetched 185 kB in 0s (1513 kB/s)
Reading package lists...
# OS package update successful
2026-01-08 10:49.30 ---> saved as "105a5b66482247f0902b4ef9529ed59f50842b35c7f66797fae7042df5d13c96"
/home/opam: (run (shell "opam pin add -k version -yn canary.0.0.4 0.0.4"))
canary is now pinned to version 0.0.4
2026-01-08 10:49.30 ---> saved as "21aef0aca6407c7611f8436bf3d04e758a429c73ab699fcd040d3e6e76655b3a"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext canary.0.0.4 && opam reinstall canary.0.0.4;\
\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\" != 'canary.0.0.4' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
libgmp-dev
pkg-config
# The following system packages are needed:
The following command needs to be run through "sudo":
apt-get install -qq -yy libgmp-dev pkg-config
Selecting previously unselected package libgmpxx4ldbl:amd64.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20653 files and directories currently installed.)
Preparing to unpack .../0-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_amd64.deb ...
Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
Selecting previously unselected package libgmp-dev:amd64.
Preparing to unpack .../1-libgmp-dev_2%3a6.3.0+dfsg-3_amd64.deb ...
Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
Selecting previously unselected package libpkgconf3:amd64.
Preparing to unpack .../2-libpkgconf3_1.8.1-4_amd64.deb ...
Unpacking libpkgconf3:amd64 (1.8.1-4) ...
Selecting previously unselected package pkgconf-bin.
Preparing to unpack .../3-pkgconf-bin_1.8.1-4_amd64.deb ...
Unpacking pkgconf-bin (1.8.1-4) ...
Selecting previously unselected package pkgconf:amd64.
Preparing to unpack .../4-pkgconf_1.8.1-4_amd64.deb ...
Unpacking pkgconf:amd64 (1.8.1-4) ...
Selecting previously unselected package pkg-config:amd64.
Preparing to unpack .../5-pkg-config_1.8.1-4_amd64.deb ...
Unpacking pkg-config:amd64 (1.8.1-4) ...
Setting up libpkgconf3:amd64 (1.8.1-4) ...
Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
Setting up pkgconf-bin (1.8.1-4) ...
Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
Setting up pkgconf:amd64 (1.8.1-4) ...
Setting up pkg-config:amd64 (1.8.1-4) ...
Processing triggers for libc-bin (2.41-12) ...
# OS packages installation successful
canary.0.0.4 is not installed. Install it? [Y/n] y
The following actions will be performed:
- install ocamlbuild 0.16.1 [required by ptime]
- install cmdliner 1.3.0 [required by cohttp-lwt-unix]
- install num 1.6 [required by sexplib]
- install ocamlfind 1.9.8 [required by ptime]
- install dune 3.20.2 [required by canary]
- install topkg 1.1.1 [required by ptime]
- install base-bytes base [required by cohttp]
- install yojson 3.0.0 [required by canary]
- install stringext 1.6.0 [required by cohttp]
- install stdlib-shims 0.3.0 [required by ppxlib]
- install sexplib0 v0.17.0 [required by cohttp, cohttp-lwt]
- install re 1.14.0 [required by cohttp]
- install ppx_derivers 1.2.1 [required by ppx_deriving]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
- install ocaml-compiler-libs v0.17.0 [required by ppxlib]
- install ocaml_intrinsics_kernel v0.17.1 [required by base]
- install magic-mime 1.3.1 [required by cohttp-lwt-unix]
- install macaddr 5.6.1 [required by ipaddr]
- install either 1.0.0 [required by containers]
- install domain-name 0.5.0 [required by ipaddr]
- install csexp 1.5.2 [required by dune-configurator]
- install cppo 1.8.0 [required by ppx_deriving]
- install base64 3.5.2 [required by cohttp]
- install uutf 1.0.4 [required by jsonm]
- install ptime 1.2.0 [required by canary]
- install fmt 0.11.0 [required by cohttp-lwt-unix]
- install astring 0.8.5 [required by conduit]
- install parsexp v0.17.0 [required by sexplib]
- install ppxlib 0.37.0 [required by lwt_ppx, ppx_deriving_yojson]
- install ipaddr 5.6.1 [required by conduit-lwt-unix]
- install dune-configurator 3.20.2 [required by containers]
- install ocplib-endian 1.2 [required by lwt]
- install jsonm 1.0.2 [required by cohttp]
- install sexplib v0.17.0 [required by conduit-lwt]
- install ppxlib_jane v0.17.4 [required by ppx_sexp_conv]
- install ppx_deriving 6.1.1 [required by ppx_deriving_yojson]
- install containers 3.16 [required by canary]
- install bigstringaf 0.10.0 [required by angstrom]
- install base v0.17.3 [required by ppx_sexp_conv]
- install lwt 5.9.2 [required by canary]
- install ppx_deriving_yojson 3.10.0 [required by canary]
- install angstrom 0.16.1 [required by uri]
- install ppx_sexp_conv v0.17.1 [required by cohttp-lwt, cohttp, cohttp-lwt-unix]
- install lwt_ppx 5.9.2 [required by canary]
- install logs 0.10.0 [required by cohttp-lwt, cohttp-lwt-unix]
- install uri 4.4.0 [required by cohttp, cohttp-lwt]
- install ipaddr-sexp 5.6.1 [required by conduit-lwt-unix]
- install uri-sexp 4.4.0 [required by cohttp]
- install conduit 2.1.0 [required by conduit-lwt]
- install cohttp 4.0.0 [required by canary]
- install conduit-lwt 2.1.0 [required by cohttp-lwt-unix]
- install cohttp-lwt 4.0.0 [required by canary]
- install conduit-lwt-unix 2.2.2 [required by cohttp-lwt-unix]
- install cohttp-lwt-unix 4.0.0 [required by canary]
- install canary 0.0.4*
===== 55 to install =====
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[angstrom.0.16.1] found in cache
[astring.0.8.5] found in cache
[base.v0.17.3] found in cache
[base64.3.5.2] found in cache
[bigstringaf.0.10.0] found in cache
[canary.0.0.4] found in cache
[cmdliner.1.3.0] found in cache
[cohttp.4.0.0] found in cache
[cohttp-lwt.4.0.0] found in cache
[cohttp-lwt-unix.4.0.0] found in cache
[conduit.2.1.0] found in cache
[conduit-lwt.2.1.0] found in cache
[conduit-lwt-unix.2.2.2] found in cache
[containers.3.16] found in cache
[cppo.1.8.0] found in cache
[csexp.1.5.2] found in cache
[domain-name.0.5.0] found in cache
[dune.3.20.2] found in cache
[dune-configurator.3.20.2] found in cache
[either.1.0.0] found in cache
[fmt.0.11.0] found in cache
[ipaddr.5.6.1] found in cache
[ipaddr-sexp.5.6.1] found in cache
[jsonm.1.0.2] found in cache
[logs.0.10.0] found in cache
[lwt.5.9.2] found in cache
[lwt_ppx.5.9.2] found in cache
[macaddr.5.6.1] found in cache
[magic-mime.1.3.1] found in cache
[num.1.6] found in cache
[ocaml-compiler-libs.v0.17.0] found in cache
[ocaml-syntax-shims.1.0.0] found in cache
[ocaml_intrinsics_kernel.v0.17.1] found in cache
[ocamlbuild.0.16.1] found in cache
[ocamlfind.1.9.8] found in cache
[ocplib-endian.1.2] found in cache
[parsexp.v0.17.0] found in cache
[ppx_derivers.1.2.1] found in cache
[ppx_deriving.6.1.1] found in cache
[ppx_deriving_yojson.3.10.0] found in cache
[ppx_sexp_conv.v0.17.1] found in cache
[ppxlib.0.37.0] found in cache
[ppxlib_jane.v0.17.4] found in cache
[ptime.1.2.0] found in cache
[re.1.14.0] found in cache
[sexplib.v0.17.0] found in cache
[sexplib0.v0.17.0] found in cache
[stdlib-shims.0.3.0] found in cache
[stringext.1.6.0] found in cache
[topkg.1.1.1] found in cache
[uri.4.4.0] found in cache
[uri-sexp.4.4.0] found in cache
[uutf.1.0.4] found in cache
[yojson.3.0.0] found in cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed num.1.6
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed jsonm.1.0.2
-> installed dune.3.20.2
-> installed base64.3.5.2
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed domain-name.0.5.0
-> installed either.1.0.0
-> installed macaddr.5.6.1
-> installed magic-mime.1.3.1
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed ppx_derivers.1.2.1
-> installed re.1.14.0
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> installed yojson.3.0.0
-> installed ocplib-endian.1.2
-> installed ipaddr.5.6.1
-> installed parsexp.v0.17.0
-> installed dune-configurator.3.20.2
-> installed sexplib.v0.17.0
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed containers.3.16
-> installed lwt.5.9.2
-> installed uri.4.4.0
-> installed base.v0.17.3
-> installed logs.0.10.0
-> installed ppxlib.0.37.0
-> installed ppxlib_jane.v0.17.4
-> installed lwt_ppx.5.9.2
-> installed ppx_deriving.6.1.1
-> installed ppx_sexp_conv.v0.17.1
-> installed ppx_deriving_yojson.3.10.0
-> installed ipaddr-sexp.5.6.1
-> installed uri-sexp.4.4.0
-> installed conduit.2.1.0
-> installed cohttp.4.0.0
-> installed conduit-lwt.2.1.0
-> installed cohttp-lwt.4.0.0
-> installed conduit-lwt-unix.2.2.2
-> installed cohttp-lwt-unix.4.0.0
-> installed canary.0.0.4
Done.
# Run eval $(opam env) to update the current shell environment
2026-01-08 10:50.58 ---> saved as "680fde1cc48a3e7eb2783fc8458072f44903f6448d561d3817ff1ab28ae8e136"
Job succeeded
2026-01-08 10:51.06: Job succeeded