(for PR #29568)

2026-03-23 09:19.17: New job: build ocamlformat-lib.0.26.2, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29568/head (353fd9234f0397ed1edb6d612e5b9da8472dea1c)
                              on macos-homebrew-ocaml-4.14/arm64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29568/head" && git reset --hard 353fd923
git fetch origin master
git merge --no-edit 63b7ba71be83567e54bb667df0f2bb374d74fb61
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM macos-homebrew-ocaml-4.14
USER 1000:1000
RUN ln -f ~/local/bin/opam-dev ~/local/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 -k local --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn ocamlformat-lib.0.26.2 0.26.2
RUN opam reinstall ocamlformat-lib.0.26.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 "\"macos-homebrew\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'ocamlformat-lib.0.26.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 .

2026-03-23 09:19.17: Using cache hint "macos-homebrew-ocaml-4.14-ocamlformat-lib.0.26.2-353fd9234f0397ed1edb6d612e5b9da8472dea1c"
2026-03-23 09:19.17: Using OBuilder spec:
((from macos-homebrew-ocaml-4.14)
 (user (uid 1000) (gid 1000))
 (run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
 (run (network host)
      (shell "opam init --reinit -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 -k local --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn ocamlformat-lib.0.26.2 0.26.2"))
 (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
      (network host)
      (shell  "opam reinstall ocamlformat-lib.0.26.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 \"\\\"macos-homebrew\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'ocamlformat-lib.0.26.2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-03-23 09:19.17: Waiting for resource in pool OCluster
2026-03-23 09:19.20: Waiting for worker…
2026-03-23 09:27.12: Got resource from pool OCluster
Building on m1-worker-03
All commits already cached
Updating files:  65% (12092/18511)
Updating files:  66% (12218/18511)
Updating files:  67% (12403/18511)
Updating files:  68% (12588/18511)
Updating files:  69% (12773/18511)
Updating files:  70% (12958/18511)
Updating files:  71% (13143/18511)
Updating files:  72% (13328/18511)
Updating files:  73% (13514/18511)
Updating files:  74% (13699/18511)
Updating files:  75% (13884/18511)
Updating files:  76% (14069/18511)
Updating files:  77% (14254/18511)
Updating files:  78% (14439/18511)
Updating files:  79% (14624/18511)
Updating files:  80% (14809/18511)
Updating files:  81% (14994/18511)
Updating files:  82% (15180/18511)
Updating files:  83% (15365/18511)
Updating files:  84% (15550/18511)
Updating files:  85% (15735/18511)
Updating files:  86% (15920/18511)
Updating files:  87% (16105/18511)
Updating files:  88% (16290/18511)
Updating files:  89% (16475/18511)
Updating files:  90% (16660/18511)
Updating files:  91% (16846/18511)
Updating files:  92% (17031/18511)
Updating files:  93% (17216/18511)
Updating files:  94% (17401/18511)
Updating files:  95% (17586/18511)
Updating files:  96% (17771/18511)
Updating files:  97% (17956/18511)
Updating files:  98% (18141/18511)
Updating files:  99% (18326/18511)
Updating files: 100% (18511/18511)
Updating files: 100% (18511/18511), done.
HEAD is now at 63b7ba71be Merge pull request #29573 from davesnx/release-parseff-0.2.0
Merge made by the 'ort' strategy.
 packages/ocamlformat-lib/ocamlformat-lib.0.25.1/opam | 1 +
 packages/ocamlformat-lib/ocamlformat-lib.0.26.0/opam | 1 +
 packages/ocamlformat-lib/ocamlformat-lib.0.26.1/opam | 1 +
 packages/ocamlformat-lib/ocamlformat-lib.0.26.2/opam | 1 +
 packages/ocamlformat-lib/ocamlformat-lib.0.27.0/opam | 1 +
 packages/ocamlformat-lib/ocamlformat-lib.0.28.1/opam | 1 +
 packages/ocamlformat-lib/ocamlformat-lib.0.29.0/opam | 1 +
 packages/ocamlformat/ocamlformat.0.24.1/opam         | 1 +
 8 files changed, 8 insertions(+)

(from macos-homebrew-ocaml-4.14)
2026-03-23 09:27.15 ---> using "0c60f117aee57abea8364cb033d47bb1d63ff0f68e5ee97378e032498e8442af" from cache

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

/: (run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
2026-03-23 09:27.15 ---> using "f20a31eccb94af52fa2a3ef86b723bc6460bac3d8a92b8861915540c2498d20a" from cache

/: (run (network host)
        (shell "opam init --reinit -ni"))
No configuration file found, using 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 /Users/mac1000/.opam from version 2.1 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 1 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=1 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///Users/mac1000/opam-repository
2026-03-23 09:27.15 ---> using "7818e224f85c11d1d318abe9ba4e297be345388b7ed476f912b6900c6bae56aa" from cache

/: (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=arm64 os=macos os-distribution=homebrew os-version=15.5
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 7
# repositories         1 (version-controlled)
# pinned               0
# current-switch       4.14.2
# invariant            ["ocaml-base-compiler" {= "4.14.2"} | "ocaml-system" {= "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       /Users/mac1000/.opam/4.14.2/lib/ocaml/stublibs:/Users/mac1000/.opam/4.14.2/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.14.2
2026-03-23 09:27.15 ---> using "625776f8b2f728a128171e2ba4372c97abd18632a07574a8412026e8be39dac5" from cache

/: (env OPAMDOWNLOADJOBS 1)

/: (env OPAMERRLOGLEN 0)

/: (env OPAMPRECISETRACKING 1)

/: (env CI true)

/: (env OPAM_REPO_CI true)

/: (run (shell "rm -rf opam-repository/"))
2026-03-23 09:27.15 ---> using "15fbb76bf7dee5d6e8ae583230339015a61d8d2d8397de2cfe6459f8ba421f1e" from cache

/: (copy (src .) (dst opam-repository/))
2026-03-23 09:27.20 ---> saved as "f214c49a9d03c4daeded6490f2aa4adede60de7c92f3429c34476a255d975d0f"

/: (run (shell "opam repository set-url -k local --strict default opam-repository/"))
[default] Initialised
2026-03-23 09:27.29 ---> saved as "1d6c85ef14560bc7f6772de465c6c6877c7d69d58b04148ab9ff4882506c4666"

/: (run (network host)
        (shell "opam update --depexts || true"))
+ /opt/homebrew/bin/brew "update"
- ==> Updating Homebrew...
- ==> Downloading https://ghcr.io/v2/homebrew/core/portable-ruby/blobs/sha256:cef6f881f516d2cdbd0a5bfc7e20318da8b047cf2674ee27c5d4858d3ecd6430
- #=#=#                                                                          

                                                                           0.6%
- 
#                                                                          1.5%
#                                                                          2.3%
##                                                                         3.1%
##                                                                         3.9%
###                                                                        4.8%
####                                                                       5.6%
####                                                                       6.4%
#####                                                                      7.2%
#####                                                                      8.1%
######                                                                     8.9%
######                                                                     9.6%
- 
#######                                                                   10.6%
########                                                                  11.3%
########                                                                  12.3%
#########                                                                 13.0%
#########                                                                 13.8%
##########                                                                14.7%
###########                                                               15.5%
###########                                                               16.4%
############                                                              17.2%
#############                                                             18.1%
#############                                                             18.9%
- 
##############                                                            19.8%
##############                                                            20.6%
###############                                                           21.4%
###############                                                           22.2%
################                                                          23.1%
#################                                                         23.9%
#################                                                         24.7%
##################                                                        25.5%
##################                                                        26.4%
###################                                                       27.2%
####################                                                      28.0%
- 
####################                                                      28.9%
#####################                                                     29.7%
#####################                                                     30.4%
######################                                                    31.2%
#######################                                                   32.1%
#######################                                                   32.9%
########################                                                  33.7%
########################                                                  34.6%
#########################                                                 35.4%
##########################                                                36.2%
##########################                                                37.0%
- 
###########################                                               37.9%
###########################                                               38.7%
############################                                              39.5%
############################                                              40.3%
#############################                                             41.2%
##############################                                            42.0%
##############################                                            42.7%
###############################                                           43.5%
###############################                                           43.9%
###############################                                           44.3%
################################                                          44.8%
################################                                          45.2%
- 
################################                                          45.6%
#################################                                         46.1%
#################################                                         47.1%
##################################                                        47.7%
##################################                                        48.5%
###################################                                       49.0%
###################################                                       49.4%
###################################                                       49.8%
####################################                                      50.2%
####################################                                      50.6%
####################################                                      51.1%
- 
#####################################                                     51.5%
#####################################                                     51.9%
#####################################                                     52.3%
######################################                                    52.9%
######################################                                    53.7%
#######################################                                   54.6%
#######################################                                   55.4%
########################################                                  56.4%
#########################################                                 57.1%
#########################################                                 57.8%
- 
#########################################                                 58.3%
##########################################                                59.0%
##########################################                                59.4%
###########################################                               59.8%
###########################################                               60.3%
###########################################                               60.7%
###########################################                               61.1%
############################################                              61.6%
############################################                              62.0%
############################################                              62.4%
#############################################                             62.8%
- 
#############################################                             63.2%
#############################################                             63.7%
##############################################                            64.1%
##############################################                            64.5%
##############################################                            64.9%
##############################################                            65.2%
###############################################                           65.6%
###############################################                           66.2%
###############################################                           66.6%
################################################                          66.9%
################################################                          67.3%
- 
################################################                          67.7%
#################################################                         68.3%
#################################################                         68.6%
#################################################                         69.0%
#################################################                         69.4%
##################################################                        69.8%
##################################################                        70.3%
##################################################                        70.7%
###################################################                       71.1%
###################################################                       71.5%
###################################################                       71.9%
- 
####################################################                      72.4%
####################################################                      72.8%
####################################################                      73.2%
#####################################################                     73.6%
#####################################################                     74.0%
#####################################################                     74.5%
#####################################################                     74.9%
######################################################                    75.3%
######################################################                    75.7%
######################################################                    76.1%
#######################################################                   76.5%
- 
#######################################################                   77.0%
#######################################################                   77.4%
########################################################                  77.8%
########################################################                  78.2%
########################################################                  78.7%
########################################################                  79.1%
#########################################################                 79.5%
#########################################################                 79.9%
#########################################################                 80.4%
##########################################################                81.3%
###########################################################               82.1%
- 
###########################################################               82.9%
############################################################              83.8%
############################################################              84.6%
#############################################################             85.4%
##############################################################            86.2%
##############################################################            87.1%
###############################################################           87.9%
###############################################################           88.7%
################################################################          89.5%
#################################################################         90.4%
#################################################################         91.2%
- 
##################################################################        92.1%
##################################################################        92.9%
###################################################################       93.6%
###################################################################       94.4%
####################################################################      95.3%
#####################################################################     96.1%
#####################################################################     96.9%
######################################################################    97.7%
######################################################################    98.6%
#######################################################################   99.4%
######################################################################## 100.0%
- ==> Pouring portable-ruby-4.0.1.arm64_big_sur.bottle.tar.gz
- ==> Homebrew collects anonymous analytics.
- Read the analytics documentation (and how to opt-out) here:
-   https://docs.brew.sh/Analytics
- No analytics have been recorded yet (nor will be during this `brew` run).
- 
- ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
-   https://github.com/Homebrew/brew#donations
- 
- Already up-to-date.
2026-03-23 09:28.09 ---> saved as "b5c286d4d42fe5a18aef4f0619038d4d1be8b04d7408014a44878d9fbbd13410"

/: (run (shell "opam pin add -k version -yn ocamlformat-lib.0.26.2 0.26.2"))
ocamlformat-lib is now pinned to version 0.26.2
2026-03-23 09:28.10 ---> saved as "4ee55f53635ec0d3a7a4f790791b13935a0e4d819f8da1ae871e7579002ca157"

/: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
        (network host)
        (shell  "opam reinstall ocamlformat-lib.0.26.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 \"\\\"macos-homebrew\\\"\"; then\
               \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
               \n          fi;\
               \n          test \"$pkg\" != 'ocamlformat-lib.0.26.2' && partial_fails=\"$partial_fails $pkg\";\
               \n        done;\
               \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
               \n        exit 1"))
ocamlformat-lib.0.26.2 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 28 packages
  - install astring           0.8.5           [required by ocamlformat-lib]
  - install base              v0.16.4         [required by ocamlformat-lib]
  - install camlp-streams     5.0.1           [required by ocamlformat-lib]
  - install cmdliner          1.3.0           [required by ocamlformat-lib]
  - install csexp             1.5.2           [required by ocamlformat-lib]
  - install dune              3.22.0          [required by ocamlformat-lib]
  - install dune-build-info   3.22.0          [required by ocamlformat-lib]
  - install dune-configurator 3.22.0          [required by base]
  - install either            1.0.0           [required by ocamlformat-lib]
  - install fix               20250919        [required by ocamlformat-lib]
  - install fpath             0.7.3           [required by ocamlformat-lib]
  - install menhir            20260209        [required by ocamlformat-lib]
  - install menhirCST         20260209        [required by menhir]
  - install menhirGLR         20260209        [required by menhir]
  - install menhirLib         20260209        [required by ocamlformat-lib]
  - install menhirSdk         20260209        [required by ocamlformat-lib]
  - install ocaml-version     4.0.4           [required by ocamlformat-lib]
  - install ocamlbuild        0.16.1          [required by fpath, astring, uuseg]
  - install ocamlfind         1.9.8           [required by ocp-indent, astring, fpath, uuseg]
  - install ocamlformat-lib   0.26.2 (pinned)
  - install ocp-indent        1.9.0           [required by ocamlformat-lib]
  - install result            1.5             [required by ocamlformat-lib]
  - install sexplib0          v0.16.0         [required by base]
  - install stdio             v0.16.0         [required by ocamlformat-lib]
  - install topkg             1.1.1           [required by fpath, astring, uuseg]
  - install uucp              17.0.0          [required by uuseg]
  - install uuseg             17.0.0          [required by ocamlformat-lib]
  - install uutf              1.0.4           [required by ocamlformat-lib]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5  (cached)
-> retrieved base.v0.16.4  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved dune.3.22.0, dune-build-info.3.22.0, dune-configurator.3.22.0  (cached)
-> retrieved either.1.0.0  (cached)
-> retrieved fix.20250919  (cached)
-> retrieved fpath.0.7.3  (cached)
-> installed cmdliner.1.3.0
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209  (cached)
-> retrieved ocaml-version.4.0.4  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocamlformat-lib.0.26.2  (cached)
-> retrieved ocp-indent.1.9.0  (cached)
-> retrieved result.1.5  (cached)
-> retrieved sexplib0.v0.16.0  (cached)
-> retrieved stdio.v0.16.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved uucp.17.0.0  (cached)
-> retrieved uuseg.17.0.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.22.0
-> installed csexp.1.5.2
-> installed camlp-streams.5.0.1
-> installed menhirGLR.20260209
-> installed menhirCST.20260209
-> installed fix.20250919
-> installed either.1.0.0
-> installed dune-build-info.3.22.0
-> installed menhirLib.20260209
-> installed result.1.5
-> installed menhirSdk.20260209
-> installed ocaml-version.4.0.4
-> installed dune-configurator.3.22.0
-> installed sexplib0.v0.16.0
-> installed ocp-indent.1.9.0
-> installed base.v0.16.4
-> installed stdio.v0.16.0
-> installed menhir.20260209
-> installed uucp.17.0.0
-> installed uuseg.17.0.0
-> installed ocamlformat-lib.0.26.2
Done.

<><> ocp-indent.1.9.0 installed successfully ><><><><><><><><><><><><><><><><><>
=> This package requires additional configuration for use in editors. Install package 'user-setup', or manually:

   * for Emacs, add these lines to ~/.emacs:
     (add-to-list 'load-path "/Users/mac1000/.opam/4.14.2/share/emacs/site-lisp")
     (require 'ocp-indent)

   * for Vim, add this line to ~/.vimrc:
     set rtp^="/Users/mac1000/.opam/4.14.2/share/ocp-indent/vim"
# To update the current shell environment, run: eval $(opam env)
2026-03-23 09:29.22 ---> saved as "d91e3fd73a6fe71f7ea43f780c96c0898e69ec198d03fb13d82d73759e657241"
Job succeeded
2026-03-23 09:29.29: Job succeeded