(for PR #28917)

2025-11-18 13:14.28: New job: build salto-analyzer.0.2, using opam 2.1
                              from https://github.com/ocaml/opam-repository.git#refs/pull/28917/head (3a30a99940d7e265723c7b3f522a70efdb9ec65a)
                              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/28917/head" && git reset --hard 3a30a999
git fetch origin master
git merge --no-edit 1c92c86556d4b9c73229d94763be9715317321bc
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.1 /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 salto-analyzer.0.2 0.2
RUN opam reinstall salto-analyzer.0.2; \
    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" != 'salto-analyzer.0.2' && 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 .

2025-11-18 13:14.28: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f-salto-analyzer.0.2-3a30a99940d7e265723c7b3f522a70efdb9ec65a"
2025-11-18 13:14.28: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-2.1 /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 salto-analyzer.0.2 0.2"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall salto-analyzer.0.2;\
             \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\" != 'salto-analyzer.0.2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2025-11-18 13:14.28: Waiting for resource in pool OCluster
2025-11-18 13:14.28: Waiting for worker…
2025-11-18 13:14.30: Got resource from pool OCluster
Building on clete
All commits already cached
Updating files:  96% (18162/18769)
Updating files:  97% (18206/18769)
Updating files:  98% (18394/18769)
Updating files:  99% (18582/18769)
Updating files: 100% (18769/18769)
Updating files: 100% (18769/18769), done.
HEAD is now at 1c92c86556 Merge pull request #28847 from nikochiko/opam-publish-raga.0.1.0
Updating 1c92c86556..3a30a99940
Fast-forward
 packages/salto-analyzer/salto-analyzer.0.2/opam | 64 +++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 packages/salto-analyzer/salto-analyzer.0.2/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f' locally
docker.io/ocaml/opam@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f: Pulling from ocaml/opam
13cc39f8244a: Already exists
9d7c1cac6af4: Already exists
979e6521bf84: Already exists
b129e961d700: Already exists
9288fc69cd29: Already exists
b232c90b1855: Already exists
658a78f60f44: Already exists
b3e6010fbc4c: Already exists
e75ac7b73fdb: Already exists
f1dbfc01d8b6: Already exists
42e8958c94a5: Already exists
1c77fd15fa4b: Already exists
f8ae0ec2765e: Already exists
87b5808a8709: Already exists
6551add7b2f4: Already exists
a050a941214a: Already exists
da6cadefa7ea: Already exists
0a3e89137cf8: Already exists
cc34154fc322: Already exists
eb7661180f3a: Already exists
faad806bf7c5: Already exists
4f4fb700ef54: Already exists
fe5692607199: Already exists
caa548e7f855: Already exists
8ad66e641b14: Already exists
b9d5d27dc0b6: Already exists
788961b65661: Already exists
9ed95272e11f: Already exists
82c1497059a3: Already exists
8abbeded2fb9: Already exists
1276181ef5dc: Already exists
0bd63c9342a5: Already exists
0294cf425d8c: Already exists
def43d8fc04c: Already exists
c87ed18f9ca6: Already exists
056f995b50a2: Already exists
c9f03af6c585: Already exists
4e0df0b17574: Already exists
1fcd55c53252: Already exists
9fe15f147c9c: Already exists
6aba0bde3b08: Already exists
eb47c999a07f: Already exists
c3b5761e8351: Already exists
cb4d7f22a33c: Pulling fs layer
e164f89870e6: Pulling fs layer
cfbece6412d9: Pulling fs layer
351f77100e84: Pulling fs layer
cfbece6412d9: Waiting
351f77100e84: Waiting
e164f89870e6: Verifying Checksum
e164f89870e6: Download complete
cfbece6412d9: Verifying Checksum
cfbece6412d9: Download complete
351f77100e84: Download complete
cb4d7f22a33c: Verifying Checksum
cb4d7f22a33c: Download complete
cb4d7f22a33c: Pull complete
e164f89870e6: Pull complete
cfbece6412d9: Pull complete
351f77100e84: Pull complete
Digest: sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f
Status: Downloaded newer image for ocaml/opam@sha256:57c83c9f9a1885d6982e64ff7d1de47223738f31f635056b0165042eaec3081f
2025-11-18 13:15.18 ---> using "9e1915ffb50e2d100090b64fd44ae95ca325d8eb9d61c3d158d7a2820cdf10df" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam"))
2025-11-18 13:15.18 ---> using "85a2c24e2e883b01411c14cf5f90430901390d22ad6d06421da8e197353377aa" 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 development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.1, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-11-18 13:15.18 ---> using "39890f27132a74fff318a6ed19086653ce6f1760619cb89c57ba857a28d749bd" 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.1.6 (263921263e1f745613e2882745114b7b08f3608b) 
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     
# upgrade-criteria     
# jobs                 71
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# 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
2025-11-18 13:15.18 ---> using "f5cdb4642a8d355d4e3259b209c9aff36aa19824df5e06d8d76911d046533c61" 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/"))
2025-11-18 13:15.18 ---> using "c9be906e9ddf1de7e4e8c6d6eb34947d19a3a09db9a4939a377d6113d42c29e4" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2025-11-18 13:15.35 ---> saved as "01ab530e47c460e5ddb8bc82b2dd0749e766634a3bd8ffdc6529b24116f2ecf3"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-11-18 13:15.47 ---> saved as "b6f5d82060f588aa7d275dd990f90c272674fc6347e18eb906722f3d084f2b88"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
- 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 trixie/main amd64 Packages [9670 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [71.8 kB]
- Fetched 9973 kB in 1s (7187 kB/s)
- Reading package lists...
- 
2025-11-18 13:15.50 ---> saved as "f3b08d6c1b91873636ccd7bcb914d0a45dccba8d9c8ba3865a1ea4d303ae71af"

/home/opam: (run (shell "opam pin add -k version -yn salto-analyzer.0.2 0.2"))
salto-analyzer is now pinned to version 0.2
2025-11-18 13:15.51 ---> saved as "e19bc05d8d6ccb5537f979cb1f084c980c8b167c7e6c55f502ee710fec2db3c6"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall salto-analyzer.0.2;\
                        \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\" != 'salto-analyzer.0.2' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
salto-analyzer.0.2 is not installed. Install it? [Y/n] y
  * Incompatible packages:
    - (invariant) -> ocaml-base-compiler >= 5.4.0
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> dkml-base-compiler
    You can temporarily relax the switch invariant with `--update-invariant'
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler < 3.07+1 | ocaml-system < 3.07+1 | ocaml-variants < 3.8~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions: 'sys-ocaml-version = "3.07"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.07+1 | ocaml-system = 3.07+1 | ocaml-variants < 3.8~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions: 'sys-ocaml-version = "3.07+1"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.07+2 | ocaml-system = 3.07+2 | ocaml-variants < 3.8~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions: 'sys-ocaml-version = "3.07+2"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.08.0 | ocaml-system >= 3.08.0 | ocaml-variants < 3.08.1~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.0"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.08.1 | ocaml-system >= 3.08.1 | ocaml-variants < 3.08.2~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.1"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.08.2 | ocaml-system >= 3.08.2 | ocaml-variants < 3.08.3~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.2"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.08.3 | ocaml-system >= 3.08.3 | ocaml-variants < 3.08.4~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.3"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.08.4 | ocaml-system >= 3.08.4 | ocaml-variants < 3.08.5~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.4"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-base-compiler = 3.09.0 | ocaml-system >= 3.09.0 | ocaml-variants < 3.09.1~
    not available because the package is pinned to version 5.4.0
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.0"'
    no matching version
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-variants -> ocaml-beta
    unmet availability conditions: 'enable-ocaml-beta-repository'
  * Missing dependency:
    - salto-analyzer >= 0.2 -> saltoIL >= 0.2.0 -> ocaml < 4.15.0 -> ocaml-variants -> system-msvc
    unmet availability conditions: 'os = "win32"'

No solution found, exiting
"/usr/bin/env" "bash" "-c" "opam reinstall salto-analyzer.0.2;
        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" != 'salto-analyzer.0.2' && 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
2025-11-18 13:16.08: Job failed: Failed: Build failed
2025-11-18 13:16.08: Log analysis:
2025-11-18 13:16.08: >>> 
No solution found, exiting
 (score = 100)
2025-11-18 13:16.08: [SKIP] Package not available