(for PR #29367)

2026-02-10 16:19.31: New job: build multipart_form-cohttp-lwt.0.8.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29367/head (41132ad3bb08c1323eb53af67d50a84e89be1763)
                              on opensuse-16.0-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/29367/head" && git reset --hard 41132ad3
git fetch origin master
git merge --no-edit 6a35634d6446e6151b438792d64cc32db88a1a2e
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:opensuse-16.0-ocaml-4.14@sha256:03adfc683eddc572c0782eac26013498b2bc0e7d8248c26e39c4b174f53af25e
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 multipart_form-cohttp-lwt.0.8.0 0.8.0
RUN opam reinstall multipart_form-cohttp-lwt.0.8.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-16.0\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'multipart_form-cohttp-lwt.0.8.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-02-10 16:19.31: Using cache hint "ocaml/opam:opensuse-16.0-ocaml-4.14@sha256:03adfc683eddc572c0782eac26013498b2bc0e7d8248c26e39c4b174f53af25e-multipart_form-cohttp-lwt.0.8.0-41132ad3bb08c1323eb53af67d50a84e89be1763"
2026-02-10 16:19.31: Using OBuilder spec:
((from ocaml/opam:opensuse-16.0-ocaml-4.14@sha256:03adfc683eddc572c0782eac26013498b2bc0e7d8248c26e39c4b174f53af25e)
 (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 multipart_form-cohttp-lwt.0.8.0 0.8.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall multipart_form-cohttp-lwt.0.8.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-16.0\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'multipart_form-cohttp-lwt.0.8.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-02-10 16:19.31: Waiting for resource in pool OCluster
2026-02-10 19:12.12: Waiting for worker…
2026-02-10 19:14.44: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at 6a35634d64 Merge pull request #29363 from hannesm/maint-none-feb-2026
Merge made by the 'ort' strategy.
 .../multipart_form-cohttp-lwt.0.8.0/opam           | 29 ++++++++++++++
 .../multipart_form-eio.0.8.0/opam                  | 42 +++++++++++++++++++++
 .../multipart_form-lwt.0.8.0/opam                  | 42 +++++++++++++++++++++
 .../multipart_form-miou.0.8.0/opam                 | 42 +++++++++++++++++++++
 packages/multipart_form/multipart_form.0.8.0/opam  | 44 ++++++++++++++++++++++
 5 files changed, 199 insertions(+)
 create mode 100644 packages/multipart_form-cohttp-lwt/multipart_form-cohttp-lwt.0.8.0/opam
 create mode 100644 packages/multipart_form-eio/multipart_form-eio.0.8.0/opam
 create mode 100644 packages/multipart_form-lwt/multipart_form-lwt.0.8.0/opam
 create mode 100644 packages/multipart_form-miou/multipart_form-miou.0.8.0/opam
 create mode 100644 packages/multipart_form/multipart_form.0.8.0/opam

(from ocaml/opam:opensuse-16.0-ocaml-4.14@sha256:03adfc683eddc572c0782eac26013498b2bc0e7d8248c26e39c4b174f53af25e)
2026-02-10 19:15.37 ---> saved as "51685737e48b1fc3d1da3875ac583c70df743e09134e7e1dee052ed6f1b3494b"

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

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-02-10 19:15.37 ---> saved as "2c54baa8cc427b403ff0013ab2ae5ab4a0da8fb7efbe1394d6a750e817fc912f"

/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-02-10 19:16.01 ---> saved as "796a30d147b07e9905d3b7832f582a76b92d673642b542dd65908823022382b6"

/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=16.0
# 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       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-02-10 19:16.02 ---> saved as "5ba42559f81ef27afe989068da901f5f91d6698c964bb95b0392f4180b80d190"

/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-02-10 19:16.22 ---> saved as "d715bb47264945493f1b36c4e72b4300f4d214c5f1c32b30d7f583924392b0dc"

/home/opam: (copy (src .) (dst opam-repository/))
2026-02-10 19:16.30 ---> saved as "e753c5ff853c62978aa934a510b905489cbc0f39ff750c3b54866229b5802dea"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-02-10 19:16.51 ---> saved as "171992e379a90e70a8583e8958f9ef040d9aa68c1e4457cddaf5103dff2b1f99"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "zypper" "--non-interactive" "refresh"
- Repository 'repo-openh264 (16.0)' is up to date.
- Retrieving repository 'repo-oss (16.0)' metadata [..
- Looking for gpg keys in repository repo-oss (16.0).
-   gpgkey=http://cdn.opensuse.org/distribution/leap/16.0/repo/oss/x86_64/repodata/repomd.xml.key
- ..
- 
- Note: Received 1 new package signing key from repository "repo-oss (16.0)":
- 
-   Those additional keys are usually used to sign packages shipped by the repository. In order to
-   validate those packages upon download and installation the new keys will be imported into the rpm
-   database.
- 
-   New:
-   Key Fingerprint:  F044 C2C5 07A1 262B 538A AADD 8A49 EB03 25DB 7AE0
-   Key Name:         openSUSE:Backports OBS Project <openSUSE:Backports@build.opensuse.org>
-   Key Algorithm:    RSA 4096
-   Key Created:      Wed May 10 14:46:12 2023
-   Key Expires:      Sun May  9 14:46:12 2027
-   Rpm Name:         gpg-pubkey-25db7ae0-645bae34
- 
-   The repository metadata introducing the new keys have been signed and validated by the trusted
-   key:
- 
-   Repository:       repo-oss (16.0)
-   Key Fingerprint:  AD48 5664 E901 B867 051A B15F 35A2 F86E 29B7 00A4
-   Key Name:         openSUSE Project Signing Key <opensuse@opensuse.org>
-   Key Algorithm:    RSA 4096
-   Key Created:      Mon Jun 20 14:03:14 2022
-   Key Expires:      Fri Jun 19 14:03:14 2026
-   Rpm Name:         gpg-pubkey-29b700a4-62b07e22
- 
- .
- .....
- ..........
- ........
- .......
- ..........
- ..........
- .........
- ........done]
- Building repository 'repo-oss (16.0)' cache [..
- ..done]
- All repositories have been refreshed.
2026-02-10 19:17.10 ---> saved as "e4d51f5f7f96a76030f9593f77e7b7aaff2a843127c92876f6c7cae05905b327"

/home/opam: (run (shell "opam pin add -k version -yn multipart_form-cohttp-lwt.0.8.0 0.8.0"))
multipart_form-cohttp-lwt is now pinned to version 0.8.0
2026-02-10 19:17.11 ---> saved as "82f25bfd2a2aa8fb217108c2874b7b07c0e5bdcb40a0f7f5efb4bbc93cbb2add"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall multipart_form-cohttp-lwt.0.8.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-16.0\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'multipart_form-cohttp-lwt.0.8.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
multipart_form-cohttp-lwt.0.8.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 42 packages
  - install angstrom                  0.16.1         [required by multipart_form, multipart_form-lwt]
  - install base                      v0.16.4        [required by ppx_sexp_conv]
  - install base-bytes                base           [required by ocplib-endian]
  - install base64                    3.5.2          [required by multipart_form]
  - install bigstringaf               0.10.0         [required by multipart_form, multipart_form-lwt]
  - install bstr                      0.0.4          [required by prettym]
  - install cohttp                    6.2.1          [required by cohttp-lwt]
  - install cohttp-lwt                6.2.1          [required by multipart_form-cohttp-lwt]
  - install cppo                      1.8.0          [required by lwt]
  - install csexp                     1.5.2          [required by dune-configurator]
  - install domain-name               0.5.0          [required by ipaddr]
  - install dune                      3.21.0         [required by multipart_form-cohttp-lwt]
  - install dune-configurator         3.21.0         [required by lwt, base]
  - install fmt                       0.11.0         [required by multipart_form]
  - install http                      6.2.1          [required by cohttp-lwt]
  - install ipaddr                    5.6.1          [required by cohttp-lwt]
  - install ke                        0.6            [required by multipart_form, multipart_form-lwt]
  - install logs                      0.10.0         [required by cohttp-lwt, multipart_form]
  - install lwt                       6.1.0          [required by cohttp-lwt, multipart_form-lwt]
  - install macaddr                   5.6.1          [required by ipaddr]
  - install multipart_form            0.8.0          [required by multipart_form-cohttp-lwt]
  - install multipart_form-cohttp-lwt 0.8.0 (pinned)
  - install multipart_form-lwt        0.8.0          [required by multipart_form-cohttp-lwt]
  - install ocaml-compiler-libs       v0.12.4        [required by ppxlib]
  - install ocaml-syntax-shims        1.0.0          [required by angstrom]
  - install ocamlbuild                0.16.1         [required by logs, uutf]
  - install ocamlfind                 1.9.8          [required by logs, uutf]
  - install ocplib-endian             1.2            [required by lwt]
  - install pecu                      0.7            [required by multipart_form]
  - install ppx_derivers              1.2.1          [required by ppxlib]
  - install ppx_sexp_conv             v0.16.0        [required by cohttp-lwt]
  - install ppxlib                    0.35.0         [required by ppx_sexp_conv]
  - install prettym                   0.0.4          [required by multipart_form]
  - install re                        1.14.0         [required by cohttp]
  - install sexplib0                  v0.16.0        [required by cohttp-lwt]
  - install stdlib-shims              0.3.0          [required by ppxlib]
  - install stringext                 1.6.0          [required by cohttp]
  - install topkg                     1.1.1          [required by logs, uutf]
  - install unstrctrd                 0.4            [required by multipart_form]
  - install uri                       4.4.0          [required by cohttp-lwt]
  - install uri-sexp                  4.4.0          [required by cohttp]
  - install uutf                      1.0.4          [required by multipart_form]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved base.v0.16.4  (cached)
-> retrieved base64.3.5.2  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved bstr.0.0.4  (cached)
-> retrieved cohttp.6.2.1, cohttp-lwt.6.2.1, http.6.2.1  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved domain-name.0.5.0  (cached)
-> retrieved dune.3.21.0, dune-configurator.3.21.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved ipaddr.5.6.1, macaddr.5.6.1  (cached)
-> retrieved ke.0.6  (cached)
-> retrieved logs.0.10.0  (cached)
-> retrieved lwt.6.1.0  (cached)
-> retrieved multipart_form.0.8.0, multipart_form-cohttp-lwt.0.8.0, multipart_form-lwt.0.8.0  (cached)
-> retrieved ocaml-compiler-libs.v0.12.4  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved pecu.0.7  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_sexp_conv.v0.16.0  (cached)
-> retrieved ppxlib.0.35.0  (cached)
-> retrieved prettym.0.0.4  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved sexplib0.v0.16.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved unstrctrd.0.4  (cached)
-> retrieved uri.4.4.0, uri-sexp.4.4.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> 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 dune.3.21.0
-> installed base64.3.5.2
-> installed domain-name.0.5.0
-> installed csexp.1.5.2
-> installed bstr.0.0.4
-> installed cppo.1.8.0
-> installed http.6.2.1
-> installed ke.0.6
-> installed macaddr.5.6.1
-> installed ocaml-compiler-libs.v0.12.4
-> installed ocaml-syntax-shims.1.0.0
-> installed pecu.0.7
-> installed ppx_derivers.1.2.1
-> installed re.1.14.0
-> installed sexplib0.v0.16.0
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> installed ocplib-endian.1.2
-> installed ipaddr.5.6.1
-> installed prettym.0.0.4
-> installed dune-configurator.3.21.0
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed unstrctrd.0.4
-> installed uri.4.4.0
-> installed lwt.6.1.0
-> installed logs.0.10.0
-> installed base.v0.16.4
-> installed multipart_form.0.8.0
-> installed multipart_form-lwt.0.8.0
-> installed ppxlib.0.35.0
-> installed ppx_sexp_conv.v0.16.0
-> installed uri-sexp.4.4.0
-> installed cohttp.6.2.1
-> installed cohttp-lwt.6.2.1
-> installed multipart_form-cohttp-lwt.0.8.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-02-10 19:18.03 ---> saved as "62ac8cec82d3674ad2ebe75ab3e12fd091d54d1df2d6e11b633e99e818a675d1"
Job succeeded
2026-02-10 19:18.30: Job succeeded