(for PR #29830)

2026-04-30 12:44.50: New job: build rocq-stdlib.9.1.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29830/head (7a15accc2f9050d2c7e012666e2f93808daf13c0)
                              on opensuse-tumbleweed-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/29830/head" && git reset --hard 7a15accc
git fetch origin master
git merge --no-edit d1c56642b8ca7e1166c90bfe0c74f38007bbad58
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:opensuse-tumbleweed-ocaml-5.4@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee
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 rocq-stdlib.9.1.0 9.1.0
RUN opam reinstall rocq-stdlib.9.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 "\"opensuse-tumbleweed\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'rocq-stdlib.9.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-04-30 12:44.50: Using cache hint "ocaml/opam:opensuse-tumbleweed-ocaml-5.4@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee-rocq-stdlib.9.1.0-7a15accc2f9050d2c7e012666e2f93808daf13c0"
2026-04-30 12:44.50: Using OBuilder spec:
((from ocaml/opam:opensuse-tumbleweed-ocaml-5.4@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee)
 (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 rocq-stdlib.9.1.0 9.1.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall rocq-stdlib.9.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 \"\\\"opensuse-tumbleweed\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'rocq-stdlib.9.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-04-30 12:44.50: Waiting for resource in pool OCluster
2026-04-30 14:24.31: Waiting for worker…
2026-04-30 14:26.40: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
HEAD is now at d1c56642b8 Merge pull request #29820 from jmid/core-0.17.1-bound
Updating d1c56642b8..7a15accc2f
Fast-forward
 packages/rocq-stdlib/rocq-stdlib.9.1.0/opam | 39 +++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 packages/rocq-stdlib/rocq-stdlib.9.1.0/opam

(from ocaml/opam:opensuse-tumbleweed-ocaml-5.4@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee)
Unable to find image 'ocaml/opam:opensuse-tumbleweed-ocaml-5.4@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee' locally
docker.io/ocaml/opam@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee: Pulling from ocaml/opam
961546824cd2: Already exists
ebfcb6b5a4cd: Already exists
79497b11780a: Already exists
61e097018e3e: Already exists
effb3ca1abcb: Already exists
052222b8cf77: Already exists
aaf699fc9fdb: Already exists
bf44a77dd60f: Already exists
bb06d2fb98d5: Already exists
9763cfe4baa7: Already exists
05ac39cdf49e: Already exists
20ac8808a929: Already exists
0c7d7182aec7: Already exists
6ec11884b3e7: Already exists
ee753c1f0237: Already exists
9dbc0351d8a2: Already exists
c1f004a1ffe7: Already exists
519d406de032: Already exists
cceb7fc969a5: Already exists
4f4fb700ef54: Already exists
270d9a66b1a0: Already exists
7b3f22abd1b2: Already exists
5f123298dd68: Already exists
12bf96f7bcf2: Already exists
86c76669c60c: Already exists
20c91cb220e3: Already exists
6fcc2c8b4e27: Already exists
eb1923c5439e: Already exists
33e61e89abbe: Already exists
041d725eee91: Already exists
0de9a5f57665: Already exists
f296b1aaee3d: Already exists
9d29f7791dc9: Already exists
24dc056876d6: Already exists
273c107f05e1: Already exists
86fb6217a6aa: Already exists
c898e172cbd4: Already exists
415f38ea5445: Already exists
3ecea8a2aba7: Pulling fs layer
05b86542e8d8: Pulling fs layer
89d36a98f062: Pulling fs layer
b34b484c1593: Pulling fs layer
2a23bf49e3b6: Pulling fs layer
5db9eb0815b4: Pulling fs layer
b34b484c1593: Waiting
f4119528ccec: Pulling fs layer
2a23bf49e3b6: Waiting
5db9eb0815b4: Waiting
f4119528ccec: Waiting
3ecea8a2aba7: Download complete
3ecea8a2aba7: Pull complete
05b86542e8d8: Verifying Checksum
05b86542e8d8: Download complete
2a23bf49e3b6: Verifying Checksum
2a23bf49e3b6: Download complete
05b86542e8d8: Pull complete
5db9eb0815b4: Verifying Checksum
5db9eb0815b4: Download complete
f4119528ccec: Verifying Checksum
f4119528ccec: Download complete
89d36a98f062: Verifying Checksum
89d36a98f062: Download complete
89d36a98f062: Pull complete
b34b484c1593: Verifying Checksum
b34b484c1593: Download complete
b34b484c1593: Pull complete
2a23bf49e3b6: Pull complete
5db9eb0815b4: Pull complete
f4119528ccec: Pull complete
Digest: sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee
Status: Downloaded newer image for ocaml/opam@sha256:036061c20f01ae4c9c74e1bb0cdbed927cde073cb6261ab46f51e999d24e52ee
2026-04-30 14:26.50 ---> using "80ba63ddb5ad8d8f4a8d1680a562510532e361ecbec6d4608a8e41c5f4928859" 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-04-30 14:26.50 ---> using "5c2aa8b3407f9e54824760cb4e29ba4df83a92e9f4f290dbc93e929619f20c9e" 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
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-30 14:26.50 ---> using "cc084dc96d64014c4f0bcc3cb1ae6184b65c687d1a5219ee4d78a6f9bce77927" 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.1
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=opensuse-tumbleweed os-version=20260422
# 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.1"}]
# compiler-packages    ocaml-base-compiler.5.4.1, ocaml-compiler.5.4.1, 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.1
2026-04-30 14:26.50 ---> using "001c4f949e600701f42b53d2968eaa7141d97001f90c78035c946317205253c1" 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-04-30 14:26.50 ---> using "7ccacd53c4b84f15ab0a65815fe28471d8f9d2d9ed8ff76092149847220fa9e9" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-04-30 14:26.58 ---> saved as "c3157a0a0be2097f5a841f1ad0809d908addaf7247a0bc097dff94c0c10f96c3"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-30 14:27.21 ---> saved as "a7e5a7eed9bb084c99d5634360d8b8a170a5c3e311b01081f426bffc4ee8ad30"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "zypper" "--non-interactive" "refresh"
- Repository 'openSUSE-Tumbleweed-Update' is up to date.
- Retrieving repository 'openSUSE-Tumbleweed-Non-Oss' metadata [...
- Looking for gpg keys in repository openSUSE-Tumbleweed-Non-Oss.
-   gpgkey=http://download.opensuse.org/tumbleweed/repo/non-oss/repodata/repomd.xml.key
- ..
- .....done]
- Building repository 'openSUSE-Tumbleweed-Non-Oss' cache [....done]
- Retrieving repository 'openSUSE-Tumbleweed-Oss' metadata [...
- Looking for gpg keys in repository openSUSE-Tumbleweed-Oss.
-   gpgkey=http://download.opensuse.org/tumbleweed/repo/oss/repodata/repomd.xml.key
- .....
- ..........
- ..........
- ..........
- ..........
- .........
- ..........
- ..........
- ..........
- .........
- ..........
- ..........
- ..........
- .......done]
- Building repository 'openSUSE-Tumbleweed-Oss' cache [..
- ..done]
- All repositories have been refreshed.
2026-04-30 14:27.44 ---> saved as "bd58c8316e54c886590761514479a2fcbc09795d1449c03f17a38657377a4879"

/home/opam: (run (shell "opam pin add -k version -yn rocq-stdlib.9.1.0 9.1.0"))
rocq-stdlib is now pinned to version 9.1.0
2026-04-30 14:27.46 ---> saved as "486fe318042cf9e8defabeb83689db5d4ee0938a724a75f65b2ad354e9fb8fdd"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall rocq-stdlib.9.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 \"\\\"opensuse-tumbleweed\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'rocq-stdlib.9.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"))
rocq-stdlib.9.1.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 9 packages
  - install conf-gmp            5              [required by zarith]
  - install conf-linux-libc-dev 0              [required by rocq-runtime]
  - install conf-pkg-config     4              [required by zarith]
  - install dune                3.22.2         [required by rocq-core]
  - install ocamlfind           1.9.8          [required by rocq-runtime]
  - install rocq-core           9.2.0          [required by rocq-stdlib]
  - install rocq-runtime        9.2.0          [required by rocq-stdlib]
  - install rocq-stdlib         9.1.0 (pinned)
  - install zarith              1.14           [required by rocq-runtime]

The following system packages will first need to be installed:
    gmp-devel

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run zypper to install them (may need root/sudo access)
  2. Display the recommended zypper command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "zypper" "--non-interactive" "install" "gmp-devel"
- Loading repository data...
- Reading installed packages...
- Resolving package dependencies...
- 
- The following 2 NEW packages are going to be installed:
-   gmp-devel libgmpxx4
- 
- 2 new packages to install.
- 
- Package download size:   323.4 KiB
- 
- Package install size change:
-               |       1.1 MiB  required by packages that will be installed
-      1.1 MiB  |  -      0 B    released by packages that will be removed
- 
- Backend:  classic_rpmtrans
- Continue? [y/n/v/...? shows all options] (y): y
- Preloading Packages [..
- Preloading: libgmpxx4-6.3.0-5.3.x86_64.rpm [done]
- .
- Preloading: gmp-devel-6.3.0-5.3.x86_64.rpm [done]
- .done]
- Retrieving: libgmpxx4-6.3.0-5.3.x86_64 (openSUSE-Tumbleweed-Oss) (1/2),  17.5 KiB    
- Retrieving: gmp-devel-6.3.0-5.3.x86_64 (openSUSE-Tumbleweed-Oss) (2/2), 306.0 KiB    
- 
- Checking for file conflicts: [..done]
- (1/2) Installing: libgmpxx4-6.3.0-5.3.x86_64 [..done]
- (2/2) Installing: gmp-devel-6.3.0-5.3.x86_64 [..done]
- Running post-transaction scripts [...done]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved conf-gmp.5  (cached)
-> installed conf-gmp.5
-> installed conf-pkg-config.4
-> installed conf-linux-libc-dev.0
-> retrieved dune.3.22.2  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved rocq-core.9.2.0, rocq-runtime.9.2.0  (cached)
-> retrieved rocq-stdlib.9.1.0  (https://github.com/coq/stdlib/releases/download/V9.1.0/stdlib-9.1.0.tar.gz)
-> retrieved zarith.1.14  (cached)
-> installed ocamlfind.1.9.8
-> installed zarith.1.14
-> installed dune.3.22.2
-> installed rocq-runtime.9.2.0
-> installed rocq-core.9.2.0
-> installed rocq-stdlib.9.1.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-30 14:34.35 ---> saved as "e67ea3e67ab3bc7455a655d87d0cf0db2e77ac0f0b51ec74c995f6f2610bb557"
Job succeeded
2026-04-30 14:34.43: Job succeeded