(not at the head of any monitored branch or PR)
2026-03-21 23:40.11: New job: test spectrum_palette_ppx.1.0.0.alpha2, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29581/head (c52e39f11b5df3e4bb74becd6c0b64f6f336b223)
                              on macos-homebrew-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/29581/head" && git reset --hard c52e39f1
git fetch origin master
git merge --no-edit 76bf2ed9443fdee37e6f046c6295d358be3f8598
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 spectrum_palette_ppx.1.0.0.alpha2 1.0.0.alpha2
RUN opam reinstall spectrum_palette_ppx.1.0.0.alpha2; \
    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" != 'spectrum_palette_ppx.1.0.0.alpha2' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test spectrum_palette_ppx.1.0.0.alpha2) || true
RUN opam reinstall --with-test --verbose spectrum_palette_ppx.1.0.0.alpha2; \
    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" != 'spectrum_palette_ppx.1.0.0.alpha2' && 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-21 23:40.11: Using cache hint "macos-homebrew-ocaml-4.14-spectrum_palette_ppx.1.0.0.alpha2-c52e39f11b5df3e4bb74becd6c0b64f6f336b223"
2026-03-21 23:40.11: 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 spectrum_palette_ppx.1.0.0.alpha2 1.0.0.alpha2"))
 (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
      (network host)
      (shell  "opam reinstall spectrum_palette_ppx.1.0.0.alpha2;\
             \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\" != 'spectrum_palette_ppx.1.0.0.alpha2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test spectrum_palette_ppx.1.0.0.alpha2) || true"))
 (run (shell  "opam reinstall --with-test --verbose spectrum_palette_ppx.1.0.0.alpha2;\
             \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\" != 'spectrum_palette_ppx.1.0.0.alpha2' && 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-21 23:40.11: Waiting for resource in pool OCluster
2026-03-21 23:40.14: Waiting for worker…
2026-03-21 23:53.31: Got resource from pool OCluster
Building on i7-worker-03
All commits already cached
Updating files:  28% (5355/18514)
Updating files:  29% (5370/18514)
Updating files:  30% (5555/18514)
Updating files:  31% (5740/18514)
Updating files:  32% (5925/18514)
Updating files:  33% (6110/18514)
Updating files:  34% (6295/18514)
Updating files:  35% (6480/18514)
Updating files:  36% (6666/18514)
Updating files:  37% (6851/18514)
Updating files:  38% (7036/18514)
Updating files:  39% (7221/18514)
Updating files:  40% (7406/18514)
Updating files:  41% (7591/18514)
Updating files:  42% (7776/18514)
Updating files:  43% (7962/18514)
Updating files:  44% (8147/18514)
Updating files:  45% (8332/18514)
Updating files:  46% (8517/18514)
Updating files:  47% (8702/18514)
Updating files:  48% (8887/18514)
Updating files:  49% (9072/18514)
Updating files:  50% (9257/18514)
Updating files:  51% (9443/18514)
Updating files:  52% (9628/18514)
Updating files:  52% (9684/18514)
Updating files:  53% (9813/18514)
Updating files:  54% (9998/18514)
Updating files:  55% (10183/18514)
Updating files:  56% (10368/18514)
Updating files:  57% (10553/18514)
Updating files:  58% (10739/18514)
Updating files:  59% (10924/18514)
Updating files:  60% (11109/18514)
Updating files:  61% (11294/18514)
Updating files:  62% (11479/18514)
Updating files:  63% (11664/18514)
Updating files:  64% (11849/18514)
Updating files:  65% (12035/18514)
Updating files:  66% (12220/18514)
Updating files:  67% (12405/18514)
Updating files:  68% (12590/18514)
Updating files:  69% (12775/18514)
Updating files:  70% (12960/18514)
Updating files:  71% (13145/18514)
Updating files:  72% (13331/18514)
Updating files:  73% (13516/18514)
Updating files:  74% (13701/18514)
Updating files:  75% (13886/18514)
Updating files:  76% (14071/18514)
Updating files:  77% (14256/18514)
Updating files:  78% (14441/18514)
Updating files:  79% (14627/18514)
Updating files:  80% (14812/18514)
Updating files:  81% (14997/18514)
Updating files:  81% (15143/18514)
Updating files:  82% (15182/18514)
Updating files:  83% (15367/18514)
Updating files:  84% (15552/18514)
Updating files:  85% (15737/18514)
Updating files:  86% (15923/18514)
Updating files:  87% (16108/18514)
Updating files:  88% (16293/18514)
Updating files:  89% (16478/18514)
Updating files:  90% (16663/18514)
Updating files:  91% (16848/18514)
Updating files:  92% (17033/18514)
Updating files:  93% (17219/18514)
Updating files:  94% (17404/18514)
Updating files:  95% (17589/18514)
Updating files:  96% (17774/18514)
Updating files:  97% (17959/18514)
Updating files:  98% (18144/18514)
Updating files:  99% (18329/18514)
Updating files: 100% (18514/18514)
Updating files: 100% (18514/18514), done.
HEAD is now at 76bf2ed944 Merge pull request #29572 from hannesm/release-letsencrypt-v2.0.0
Updating 76bf2ed944..c52e39f11b
Fast-forward
 packages/spectrum/spectrum.1.0.0.alpha2/opam       | 52 ++++++++++++++++++++++
 .../spectrum_capabilities.1.0.0.alpha2/opam        | 43 ++++++++++++++++++
 .../spectrum_palette_ppx.1.0.0.alpha2/opam         | 45 +++++++++++++++++++
 .../spectrum_palettes.1.0.0.alpha2/opam            | 42 +++++++++++++++++
 .../spectrum_tools.1.0.0.alpha2/opam               | 47 +++++++++++++++++++
 5 files changed, 229 insertions(+)
 create mode 100644 packages/spectrum/spectrum.1.0.0.alpha2/opam
 create mode 100644 packages/spectrum_capabilities/spectrum_capabilities.1.0.0.alpha2/opam
 create mode 100644 packages/spectrum_palette_ppx/spectrum_palette_ppx.1.0.0.alpha2/opam
 create mode 100644 packages/spectrum_palettes/spectrum_palettes.1.0.0.alpha2/opam
 create mode 100644 packages/spectrum_tools/spectrum_tools.1.0.0.alpha2/opam

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

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

/: (run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
2026-03-21 23:53.37 ---> 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-21 23:53.37 ---> 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=x86_64 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                 11
# 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-21 23:53.38 ---> 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-21 23:53.38 ---> using "15fbb76bf7dee5d6e8ae583230339015a61d8d2d8397de2cfe6459f8ba421f1e" from cache

/: (copy (src .) (dst opam-repository/))
2026-03-21 23:53.40 ---> using "fbf4c0de11760e4900b230c82b816e8a632ada9feb72415f5cfa671ffe70c251" from cache

/: (run (shell "opam repository set-url -k local --strict default opam-repository/"))
[default] Initialised
2026-03-21 23:53.40 ---> using "73d2eb7c2f2b5a65c46db1e4890d5982aa7141a73bd48a139bbe264179c1471f" from cache

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

                                                                           0.6%
#                                                                          1.5%
#                                                                          2.3%
##                                                                         3.3%
- 
##                                                                         4.1%
###                                                                        4.9%
####                                                                       5.7%
####                                                                       6.6%
#####                                                                      7.5%
#####                                                                      8.3%
######                                                                     9.3%
#######                                                                   10.1%
#######                                                                   10.9%
########                                                                  11.8%
#########                                                                 12.6%
- 
#########                                                                 13.4%
##########                                                                14.2%
##########                                                                15.1%
###########                                                               15.9%
############                                                              16.7%
############                                                              17.7%
#############                                                             18.4%
#############                                                             19.3%
##############                                                            20.2%
###############                                                           21.0%
###############                                                           21.8%
- 
################                                                          22.7%
################                                                          23.5%
#################                                                         24.4%
##################                                                        25.2%
##################                                                        26.0%
###################                                                       26.9%
###################                                                       27.8%
####################                                                      28.6%
#####################                                                     29.5%
#####################                                                     30.3%
######################                                                    31.1%
- 
#######################                                                   32.1%
#######################                                                   32.8%
########################                                                  33.8%
########################                                                  34.6%
#########################                                                 35.4%
##########################                                                36.2%
##########################                                                37.2%
###########################                                               38.0%
###########################                                               38.9%
############################                                              39.8%
#############################                                             40.6%
- 
#############################                                             41.4%
##############################                                            42.2%
###############################                                           43.2%
###############################                                           44.0%
################################                                          44.9%
################################                                          45.7%
#################################                                         46.5%
##################################                                        47.3%
##################################                                        48.1%
###################################                                       49.0%
###################################                                       49.8%
- 
####################################                                      50.8%
#####################################                                     51.6%
#####################################                                     52.5%
######################################                                    53.4%
######################################                                    54.2%
#######################################                                   55.1%
########################################                                  55.9%
########################################                                  56.8%
#########################################                                 57.6%
##########################################                                58.4%
##########################################                                59.2%
- 
###########################################                               60.1%
###########################################                               61.0%
############################################                              61.8%
#############################################                             62.7%
#############################################                             63.5%
##############################################                            64.3%
##############################################                            65.2%
###############################################                           66.0%
################################################                          67.0%
################################################                          67.8%
#################################################                         68.6%
- 
#################################################                         69.4%
##################################################                        70.4%
###################################################                       71.1%
###################################################                       71.9%
####################################################                      72.9%
#####################################################                     73.7%
#####################################################                     74.5%
######################################################                    75.4%
######################################################                    76.2%
#######################################################                   77.0%
########################################################                  78.0%
- 
########################################################                  78.8%
#########################################################                 79.6%
#########################################################                 80.5%
##########################################################                81.3%
###########################################################               82.1%
###########################################################               83.0%
############################################################              83.9%
############################################################              84.7%
#############################################################             85.6%
##############################################################            86.4%
##############################################################            87.2%
- 
###############################################################           88.2%
################################################################          89.0%
################################################################          89.9%
#################################################################         90.7%
#################################################################         91.5%
##################################################################        92.4%
###################################################################       93.2%
###################################################################       94.1%
####################################################################      95.0%
####################################################################      95.8%
#####################################################################     96.6%
- 
######################################################################    97.5%
######################################################################    98.3%
#######################################################################   99.1%
######################################################################## 100.0%
- ==> Pouring portable-ruby-4.0.1.catalina.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-21 23:53.41 ---> using "98d5155edfeea13afcee953fed77149a39396b13b9a4ad729d9793169658d9fa" from cache

/: (run (shell "opam pin add -k version -yn spectrum_palette_ppx.1.0.0.alpha2 1.0.0.alpha2"))
spectrum_palette_ppx is now pinned to version 1.0.0.alpha2
2026-03-21 23:53.41 ---> using "5501b66f440bd12094727cb0614798ee185927e1e36072916813956535ca7efd" from cache

/: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
        (network host)
        (shell  "opam reinstall spectrum_palette_ppx.1.0.0.alpha2;\
               \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\" != 'spectrum_palette_ppx.1.0.0.alpha2' && partial_fails=\"$partial_fails $pkg\";\
               \n        done;\
               \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
               \n        exit 1"))
spectrum_palette_ppx.1.0.0.alpha2 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 17 packages
  - install color                0.3.0                 [required by spectrum_palette_ppx]
  - install cppo                 1.8.0                 [required by ppx_deriving]
  - install dune                 3.22.0                [required by spectrum_palette_ppx]
  - install gg                   1.0.0                 [required by color]
  - install ocaml-compiler-libs  v0.12.4               [required by ppxlib]
  - install ocamlbuild           0.16.1                [required by gg]
  - install ocamlfind            1.9.8                 [required by gg, ppx_deriving]
  - install oktree               0.2.4                 [required by spectrum_palette_ppx]
  - install ppx_derivers         1.2.1                 [required by ppx_deriving]
  - install ppx_deriving         6.1.1                 [required by oktree]
  - install ppxlib               0.37.0                [required by spectrum_palette_ppx]
  - install re                   1.14.0                [required by spectrum_palette_ppx]
  - install sexplib0             v0.17.0               [required by ppxlib]
  - install spectrum_palette_ppx 1.0.0.alpha2 (pinned)
  - install stdlib-shims         0.3.0                 [required by ppxlib]
  - install topkg                1.1.1                 [required by gg]
  - install yojson               3.0.0                 [required by spectrum_palette_ppx]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved color.0.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved dune.3.22.0  (cached)
-> retrieved gg.1.0.0  (cached)
-> retrieved ocaml-compiler-libs.v0.12.4  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved oktree.0.2.4  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.1.1  (cached)
-> retrieved ppxlib.0.37.0  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved spectrum_palette_ppx.1.0.0.alpha2  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved yojson.3.0.0  (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed gg.1.0.0
-> installed dune.3.22.0
-> installed stdlib-shims.0.3.0
-> installed ppx_derivers.1.2.1
-> installed color.0.3.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed sexplib0.v0.17.0
-> installed cppo.1.8.0
-> installed yojson.3.0.0
-> installed re.1.14.0
-> installed ppxlib.0.37.0
-> installed ppx_deriving.6.1.1
-> installed oktree.0.2.4
-> installed spectrum_palette_ppx.1.0.0.alpha2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-21 23:53.42 ---> using "ae47228340a06c5f2c844f56884422e1bf20369869e649330df1f8b6f2f906b3" from cache

/: (run (network host)
        (shell "(opam reinstall --with-test spectrum_palette_ppx.1.0.0.alpha2) || true"))
The following actions will be performed:
=== recompile 1 package
  - recompile spectrum_palette_ppx 1.0.0.alpha2 (pinned)
=== install 11 packages
  - install   alcotest             1.9.1                 [required by spectrum_palette_ppx]
  - install   astring              0.8.5                 [required by alcotest]
  - install   cmdliner             2.1.0                 [required by alcotest]
  - install   fmt                  0.11.0                [required by alcotest]
  - install   junit                2.3.0                 [required by junit_alcotest]
  - install   junit_alcotest       2.3.0                 [required by spectrum_palette_ppx]
  - install   ocaml-syntax-shims   1.0.0                 [required by alcotest]
  - install   ptime                1.2.0                 [required by junit]
  - install   seq                  base                  [required by tyxml]
  - install   tyxml                4.6.0                 [required by junit]
  - install   uutf                 1.0.4                 [required by alcotest]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1  (https://github.com/mirage/alcotest/releases/download/1.9.1/alcotest-1.9.1.tbz)
-> retrieved astring.0.8.5  (https://erratique.ch/software/astring/releases/astring-0.8.5.tbz)
-> retrieved cmdliner.2.1.0  (https://erratique.ch/software/cmdliner/releases/cmdliner-2.1.0.tbz)
-> retrieved fmt.0.11.0  (https://erratique.ch/software/fmt/releases/fmt-0.11.0.tbz)
-> retrieved junit.2.3.0, junit_alcotest.2.3.0  (https://github.com/Khady/ocaml-junit/releases/download/2.3.0/junit-2.3.0.tbz)
-> retrieved ocaml-syntax-shims.1.0.0  (https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz)
-> retrieved ptime.1.2.0  (https://erratique.ch/software/ptime/releases/ptime-1.2.0.tbz)
-> retrieved seq.base  (2 extra sources)
-> retrieved seq.base  (2 extra sources)
-> installed seq.base
-> retrieved tyxml.4.6.0  (https://github.com/ocsigen/tyxml/releases/download/4.6.0/tyxml-4.6.0.tbz)
-> retrieved uutf.1.0.4  (https://erratique.ch/software/uutf/releases/uutf-1.0.4.tbz)
-> installed ocaml-syntax-shims.1.0.0
-> installed astring.0.8.5
-> installed ptime.1.2.0
-> removed   spectrum_palette_ppx.1.0.0.alpha2
-> installed cmdliner.2.1.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed alcotest.1.9.1
-> installed tyxml.4.6.0
-> installed junit.2.3.0
-> installed junit_alcotest.2.3.0
-> installed spectrum_palette_ppx.1.0.0.alpha2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-21 23:54.06 ---> saved as "a0cee2a7f61ecbb9e6b733d6774c127d06aabdb4a623a4efff1bf155023ccac1"

/: (run (shell  "opam reinstall --with-test --verbose spectrum_palette_ppx.1.0.0.alpha2;\
               \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\" != 'spectrum_palette_ppx.1.0.0.alpha2' && partial_fails=\"$partial_fails $pkg\";\
               \n        done;\
               \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
               \n        exit 1"))
The following actions will be performed:
=== recompile 1 package
  - recompile spectrum_palette_ppx 1.0.0.alpha2 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/4: [spectrum_palette_ppx: dune build]
+ /Users/mac1000/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "spectrum_palette_ppx" "-j" "11" "@install" "@runtest" (CWD=/Users/mac1000/.opam/4.14.2/.opam-switch/build/spectrum_palette_ppx.1.0.0.alpha2)
- (cd _build/default/lib/spectrum_palette_ppx/test && ./test_utils.exe)
- Testing `PPX Utils'.
- This run has ID `41MPOAGF'.
- 
-   [OK]          camel_to_kebab          0   common conversions.
-   [OK]          camel_to_kebab          1   numeric suffixes.
- 
- Full test results in `~/.opam/4.14.2/.opam-switch/build/spectrum_palette_ppx.1.0.0.alpha2/_build/default/lib/spectrum_palette_ppx/test/_build/_tests/PPX Utils'.
- Test Successful in 0.001s. 2 tests run.
- (cd _build/default/lib/spectrum_palette_ppx/test && ./test_palette.exe)
- Testing `Palette'.
- This run has ID `BOP1R1D1'.
- 
-   [OK]          LAB color space conversion                    0   lab3_of_col...
-   [OK]          LAB color space conversion                    1   black vs wh...
-   [OK]          LAB color space conversion                    2   gray is neu...
-   [OK]          Nearest-color index building                  0   nearest_ind...
-   [OK]          Nearest-color lookup - exact matches          0   exact color...
-   [OK]          Nearest-color lookup - approximate            0   approximate...
-   [OK]          Nearest-color lookup - approximate            1   dark colors...
-   [OK]          nearest_of_list convenience wrapper           0   basic funct...
-   [OK]          nearest_of_list convenience wrapper           1   multiple ca...
-   [OK]          Perceptual distance in LAB space              0   red variants.
-   [OK]          Perceptual distance in LAB space              1   grayscale d...
-   [OK]          Perceptual distance in LAB space              2   blue variants.
- 
- Full test results in `~/.opam/4.14.2/.opam-switch/build/spectrum_palette_ppx.1.0.0.alpha2/_build/default/lib/spectrum_palette_ppx/test/_build/_tests/Palette'.
- Test Successful in 0.002s. 12 tests run.
- (cd _build/default/lib/spectrum_palette_ppx/test && ./test_loader.exe)
- Testing `Loader'.
- This run has ID `6REHV8FM'.
- 
-   [OK]          Valid JSON - load                      0   single color.
-   [OK]          Valid JSON - load                      1   multiple colors.
-   [OK]          Valid JSON - load_assoc                0   colors indexed by ...
-   [OK]          Valid JSON - color_of_def              0   color definition c...
-   [OK]          Invalid JSON - missing fields          0   missing colorId.
-   [OK]          Invalid JSON - missing fields          1   missing name.
-   [OK]          Invalid JSON - missing fields          2   missing rgb.
-   [OK]          Invalid JSON - missing fields          3   missing r in rgb.
-   [OK]          Invalid JSON - missing fields          4   missing g in rgb.
-   [OK]          Invalid JSON - missing fields          5   missing b in rgb.
-   [OK]          Invalid JSON - wrong types             0   colorId wrong type.
-   [OK]          Invalid JSON - wrong types             1   name wrong type.
-   [OK]          Invalid JSON - wrong types             2   rgb wrong type.
-   [OK]          Invalid JSON - wrong types             3   r wrong type.
-   [OK]          Invalid JSON - structure               0   not an array.
- 
- Full test results in `~/.opam/4.14.2/.opam-switch/build/spectrum_palette_ppx.1.0.0.alpha2/_build/default/lib/spectrum_palette_ppx/test/_build/_tests/Loader'.
- Test Successful in 0.011s. 15 tests run.
-> compiled  spectrum_palette_ppx.1.0.0.alpha2
-> removed   spectrum_palette_ppx.1.0.0.alpha2
-> installed spectrum_palette_ppx.1.0.0.alpha2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-21 23:54.15 ---> saved as "4950649a272da0f46f2d866b31f3c562dc2fcf5cb875b3ba8d50c8f00fc5e572"
Job succeeded
2026-03-21 23:54.28: Job succeeded