Build:
  1. 0
2026-03-12 21:25.52: New job: test melange-fest.0.2.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29540/head (3550bd81c24b7162a2d809ef9216e036734f859b)
                              on debian-13-ocaml-5.4-flambda/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/29540/head" && git reset --hard 3550bd81
git fetch origin master
git merge --no-edit e3653b4f8d4220c4377cc2cf0f43ec8a27f063ac
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4-flambda@sha256:b66290a04bc4c3d6ec52e4ba562992b5026ef27d2903d5abe04dfa6450add297
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 melange-fest.0.2.0 0.2.0
RUN opam reinstall melange-fest.0.2.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 "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'melange-fest.0.2.0' && 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 melange-fest.0.2.0) || true
RUN opam reinstall --with-test --verbose melange-fest.0.2.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 "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'melange-fest.0.2.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-03-12 21:25.52: Using cache hint "ocaml/opam:debian-13-ocaml-5.4-flambda@sha256:b66290a04bc4c3d6ec52e4ba562992b5026ef27d2903d5abe04dfa6450add297-melange-fest.0.2.0-3550bd81c24b7162a2d809ef9216e036734f859b"
2026-03-12 21:25.52: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4-flambda@sha256:b66290a04bc4c3d6ec52e4ba562992b5026ef27d2903d5abe04dfa6450add297)
 (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 melange-fest.0.2.0 0.2.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall melange-fest.0.2.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 \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'melange-fest.0.2.0' && 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 melange-fest.0.2.0) || true"))
 (run (shell  "opam reinstall --with-test --verbose melange-fest.0.2.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 \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'melange-fest.0.2.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-03-12 21:25.52: Waiting for resource in pool OCluster
2026-03-12 21:25.53: Waiting for worker…
2026-03-12 21:25.54: Got resource from pool OCluster
Building on toxis.caelum.ci.dev
All commits already cached
HEAD is now at e3653b4f8d Merge pull request #29529 from mattam82/malfunction-0.7.1
Updating e3653b4f8d..3550bd81c2
Fast-forward
 packages/melange-fest/melange-fest.0.2.0/opam | 50 +++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 packages/melange-fest/melange-fest.0.2.0/opam

(from ocaml/opam:debian-13-ocaml-5.4-flambda@sha256:b66290a04bc4c3d6ec52e4ba562992b5026ef27d2903d5abe04dfa6450add297)
2026-03-12 21:26.48 ---> saved as "f0b6f5aeafb1c5ceab5063fd48d5c1a1779a9a1624d098f01d4401d1d6f8f06d"

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

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-03-12 21:26.49 ---> saved as "a11402d2cac07e9e7930161d8fdf607b7001916af1727ada6564788ae75c6fc5"

/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-03-12 21:27.17 ---> saved as "d8fcfff2addaf8a1d70f168f64a24a666e06bcabed3a680387e3dd2ba174ecfb"

/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=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 71
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-variants" {= "5.4.0+options"}]
# compiler-packages    ocaml-compiler.5.4.0, ocaml-option-flambda.1, ocaml-options-only-flambda.1, ocaml-variants.5.4.0+options
# 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+options+flambda
2026-03-12 21:27.18 ---> saved as "3afc6c47a88c6b8b84278678d434f711c95db2a3904a5faa9e23391ae350be88"

/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-03-12 21:27.27 ---> saved as "9146d73ad3586eeb63ce0f51d0d19a7a26965ff8c922a2750aec9737b2418a32"

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-12 21:27.39 ---> saved as "ea4d8c93a9c6e35189741aa81c08eb3e2122c4aad5afef0a7a569219444ae92c"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-12 21:28.03 ---> saved as "6124d20b0cb6c6bcc47728bbb9e32813a34ec3e90eaef1dd3aaeddeb0fa5babc"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [111 kB]
- Fetched 202 kB in 0s (1282 kB/s)
- Reading package lists...
- 
2026-03-12 21:28.04 ---> saved as "245c0d85ea9ec43b72c7dd329f51c5e15ca27bc0519de88c23209db20c5d62b1"

/home/opam: (run (shell "opam pin add -k version -yn melange-fest.0.2.0 0.2.0"))
melange-fest is now pinned to version 0.2.0
2026-03-12 21:28.06 ---> saved as "2186fefac71dac01a77e84e856d018ef17702a6ee4330e808e27162687ea2b8b"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall melange-fest.0.2.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 \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'melange-fest.0.2.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
melange-fest.0.2.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 16 packages
  - install cmdliner            2.1.0          [required by melange]
  - install cppo                1.8.0          [required by melange]
  - install dune                3.21.1         [required by melange-fest]
  - install dune-build-info     3.21.1         [required by melange]
  - install melange             6.0.1-54       [required by melange-fest]
  - install melange-fest        0.2.0 (pinned)
  - install menhir              20260209       [required by melange]
  - install menhirCST           20260209       [required by menhir]
  - install menhirGLR           20260209       [required by menhir]
  - install menhirLib           20260209       [required by menhir]
  - install menhirSdk           20260209       [required by menhir]
  - install ocaml-compiler-libs v0.17.0        [required by ppxlib]
  - install ppx_derivers        1.2.1          [required by ppxlib]
  - install ppxlib              0.37.0         [required by melange]
  - install sexplib0            v0.17.0        [required by ppxlib]
  - install stdlib-shims        0.3.0          [required by ppxlib]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cmdliner.2.1.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved dune.3.21.1, dune-build-info.3.21.1  (cached)
-> retrieved melange.6.0.1-54  (cached)
-> retrieved melange-fest.0.2.0  (cached)
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> installed cmdliner.2.1.0
-> retrieved ppxlib.0.37.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> installed dune.3.21.1
-> installed cppo.1.8.0
-> installed menhirCST.20260209
-> installed ppx_derivers.1.2.1
-> installed menhirGLR.20260209
-> installed menhirLib.20260209
-> installed stdlib-shims.0.3.0
-> installed menhirSdk.20260209
-> installed dune-build-info.3.21.1
-> installed sexplib0.v0.17.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed menhir.20260209
-> installed ppxlib.0.37.0
-> installed melange.6.0.1-54
-> installed melange-fest.0.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-12 21:31.40 ---> saved as "6965ea5fe88babdb7783f9ad1a60f9b17e5c76d302b80fd002def623edc0b7f9"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test melange-fest.0.2.0) || true"))
The following actions will be performed:
=== recompile 1 package
  - recompile melange-fest            0.2.0 (pinned)
=== install 46 packages
  - install   astring                 0.8.5          [required by ocaml-lsp-server]
  - install   base                    v0.17.3        [required by ocaml-lsp-server]
  - install   camlp-streams           5.0.1          [required by ocaml-lsp-server]
  - install   chrome-trace            3.21.1         [required by ocaml-lsp-server]
  - install   csexp                   1.5.2          [required by ocaml-lsp-server, ocamlformat]
  - install   dune-configurator       3.21.1         [required by base]
  - install   dune-rpc                3.21.1         [required by ocaml-lsp-server]
  - install   dyn                     3.21.1         [required by ocaml-lsp-server]
  - install   either                  1.0.0          [required by ocamlformat-lib]
  - install   fiber                   3.7.0          [required by ocaml-lsp-server]
  - install   fix                     20250919       [required by ocamlformat-lib]
  - install   fpath                   0.7.3          [required by ocamlformat-lib]
  - install   fs-io                   3.21.1         [required by stdune]
  - install   jsonrpc                 1.25.0         [required by ocaml-lsp-server]
  - install   lsp                     1.25.0         [required by ocaml-lsp-server]
  - install   melange-testing-library 0.2.0          [required by melange-fest]
  - install   merlin-extend           0.6.2          [required by reason]
  - install   merlin-lib              5.6.1-504      [required by ocaml-lsp-server]
  - install   ocaml-index             5.6.1-504
  - install   ocaml-lsp-server        1.25.0         [required by melange-fest]
  - install   ocaml-version           4.0.3          [required by ocamlformat-lib]
  - install   ocaml_intrinsics_kernel v0.17.1        [required by base]
  - install   ocamlbuild              0.16.1         [required by astring]
  - install   ocamlc-loc              3.21.1         [required by ocaml-lsp-server]
  - install   ocamlfind               1.9.8          [required by astring]
  - install   ocamlformat             0.28.1         [required by melange-fest]
  - install   ocamlformat-lib         0.28.1         [required by ocamlformat]
  - install   ocamlformat-rpc-lib     0.28.1         [required by ocaml-lsp-server]
  - install   ocp-indent              1.9.0          [required by ocamlformat-lib]
  - install   ordering                3.21.1         [required by ocaml-lsp-server]
  - install   pp                      2.0.0          [required by ocaml-lsp-server]
  - install   ppx_yojson_conv_lib     v0.17.0        [required by ocaml-lsp-server]
  - install   re                      1.14.0         [required by ocaml-lsp-server, ocamlformat]
  - install   reason                  3.17.3         [required by melange-fest]
  - install   reason-react            0.17.0         [required by melange-fest]
  - install   reason-react-ppx        0.17.0         [required by melange-fest]
  - install   spawn                   v0.17.0        [required by ocaml-lsp-server]
  - install   stdio                   v0.17.0        [required by ocamlformat-lib]
  - install   stdune                  3.21.1         [required by ocaml-lsp-server]
  - install   top-closure             3.21.1         [required by stdune]
  - install   topkg                   1.1.1          [required by astring]
  - install   uucp                    17.0.0         [required by uuseg]
  - install   uuseg                   17.0.0         [required by ocamlformat-lib]
  - install   uutf                    1.0.4          [required by lsp, ocamlformat-lib]
  - install   xdg                     3.21.1         [required by ocaml-lsp-server]
  - install   yojson                  3.0.0          [required by ocaml-lsp-server]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5  (https://opam.ocaml.org/cache)
-> retrieved base.v0.17.3  (https://opam.ocaml.org/cache)
-> retrieved camlp-streams.5.0.1  (https://opam.ocaml.org/cache)
-> installed camlp-streams.5.0.1
-> retrieved chrome-trace.3.21.1, dune-configurator.3.21.1, dune-rpc.3.21.1, dyn.3.21.1, fs-io.3.21.1, ocamlc-loc.3.21.1, ordering.3.21.1, stdune.3.21.1, top-closure.3.21.1, xdg.3.21.1  (https://opam.ocaml.org/cache)
-> retrieved csexp.1.5.2  (https://opam.ocaml.org/cache)
-> retrieved either.1.0.0  (https://opam.ocaml.org/cache)
-> retrieved fiber.3.7.0  (https://opam.ocaml.org/cache)
-> retrieved fix.20250919  (https://opam.ocaml.org/cache)
-> retrieved fpath.0.7.3  (https://opam.ocaml.org/cache)
-> installed csexp.1.5.2
-> installed chrome-trace.3.21.1
-> installed fs-io.3.21.1
-> installed ordering.3.21.1
-> installed top-closure.3.21.1
-> installed xdg.3.21.1
-> installed either.1.0.0
-> installed fix.20250919
-> retrieved jsonrpc.1.25.0, lsp.1.25.0, ocaml-lsp-server.1.25.0  (https://opam.ocaml.org/cache)
-> retrieved melange-testing-library.0.2.0  (https://opam.ocaml.org/cache)
-> retrieved merlin-extend.0.6.2  (https://opam.ocaml.org/cache)
-> installed merlin-extend.0.6.2
-> installed dune-configurator.3.21.1
-> retrieved merlin-lib.5.6.1-504, ocaml-index.5.6.1-504  (https://opam.ocaml.org/cache)
-> retrieved ocaml-version.4.0.3  (https://opam.ocaml.org/cache)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (https://opam.ocaml.org/cache)
-> retrieved ocamlbuild.0.16.1  (https://opam.ocaml.org/cache)
-> retrieved ocamlfind.1.9.8  (https://opam.ocaml.org/cache)
-> installed ocaml-version.4.0.3
-> installed ocaml_intrinsics_kernel.v0.17.1
-> retrieved ocamlformat.0.28.1, ocamlformat-lib.0.28.1, ocamlformat-rpc-lib.0.28.1  (https://opam.ocaml.org/cache)
-> retrieved ocp-indent.1.9.0  (https://opam.ocaml.org/cache)
-> retrieved pp.2.0.0  (https://opam.ocaml.org/cache)
-> retrieved ppx_yojson_conv_lib.v0.17.0  (https://opam.ocaml.org/cache)
-> retrieved re.1.14.0  (https://opam.ocaml.org/cache)
-> installed pp.2.0.0
-> installed ocamlformat-rpc-lib.0.28.1
-> retrieved reason.3.17.3  (https://opam.ocaml.org/cache)
-> installed re.1.14.0
-> retrieved reason-react.0.17.0, reason-react-ppx.0.17.0  (https://opam.ocaml.org/cache)
-> retrieved spawn.v0.17.0  (https://opam.ocaml.org/cache)
-> retrieved stdio.v0.17.0  (https://opam.ocaml.org/cache)
-> retrieved topkg.1.1.1  (https://opam.ocaml.org/cache)
-> installed dyn.3.21.1
-> retrieved uucp.17.0.0  (https://opam.ocaml.org/cache)
-> installed ocamlfind.1.9.8
-> installed base.v0.17.3
-> installed ocamlbuild.0.16.1
-> installed spawn.v0.17.0
-> retrieved uuseg.17.0.0  (https://opam.ocaml.org/cache)
-> retrieved uutf.1.0.4  (https://opam.ocaml.org/cache)
-> installed ocamlc-loc.3.21.1
-> retrieved yojson.3.0.0  (https://opam.ocaml.org/cache)
-> installed stdio.v0.17.0
-> installed ocp-indent.1.9.0
-> removed   melange-fest.0.2.0
-> installed yojson.3.0.0
-> installed ppx_yojson_conv_lib.v0.17.0
-> installed jsonrpc.1.25.0
-> installed stdune.3.21.1
-> installed fiber.3.7.0
-> installed dune-rpc.3.21.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed astring.0.8.5
-> installed merlin-lib.5.6.1-504
-> installed fpath.0.7.3
-> installed ocaml-index.5.6.1-504
-> installed lsp.1.25.0
-> installed reason.3.17.3
-> installed reason-react-ppx.0.17.0
-> installed reason-react.0.17.0
-> installed ocaml-lsp-server.1.25.0
-> installed melange-testing-library.0.2.0
-> installed uucp.17.0.0
-> installed uuseg.17.0.0
-> installed ocamlformat-lib.0.28.1
-> installed ocamlformat.0.28.1
-> installed melange-fest.0.2.0
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 "/home/opam/.opam/5.4/share/emacs/site-lisp")
     (require 'ocp-indent)

   * for Vim, add this line to ~/.vimrc:
     set rtp^="/home/opam/.opam/5.4/share/ocp-indent/vim"
# To update the current shell environment, run: eval $(opam env)
2026-03-12 21:33.27 ---> saved as "8d147e00b0fe99a5daa056778e9d1873cc0261d3d3a3451b6c7e7298d22d9ba1"

/home/opam: (run (shell  "opam reinstall --with-test --verbose melange-fest.0.2.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 \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'melange-fest.0.2.0' && 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 melange-fest 0.2.0 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/4: [melange-fest: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "melange-fest" "-j" "71" "@install" (CWD=/home/opam/.opam/5.4/.opam-switch/build/melange-fest.0.2.0)
-> compiled  melange-fest.0.2.0
-> removed   melange-fest.0.2.0
-> installed melange-fest.0.2.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-12 21:33.34 ---> saved as "5e29cd9f6ed1109c9fda9d47650eb423b10c33281d990d56d038b8b19e08a5e6"
Job succeeded
2026-03-12 21:33.44: Job succeeded