(for PR #29144)

2025-12-29 13:22.43: New job: build memcpy.0.3.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29144/head (5acd597aa3deb5edacee41733013e0f3f2224a82)
                              on opensuse-15.6-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/29144/head" && git reset --hard 5acd597a
git fetch origin master
git merge --no-edit c239a62d58deaede2e5dce17c2715a55397b73f2
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d
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 memcpy.0.3.0 0.3.0
RUN opam reinstall memcpy.0.3.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-15.6\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'memcpy.0.3.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 .

2025-12-29 13:22.43: Using cache hint "ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d-memcpy.0.3.0-5acd597aa3deb5edacee41733013e0f3f2224a82"
2025-12-29 13:22.43: Using OBuilder spec:
((from ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d)
 (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 memcpy.0.3.0 0.3.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall memcpy.0.3.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-15.6\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'memcpy.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2025-12-29 13:22.43: Waiting for resource in pool OCluster
2025-12-29 13:22.43: Waiting for worker…
2025-12-29 13:22.45: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at c239a62d58 Merge pull request #29143 from filipeom/opam-publish-smtml.0.18.0
Updating c239a62d58..5acd597aa3
Fast-forward
 packages/memcpy/memcpy.0.3.0/opam | 41 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 packages/memcpy/memcpy.0.3.0/opam

(from ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d)
Unable to find image 'ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d' locally
docker.io/ocaml/opam@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d: Pulling from ocaml/opam
d358089470df: Already exists
3df71b9b3e7f: Already exists
b997bd420a3c: Already exists
12d178b9321a: Already exists
023fa28c6b25: Already exists
735e4d9b87e0: Already exists
6542116374a0: Already exists
44c143ceab21: Already exists
73d9c6c0a253: Already exists
dcc99122ebd7: Already exists
5eb9e4eb1e0d: Already exists
9bf67a7d90d1: Already exists
4e169419decb: Already exists
83236c382b5f: Already exists
e9abdc611934: Already exists
5856cf582d06: Already exists
487cfb4f2ade: Already exists
f161a5c7d41a: Already exists
752c4eefe314: Already exists
4f4fb700ef54: Already exists
8574634fb855: Already exists
45ffc9a6e835: Already exists
9b2e97c90544: Already exists
6f4caa19f8ea: Already exists
01fa1df0cfec: Already exists
24ce8b1b4144: Already exists
1d7b4875e8fa: Already exists
5abf41dc1464: Already exists
d5d3780fe7b4: Already exists
64d6876b8f1b: Already exists
8d4ce630c014: Already exists
1ac83bafd18d: Already exists
87088f8e69bd: Already exists
653f0ca87c5a: Already exists
86b7aeb0fb7e: Already exists
3d67e4541f01: Already exists
8b29fa24d7dc: Already exists
c3b051d5b40a: Already exists
f9257eb1726a: Pulling fs layer
c4445200a615: Pulling fs layer
bef2768e5d1a: Pulling fs layer
5eb874758e60: Pulling fs layer
69c011433312: Pulling fs layer
3db47a3ab274: Pulling fs layer
4d2806d3fbf9: Pulling fs layer
bef2768e5d1a: Waiting
5eb874758e60: Waiting
69c011433312: Waiting
3db47a3ab274: Waiting
4d2806d3fbf9: Waiting
f9257eb1726a: Verifying Checksum
f9257eb1726a: Download complete
f9257eb1726a: Pull complete
c4445200a615: Verifying Checksum
c4445200a615: Download complete
c4445200a615: Pull complete
bef2768e5d1a: Verifying Checksum
bef2768e5d1a: Download complete
bef2768e5d1a: Pull complete
69c011433312: Download complete
3db47a3ab274: Verifying Checksum
3db47a3ab274: Download complete
4d2806d3fbf9: Verifying Checksum
4d2806d3fbf9: Download complete
5eb874758e60: Verifying Checksum
5eb874758e60: Download complete
5eb874758e60: Pull complete
69c011433312: Pull complete
3db47a3ab274: Pull complete
4d2806d3fbf9: Pull complete
Digest: sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d
Status: Downloaded newer image for ocaml/opam@sha256:6934d1d02d0731b3f0128bdd10f5e93d165c30b7d4d66bee5b8f06f264dd656d
2025-12-29 13:24.45 ---> saved as "4224d5ca4d6d3d1ee713d6d739d2418d609194dac3753c340211b00dfc4e4097"

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

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2025-12-29 13:24.46 ---> saved as "c8ac2e8870abb81ed8aa38d0fef70462dad5fb63c38138ec8d004fd63f2a362b"

/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
2025-12-29 13:25.14 ---> saved as "efb67c44227b810516b038e0bf51f7c991b7f3e8bad6431ade6afa7206297c0c"

/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=opensuse-leap os-version=15.6
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 255
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {>= "5.4.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, 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.0
2025-12-29 13:25.15 ---> saved as "ef45d189c521460cb30d6b16262fa603a272b639f7a7b3285d07944965f5f580"

/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-12-29 13:26.01 ---> saved as "b716f676452153f10d526d3fea85c76578bc972e5e6e3fac16b1c970b60106b9"

/home/opam: (copy (src .) (dst opam-repository/))
2025-12-29 13:26.30 ---> saved as "54046d109f37fe75c534cdaa602248352c3594e25d1bfeae1497b2e01da4c9d7"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-12-29 13:26.52 ---> saved as "9a5d09b483a76ab876cc4962c0cab0704c8cb3afd3f77445e1d535422b521b59"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "zypper" "--non-interactive" "refresh"
- Repository 'Update repository of openSUSE Backports' is up to date.
- Repository 'Update repository with updates from SUSE Linux Enterprise 15' is up to date.
- Repository 'Main Update Repository' is up to date.
- Repository 'Update Repository (Non-Oss)' is up to date.
- Repository 'Non-OSS Repository' is up to date.
- Repository 'Main Repository' is up to date.
- All repositories have been refreshed.
2025-12-29 13:26.54 ---> saved as "16fb0847951d96362fcc66aab70d70130066843f81153e3e7830e6c2744e7b74"

/home/opam: (run (shell "opam pin add -k version -yn memcpy.0.3.0 0.3.0"))
memcpy is now pinned to version 0.3.0
2025-12-29 13:26.55 ---> saved as "8358421c2395d6e1c3ff9a45ec5825ea4eb3f8d686a34d6715f52f57e0db7e6e"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall memcpy.0.3.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-15.6\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'memcpy.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
memcpy.0.3.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 9 packages
  - install csexp             1.5.2          [required by dune-configurator]
  - install ctypes            0.24.0         [required by memcpy]
  - install dune              3.20.2         [required by ctypes]
  - install dune-configurator 3.20.2         [required by ctypes]
  - install integers          0.7.0          [required by ctypes]
  - install memcpy            0.3.0 (pinned)
  - install ocamlbuild        0.16.1         [required by memcpy]
  - install ocamlfind         1.9.8          [required by memcpy]
  - install stdlib-shims      0.3.0          [required by integers]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved csexp.1.5.2  (cached)
-> retrieved ctypes.0.24.0  (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved memcpy.0.3.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed dune.3.20.2
-> installed csexp.1.5.2
-> installed stdlib-shims.0.3.0
-> installed integers.0.7.0
-> installed dune-configurator.3.20.2
-> installed ctypes.0.24.0
-> installed memcpy.0.3.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-12-29 13:27.26 ---> saved as "856efeacdccbdba3d8723817af10e1004ac9ed7994749d33c1dffbf283910f6f"
Job succeeded
2025-12-29 13:27.33: Job succeeded