(for PR #29312)

2026-01-30 20:43.28: New job: build matrix.0.1.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29312/head (4219a994291bbd7606c64e62833ff523b0ca72c2)
                              on debian-unstable-ocaml-4.14/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29312/head" && git reset --hard 4219a994
git fetch origin master
git merge --no-edit 0758d335cb8d1367e501844fb86be0b07e4918ac
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-unstable-ocaml-4.14@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3
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 matrix.0.1.0 0.1.0
RUN opam reinstall matrix.0.1.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-unstable\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'matrix.0.1.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-01-30 20:43.28: Using cache hint "ocaml/opam:debian-unstable-ocaml-4.14@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3-matrix.0.1.0-4219a994291bbd7606c64e62833ff523b0ca72c2"
2026-01-30 20:43.28: Using OBuilder spec:
((from ocaml/opam:debian-unstable-ocaml-4.14@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3)
 (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 matrix.0.1.0 0.1.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall matrix.0.1.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-unstable\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'matrix.0.1.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-01-30 20:43.28: Waiting for resource in pool OCluster
2026-01-30 20:59.41: Waiting for worker…
2026-01-30 21:01.31: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
HEAD is now at 0758d335cb Merge pull request #29298 from raphael-proust/opam-publish-lwt_ppx.5.9.3
Updating 0758d335cb..4219a99429
Fast-forward
 packages/matrix/matrix.0.1.0/opam | 42 +++++++++++++++++++++++++++++++++++
 packages/mosaic/mosaic.0.1.0/opam | 46 +++++++++++++++++++++++++++++++++++++++
 packages/toffee/toffee.0.1.0/opam | 41 ++++++++++++++++++++++++++++++++++
 3 files changed, 129 insertions(+)
 create mode 100644 packages/matrix/matrix.0.1.0/opam
 create mode 100644 packages/mosaic/mosaic.0.1.0/opam
 create mode 100644 packages/toffee/toffee.0.1.0/opam

(from ocaml/opam:debian-unstable-ocaml-4.14@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3)
Unable to find image 'ocaml/opam:debian-unstable-ocaml-4.14@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3' locally
docker.io/ocaml/opam@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3: Pulling from ocaml/opam
8e36c1fbb8f9: Pulling fs layer
c20c78184d0b: Pulling fs layer
0ab87efdff82: Pulling fs layer
8e36c1fbb8f9: Waiting
c20c78184d0b: Waiting
c7b76e160f19: Pulling fs layer
0ab87efdff82: Waiting
0f33b0437075: Pulling fs layer
c7b76e160f19: Waiting
44cfe50ed87a: Pulling fs layer
0f33b0437075: Waiting
3d8bc88e8e4c: Pulling fs layer
44cfe50ed87a: Waiting
031ad32a4764: Pulling fs layer
3d8bc88e8e4c: Waiting
295120677902: Pulling fs layer
031ad32a4764: Waiting
cabfd3ab2227: Pulling fs layer
295120677902: Waiting
3ec86e62252b: Pulling fs layer
cabfd3ab2227: Waiting
f2d973a9ea0c: Pulling fs layer
3ec86e62252b: Waiting
e142f6d653d9: Pulling fs layer
f2d973a9ea0c: Waiting
bfa8af2cae08: Pulling fs layer
e142f6d653d9: Waiting
2fb4252d438b: Pulling fs layer
bfa8af2cae08: Waiting
3dc003ec4a15: Pulling fs layer
2fb4252d438b: Waiting
a1c5fc4b0323: Pulling fs layer
3dc003ec4a15: Waiting
a1c5fc4b0323: Waiting
27c2974c0836: Pulling fs layer
0adec8edeba9: Pulling fs layer
27c2974c0836: Waiting
1ee2afe62a1f: Pulling fs layer
0adec8edeba9: Waiting
320d8966c06c: Pulling fs layer
1ee2afe62a1f: Waiting
4f4fb700ef54: Pulling fs layer
320d8966c06c: Waiting
6f46e7a21dfb: Pulling fs layer
4f4fb700ef54: Waiting
75f876a0c9c9: Pulling fs layer
6f46e7a21dfb: Waiting
7adc49118e74: Pulling fs layer
6fa679934aac: Pulling fs layer
75f876a0c9c9: Waiting
7adc49118e74: Waiting
3c2cea696b77: Pulling fs layer
6fa679934aac: Waiting
946ea8df89a5: Pulling fs layer
ea4ceee206ec: Pulling fs layer
3c2cea696b77: Waiting
946ea8df89a5: Waiting
af006056acfa: Pulling fs layer
ea4ceee206ec: Waiting
f2f172888897: Pulling fs layer
af006056acfa: Waiting
b9eb7fecff88: Pulling fs layer
f2f172888897: Waiting
4f6f96a895ac: Pulling fs layer
b9eb7fecff88: Waiting
37ea2e18a637: Pulling fs layer
4f6f96a895ac: Waiting
d87b300d67ee: Pulling fs layer
37ea2e18a637: Waiting
a59ee9329bab: Pulling fs layer
d87b300d67ee: Waiting
4212f74b60d4: Pulling fs layer
a59ee9329bab: Waiting
9877fdbac800: Pulling fs layer
4212f74b60d4: Waiting
8307839fea85: Pulling fs layer
9877fdbac800: Waiting
e9583d893c2d: Pulling fs layer
8307839fea85: Waiting
5b29f89d3652: Pulling fs layer
e9583d893c2d: Waiting
9ca655c6be6a: Pulling fs layer
5b29f89d3652: Waiting
54b74f77638e: Pulling fs layer
9ca655c6be6a: Waiting
781131be3ab9: Pulling fs layer
781131be3ab9: Waiting
8e36c1fbb8f9: Verifying Checksum
8e36c1fbb8f9: Download complete
c20c78184d0b: Verifying Checksum
c20c78184d0b: Download complete
0ab87efdff82: Download complete
c7b76e160f19: Verifying Checksum
c7b76e160f19: Download complete
0f33b0437075: Verifying Checksum
0f33b0437075: Download complete
8e36c1fbb8f9: Pull complete
c20c78184d0b: Pull complete
0ab87efdff82: Pull complete
c7b76e160f19: Pull complete
0f33b0437075: Pull complete
44cfe50ed87a: Verifying Checksum
44cfe50ed87a: Download complete
3d8bc88e8e4c: Verifying Checksum
3d8bc88e8e4c: Download complete
031ad32a4764: Verifying Checksum
031ad32a4764: Download complete
295120677902: Verifying Checksum
295120677902: Download complete
cabfd3ab2227: Download complete
3ec86e62252b: Verifying Checksum
3ec86e62252b: Download complete
f2d973a9ea0c: Download complete
e142f6d653d9: Verifying Checksum
e142f6d653d9: Download complete
bfa8af2cae08: Verifying Checksum
bfa8af2cae08: Download complete
2fb4252d438b: Verifying Checksum
2fb4252d438b: Download complete
3dc003ec4a15: Verifying Checksum
3dc003ec4a15: Download complete
a1c5fc4b0323: Verifying Checksum
a1c5fc4b0323: Download complete
27c2974c0836: Verifying Checksum
27c2974c0836: Download complete
0adec8edeba9: Download complete
1ee2afe62a1f: Download complete
320d8966c06c: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
6f46e7a21dfb: Verifying Checksum
6f46e7a21dfb: Download complete
75f876a0c9c9: Verifying Checksum
7adc49118e74: Verifying Checksum
7adc49118e74: Download complete
6fa679934aac: Verifying Checksum
6fa679934aac: Download complete
3c2cea696b77: Verifying Checksum
3c2cea696b77: Download complete
946ea8df89a5: Download complete
ea4ceee206ec: Verifying Checksum
ea4ceee206ec: Download complete
af006056acfa: Verifying Checksum
af006056acfa: Download complete
f2f172888897: Verifying Checksum
b9eb7fecff88: Verifying Checksum
b9eb7fecff88: Download complete
4f6f96a895ac: Verifying Checksum
4f6f96a895ac: Download complete
44cfe50ed87a: Pull complete
37ea2e18a637: Verifying Checksum
37ea2e18a637: Download complete
3d8bc88e8e4c: Pull complete
031ad32a4764: Pull complete
295120677902: Pull complete
cabfd3ab2227: Pull complete
3ec86e62252b: Pull complete
f2d973a9ea0c: Pull complete
e142f6d653d9: Pull complete
d87b300d67ee: Verifying Checksum
d87b300d67ee: Download complete
a59ee9329bab: Verifying Checksum
a59ee9329bab: Download complete
bfa8af2cae08: Pull complete
2fb4252d438b: Pull complete
3dc003ec4a15: Pull complete
a1c5fc4b0323: Pull complete
4212f74b60d4: Verifying Checksum
4212f74b60d4: Download complete
9877fdbac800: Download complete
8307839fea85: Verifying Checksum
8307839fea85: Download complete
e9583d893c2d: Download complete
5b29f89d3652: Verifying Checksum
5b29f89d3652: Download complete
9ca655c6be6a: Verifying Checksum
9ca655c6be6a: Download complete
54b74f77638e: Verifying Checksum
54b74f77638e: Download complete
781131be3ab9: Download complete
27c2974c0836: Pull complete
0adec8edeba9: Pull complete
1ee2afe62a1f: Pull complete
320d8966c06c: Pull complete
4f4fb700ef54: Pull complete
6f46e7a21dfb: Pull complete
75f876a0c9c9: Pull complete
7adc49118e74: Pull complete
6fa679934aac: Pull complete
3c2cea696b77: Pull complete
946ea8df89a5: Pull complete
ea4ceee206ec: Pull complete
af006056acfa: Pull complete
f2f172888897: Pull complete
b9eb7fecff88: Pull complete
4f6f96a895ac: Pull complete
37ea2e18a637: Pull complete
d87b300d67ee: Pull complete
a59ee9329bab: Pull complete
4212f74b60d4: Pull complete
9877fdbac800: Pull complete
8307839fea85: Pull complete
e9583d893c2d: Pull complete
5b29f89d3652: Pull complete
9ca655c6be6a: Pull complete
54b74f77638e: Pull complete
781131be3ab9: Pull complete
Digest: sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3
Status: Downloaded newer image for ocaml/opam@sha256:7a3c4163adaf6dadb34dbdd5682171ec9bd7c4a4d70768ebe5a4a0ce839745b3
2026-01-30 21:02.09 ---> using "891f985cd77030cf3a33dee0fffeb13398372502580280ad9998d21006608a7b" 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-01-30 21:02.09 ---> using "a9dffa963d0be48509c6f069535a8ab7eb3e37551f167a935235d7801a627c13" 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-01-30 21:02.09 ---> using "23e1f4f3d34b4fd274591f0e65a4ff4619e41616a37f67cd5552557049e46096" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=unknown
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 71
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       4.14
# invariant            ["ocaml-base-compiler" {= "4.14.2"}]
# compiler-packages    ocaml-base-compiler.4.14.2, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.14.2
2026-01-30 21:02.09 ---> using "69904d6a5c16c07cae70c056836d63a7bf15c2c53fef4ae24ef99c7dbd98c032" 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-01-30 21:02.09 ---> using "1a2fe855c1458f39bfde7510d41f9d88f13ffbde255c5aa99ef32d86a8c57181" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-01-30 21:02.23 ---> saved as "654b90d991382584e2609534a0823fc01934c6e693f50259c6136561a8e8f92c"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-01-30 21:02.43 ---> saved as "c9a9b92cbca61051c430be9103e5bc4f445d0acccf3232e854f4086d839a6cbc"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian unstable InRelease [187 kB]
- Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2026-01-30-2002.22-F-2026-01-16-2009.15.pdiff [1554 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2026-01-30-2002.22-F-2026-01-16-2009.15.pdiff [1554 kB]
- Fetched 1804 kB in 3s (649 kB/s)
- Reading package lists...
- 
2026-01-30 21:02.47 ---> saved as "e434f7587efbcdddf8a6ceaec65fb9673ca04a4025053e1e51325b9f840a377b"

/home/opam: (run (shell "opam pin add -k version -yn matrix.0.1.0 0.1.0"))
matrix is now pinned to version 0.1.0
2026-01-30 21:02.48 ---> saved as "6cc1c382fed3d77c8b049a7ed5545dd438dd6f7608f32bdad9635d819bd04439"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall matrix.0.1.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-unstable\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'matrix.0.1.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
matrix.0.1.0 is not installed. Install it? [Y/n] y
  * Incompatible packages:
    - (invariant) -> ocaml-base-compiler = 4.14.2
    - matrix -> ocaml >= 5.4 -> ocaml-variants < 5.5.1~
    You can temporarily relax the switch invariant with `--update-invariant'
  * Missing dependency:
    - matrix -> ocaml >= 5.4 -> ocaml-variants < 5.5.1~ -> ocaml-beta
    unmet availability conditions: 'enable-ocaml-beta-repository'
  * Missing dependency:
    - matrix -> ocaml >= 5.4 -> ocaml-variants < 5.5.1~ -> system-msvc
    unmet availability conditions: 'os = "win32"'

No solution found, exiting
"/usr/bin/env" "bash" "-c" "opam reinstall matrix.0.1.0;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-unstable\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'matrix.0.1.0' && partial_fails="$partial_fails $pkg";
        done;
        test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
        exit 1" failed with exit status 20
2026-01-30 21:03.39: Job failed: Failed: Build failed
2026-01-30 21:03.39: Log analysis:
2026-01-30 21:03.39: >>> 
No solution found, exiting
 (score = 100)
2026-01-30 21:03.39: [SKIP] Package not available