(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