2025-07-04 15:10.35: New job: test mbarbin/dunolint https://github.com/mbarbin/dunolint.git#refs/heads/implicit-transitive-false (e20fdc3ba28be212199f334b67c07720c67d703c) (linux-x86_64:fedora-42-5.3_opam-2.3)
Base: ocaml/opam:fedora-42-ocaml-5.3@sha256:ca935fbf20f8d83e78dff4d973011a91d32565d7d98af772da42600dd103623c
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/mbarbin/dunolint.git" -b "implicit-transitive-false" && cd "dunolint" && git reset --hard e20fdc3b
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:fedora-42-ocaml-5.3@sha256:ca935fbf20f8d83e78dff4d973011a91d32565d7d98af772da42600dd103623c
# fedora-42-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo dnf install -y findutils
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-dev.opam ./
RUN opam pin add -yn dunolint.dev './' && \
opam pin add -yn dunolint-tests.dev './' && \
opam pin add -yn dunolint-lib.dev './' && \
opam pin add -yn dunolint-dev.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base_bigstring.v0.17.0 base_quickcheck.v0.17.1 bin_prot.v0.17.0-1 camlp-streams.5.0.1 capitalization.v0.17.0 cmdlang.0.0.9 cmdlang-stdlib-runner.0.0.9 cmdlang-to-cmdliner.0.0.9 cmdliner.1.3.0 core.v0.17.1 core_kernel.v0.17.0 core_unix.v0.17.1 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 dyn.3.19.1 expect_test_helpers_core.v0.17.0 fieldslib.v0.17.0 file-rewriter.0.0.3 fmt.0.10.0 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 gel.v0.17.0 int_repr.v0.17.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 loc.0.2.2 logs.0.8.0 mdx.2.5.0 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.19.1 parsexp.v0.17.0 patdiff.v0.17.0 patience_diff.v0.17.0 pp.2.0.0 pplumbing.0.0.14 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_bench.v0.17.1 ppx_bin_prot.v0.17.1 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_custom_printf.v0.17.0 ppx_derivers.1.2.1 ppx_diff.v0.17.1 ppx_disable_unused_warnings.v0.17.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_fixed_literal.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_ignore_instrumentation.v0.17.0 ppx_inline_test.v0.17.1 ppx_jane.v0.17.0 ppx_let.v0.17.1 ppx_log.v0.17.0 ppx_module_timer.v0.17.0 ppx_optcomp.v0.17.1 ppx_optional.v0.17.0 ppx_pipebang.v0.17.0 ppx_sexp_conv.v0.17.1 ppx_sexp_message.v0.17.0 ppx_sexp_value.v0.17.0 ppx_stable.v0.17.1 ppx_stable_witness.v0.17.0 ppx_string.v0.17.0 ppx_string_conv.v0.17.0 ppx_tydi.v0.17.1 ppx_typerep_conv.v0.17.1 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 re.1.13.2 result.1.5 seq.base sexp_pretty.v0.17.0 sexplib.v0.17.0 sexplib0.v0.17.0 sexps-rewriter.0.0.3 spawn.v0.17.0 splittable_random.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 stdune.3.19.1 time_now.v0.17.0 timezone.v0.17.0 topkg.1.0.8 typerep.v0.17.1 uopt.v0.17.0 variantslib.v0.17.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y dunolint.dev dunolint-tests.dev dunolint-lib.dev dunolint-dev.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-07-04 15:10.35: Using cache hint "mbarbin/dunolint-ocaml/opam:fedora-42-ocaml-5.3@sha256:ca935fbf20f8d83e78dff4d973011a91d32565d7d98af772da42600dd103623c-fedora-42-5.3_opam-2.3-36023b1cfc7a8e929a366355a7cbd276"
2025-07-04 15:10.35: Using OBuilder spec:
((from ocaml/opam:fedora-42-ocaml-5.3@sha256:ca935fbf20f8d83e78dff4d973011a91d32565d7d98af772da42600dd103623c)
(comment fedora-42-5.3_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (network host)
(shell "sudo dnf install -y findutils"))
(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-dev.opam)
(dst ./))
(run (network host)
(shell "opam pin add -yn dunolint.dev './' && \
\nopam pin add -yn dunolint-tests.dev './' && \
\nopam pin add -yn dunolint-lib.dev './' && \
\nopam pin add -yn dunolint-dev.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base_bigstring.v0.17.0 base_quickcheck.v0.17.1 bin_prot.v0.17.0-1 camlp-streams.5.0.1 capitalization.v0.17.0 cmdlang.0.0.9 cmdlang-stdlib-runner.0.0.9 cmdlang-to-cmdliner.0.0.9 cmdliner.1.3.0 core.v0.17.1 core_kernel.v0.17.0 core_unix.v0.17.1 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 dyn.3.19.1 expect_test_helpers_core.v0.17.0 fieldslib.v0.17.0 file-rewriter.0.0.3 fmt.0.10.0 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 gel.v0.17.0 int_repr.v0.17.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 loc.0.2.2 logs.0.8.0 mdx.2.5.0 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.19.1 parsexp.v0.17.0 patdiff.v0.17.0 patience_diff.v0.17.0 pp.2.0.0 pplumbing.0.0.14 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_bench.v0.17.1 ppx_bin_prot.v0.17.1 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_custom_printf.v0.17.0 ppx_derivers.1.2.1 ppx_diff.v0.17.1 ppx_disable_unused_warnings.v0.17.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_fixed_literal.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_ignore_instrumentation.v0.17.0 ppx_inline_test.v0.17.1 ppx_jane.v0.17.0 ppx_let.v0.17.1 ppx_log.v0.17.0 ppx_module_timer.v0.17.0 ppx_optcomp.v0.17.1 ppx_optional.v0.17.0 ppx_pipebang.v0.17.0 ppx_sexp_conv.v0.17.1 ppx_sexp_message.v0.17.0 ppx_sexp_value.v0.17.0 ppx_stable.v0.17.1 ppx_stable_witness.v0.17.0 ppx_string.v0.17.0 ppx_string_conv.v0.17.0 ppx_tydi.v0.17.1 ppx_typerep_conv.v0.17.1 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 re.1.13.2 result.1.5 seq.base sexp_pretty.v0.17.0 sexplib.v0.17.0 sexplib0.v0.17.0 sexps-rewriter.0.0.3 spawn.v0.17.0 splittable_random.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 stdune.3.19.1 time_now.v0.17.0 timezone.v0.17.0 topkg.1.0.8 typerep.v0.17.1 uopt.v0.17.0 variantslib.v0.17.0")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y dunolint.dev dunolint-tests.dev dunolint-lib.dev dunolint-dev.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)
2025-07-04 15:10.35: Waiting for resource in pool OCluster
2025-07-04 15:10.35: Waiting for worker…
2025-07-04 15:10.36: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
HEAD is now at e20fdc3 DO NOT MERGE
(from ocaml/opam:fedora-42-ocaml-5.3@sha256:ca935fbf20f8d83e78dff4d973011a91d32565d7d98af772da42600dd103623c)
2025-07-04 15:11.13 ---> saved as "6219cec5618da56ab7f2d1a249180f4afe319ecdd103db509824f628c646fc56"
/: (comment fedora-42-5.3_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (network host)
(shell "sudo dnf install -y findutils"))
Updating and loading repositories:
Fedora 42 openh264 (From Cisco) - x86_ 100% | 9.7 KiB/s | 986.0 B | 00m00s
Fedora 42 - x86_64 - Updates 100% | 166.6 KiB/s | 21.0 KiB | 00m00s
Fedora 42 - x86_64 100% | 210.0 KiB/s | 26.9 KiB | 00m00s
Fedora 42 openh264 (From Cisco) - x86_ 100% | 20.3 KiB/s | 5.8 KiB | 00m00s
Fedora 42 - x86_64 - Updates 100% | 6.0 MiB/s | 4.3 MiB | 00m01s
Repositories loaded.
Package "findutils-1:4.10.0-5.fc42.x86_64" is already installed.
Nothing to do.
2025-07-04 15:11.18 ---> saved as "b1f0db1fada5631e0e8a089e4b21d3aba9fcebb8766eb6c5a9e6a096ca963ec7"
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-04 15:11.18 ---> saved as "36f20adfdb7a1fd3920d73b330c5ff2e9a27026c342876b307bcafc268e4eecd"
/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then 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 development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [y/n] y
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-07-04 15:11.53 ---> saved as "183296d1720211aca3f522267709abbd22789de72e87a55022fd39b32feff80b"
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-142-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-04 15:11.54 ---> saved as "626b7abede693a100c736148e8f886bf78f49cecf8d70aa67da157cd49d141e7"
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-04 15:11.54 ---> saved as "4994b2b063705049a578a29c9bf8c120bb196e13f645e32fb92443c24d9db643"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
bc726805e3..ee56c84f60 master -> origin/master
382e02b4c1 Merge pull request #28124 from kit-ty-kate/opam-publish-re.1.13.2
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository
Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-07-04 15:12.49 ---> saved as "76291ffe5761cb804b3e69c5b5aa63678106797cc7792ad7ee81b272a97c48a1"
/src: (copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-dev.opam)
(dst ./))
2025-07-04 15:12.49 ---> saved as "7d460218b7951a92c083b49deedd31d0dc2b1970d73f0416e4ad1ca6fdeabfb8"
/src: (run (network host)
(shell "opam pin add -yn dunolint.dev './' && \
\nopam pin add -yn dunolint-tests.dev './' && \
\nopam pin add -yn dunolint-lib.dev './' && \
\nopam pin add -yn dunolint-dev.dev './'"))
[dunolint.dev] synchronised (file:///src)
dunolint is now pinned to file:///src (version dev)
Package dunolint-tests does not exist, create as a NEW package? [y/n] y
[dunolint-tests.dev] synchronised (file:///src)
dunolint-tests is now pinned to file:///src (version dev)
[dunolint-lib.dev] synchronised (file:///src)
dunolint-lib is now pinned to file:///src (version dev)
Package dunolint-dev does not exist, create as a NEW package? [y/n] y
[dunolint-dev.dev] synchronised (file:///src)
dunolint-dev is now pinned to file:///src (version dev)
2025-07-04 15:12.53 ---> saved as "4e7f018616405caf4aa25e075fa16ef362caa56536053626be76c395e870ab6a"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-04 15:12.53 ---> saved as "3d868804cdb35b1efc478952497a87c551c0d17aefb54c9ba7b0cccea9b5db06"
/src: (env DEPS "astring.0.8.5 base.v0.17.3 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base base_bigstring.v0.17.0 base_quickcheck.v0.17.1 bin_prot.v0.17.0-1 camlp-streams.5.0.1 capitalization.v0.17.0 cmdlang.0.0.9 cmdlang-stdlib-runner.0.0.9 cmdlang-to-cmdliner.0.0.9 cmdliner.1.3.0 core.v0.17.1 core_kernel.v0.17.0 core_unix.v0.17.1 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 dyn.3.19.1 expect_test_helpers_core.v0.17.0 fieldslib.v0.17.0 file-rewriter.0.0.3 fmt.0.10.0 fpath.0.7.3 fpath-base.0.3.1 fpath-sexp0.0.3.1 gel.v0.17.0 int_repr.v0.17.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 loc.0.2.2 logs.0.8.0 mdx.2.5.0 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ordering.3.19.1 parsexp.v0.17.0 patdiff.v0.17.0 patience_diff.v0.17.0 pp.2.0.0 pplumbing.0.0.14 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_bench.v0.17.1 ppx_bin_prot.v0.17.1 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_custom_printf.v0.17.0 ppx_derivers.1.2.1 ppx_diff.v0.17.1 ppx_disable_unused_warnings.v0.17.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_fixed_literal.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_ignore_instrumentation.v0.17.0 ppx_inline_test.v0.17.1 ppx_jane.v0.17.0 ppx_let.v0.17.1 ppx_log.v0.17.0 ppx_module_timer.v0.17.0 ppx_optcomp.v0.17.1 ppx_optional.v0.17.0 ppx_pipebang.v0.17.0 ppx_sexp_conv.v0.17.1 ppx_sexp_message.v0.17.0 ppx_sexp_value.v0.17.0 ppx_stable.v0.17.1 ppx_stable_witness.v0.17.0 ppx_string.v0.17.0 ppx_string_conv.v0.17.0 ppx_tydi.v0.17.1 ppx_typerep_conv.v0.17.1 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 re.1.13.2 result.1.5 seq.base sexp_pretty.v0.17.0 sexplib.v0.17.0 sexplib0.v0.17.0 sexps-rewriter.0.0.3 spawn.v0.17.0 splittable_random.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 stdune.3.19.1 time_now.v0.17.0 timezone.v0.17.0 topkg.1.0.8 typerep.v0.17.1 uopt.v0.17.0 variantslib.v0.17.0")
/src: (env CI true)
/src: (env OCAMLCI true)
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y dunolint.dev dunolint-tests.dev dunolint-lib.dev dunolint-dev.dev $DEPS"))
+ /usr/sbin/sudo "yum" "makecache"
- Updating and loading repositories:
- Repositories loaded.
- Metadata cache created.
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[dunolint.dev] synchronised (file:///src)
[dunolint-dev.dev] synchronised (file:///src)
[dunolint-lib.dev] synchronised (file:///src)
[dunolint-tests.dev] synchronised (file:///src)
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
2025-07-04 15:13.07 ---> saved as "2c99556ff5a07f5ac415c4738bd887095ff9a5386973c82b574c14b03e6a5d4a"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 101 packages
- install astring 0.8.5
- install base v0.17.3
- install base_bigstring v0.17.0
- install base_quickcheck v0.17.1
- install bin_prot v0.17.0-1
- install camlp-streams 5.0.1
- install capitalization v0.17.0
- install cmdlang 0.0.9
- install cmdlang-stdlib-runner 0.0.9
- install cmdlang-to-cmdliner 0.0.9
- install cmdliner 1.3.0
- install core v0.17.1
- install core_kernel v0.17.0
- install core_unix v0.17.1
- install cppo 1.8.0
- install csexp 1.5.2
- install dune 3.19.1
- install dune-configurator 3.19.1
- install dyn 3.19.1
- install expect_test_helpers_core v0.17.0
- install fieldslib v0.17.0
- install file-rewriter 0.0.3
- install fmt 0.10.0
- install fpath 0.7.3
- install fpath-base 0.3.1
- install fpath-sexp0 0.3.1
- install gel v0.17.0
- install int_repr v0.17.0
- install jane-street-headers v0.17.0
- install jst-config v0.17.0
- install loc 0.2.2
- install logs 0.8.0
- install mdx 2.5.0
- install num 1.6
- install ocaml-compiler-libs v0.17.0
- install ocaml-version 4.0.1
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ordering 3.19.1
- install parsexp v0.17.0
- install patdiff v0.17.0
- install patience_diff v0.17.0
- install pp 2.0.0
- install pplumbing 0.0.14
- install ppx_assert v0.17.0
- install ppx_base v0.17.0
- install ppx_bench v0.17.1
- install ppx_bin_prot v0.17.1
- install ppx_cold v0.17.0
- install ppx_compare v0.17.0
- install ppx_custom_printf v0.17.0
- install ppx_derivers 1.2.1
- install ppx_diff v0.17.1
- install ppx_disable_unused_warnings v0.17.0
- install ppx_enumerate v0.17.0
- install ppx_expect v0.17.3
- install ppx_fields_conv v0.17.0
- install ppx_fixed_literal v0.17.0
- install ppx_globalize v0.17.2
- install ppx_hash v0.17.0
- install ppx_here v0.17.0
- install ppx_ignore_instrumentation v0.17.0
- install ppx_inline_test v0.17.1
- install ppx_jane v0.17.0
- install ppx_let v0.17.1
- install ppx_log v0.17.0
- install ppx_module_timer v0.17.0
- install ppx_optcomp v0.17.1
- install ppx_optional v0.17.0
- install ppx_pipebang v0.17.0
- install ppx_sexp_conv v0.17.1
- install ppx_sexp_message v0.17.0
- install ppx_sexp_value v0.17.0
- install ppx_stable v0.17.1
- install ppx_stable_witness v0.17.0
- install ppx_string v0.17.0
- install ppx_string_conv v0.17.0
- install ppx_tydi v0.17.1
- install ppx_typerep_conv v0.17.1
- install ppx_variants_conv v0.17.1
- install ppxlib 0.36.0
- install ppxlib_jane v0.17.4
- install re 1.13.2
- install result 1.5
- install seq base
- install sexp_pretty v0.17.0
- install sexplib v0.17.0
- install sexplib0 v0.17.0
- install sexps-rewriter 0.0.3
- install spawn v0.17.0
- install splittable_random v0.17.0
- install stdio v0.17.0
- install stdlib-shims 0.3.0
- install stdune 3.19.1
- install time_now v0.17.0
- install timezone v0.17.0
- install topkg 1.0.8
- install typerep v0.17.1
- install uopt v0.17.0
- install variantslib v0.17.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5 (cached)
-> retrieved base_bigstring.v0.17.0 (cached)
-> retrieved base.v0.17.3 (cached)
-> retrieved base_quickcheck.v0.17.1 (cached)
-> retrieved bin_prot.v0.17.0-1 (cached)
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved capitalization.v0.17.0 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved core.v0.17.1 (cached)
-> retrieved cmdlang.0.0.9, cmdlang-stdlib-runner.0.0.9, cmdlang-to-cmdliner.0.0.9 (cached)
-> retrieved core_kernel.v0.17.0 (cached)
-> retrieved core_unix.v0.17.1 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved expect_test_helpers_core.v0.17.0 (cached)
-> retrieved fieldslib.v0.17.0 (cached)
-> retrieved file-rewriter.0.0.3, sexps-rewriter.0.0.3 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved fpath-base.0.3.1, fpath-sexp0.0.3.1 (cached)
-> retrieved gel.v0.17.0 (cached)
-> retrieved int_repr.v0.17.0 (cached)
-> retrieved jane-street-headers.v0.17.0 (cached)
-> retrieved jst-config.v0.17.0 (cached)
-> retrieved loc.0.2.2 (cached)
-> retrieved logs.0.8.0 (cached)
-> retrieved num.1.6 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved mdx.2.5.0 (cached)
-> retrieved ocaml-version.4.0.1 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parsexp.v0.17.0 (cached)
-> retrieved patdiff.v0.17.0 (cached)
-> retrieved patience_diff.v0.17.0 (cached)
-> retrieved pp.2.0.0 (cached)
-> retrieved pplumbing.0.0.14 (cached)
-> retrieved ppx_assert.v0.17.0 (cached)
-> retrieved ppx_base.v0.17.0 (cached)
-> retrieved ppx_bench.v0.17.1 (cached)
-> retrieved ppx_bin_prot.v0.17.1 (cached)
-> retrieved ppx_cold.v0.17.0 (cached)
-> retrieved ppx_compare.v0.17.0 (cached)
-> retrieved ppx_custom_printf.v0.17.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_diff.v0.17.1 (cached)
-> retrieved ppx_disable_unused_warnings.v0.17.0 (cached)
-> retrieved ppx_enumerate.v0.17.0 (cached)
-> retrieved ppx_expect.v0.17.3 (cached)
-> retrieved ppx_fields_conv.v0.17.0 (cached)
-> retrieved ppx_fixed_literal.v0.17.0 (cached)
-> retrieved ppx_globalize.v0.17.2 (cached)
-> retrieved ppx_here.v0.17.0 (cached)
-> retrieved ppx_hash.v0.17.0 (cached)
-> retrieved ppx_ignore_instrumentation.v0.17.0 (cached)
-> retrieved ppx_inline_test.v0.17.1 (cached)
-> retrieved ppx_jane.v0.17.0 (cached)
-> retrieved ppx_let.v0.17.1 (cached)
-> retrieved ppx_log.v0.17.0 (cached)
-> retrieved ppx_module_timer.v0.17.0 (cached)
-> retrieved ppx_optcomp.v0.17.1 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1, dyn.3.19.1, ordering.3.19.1, stdune.3.19.1 (cached)
-> retrieved ppx_optional.v0.17.0 (cached)
-> retrieved ppx_pipebang.v0.17.0 (cached)
-> retrieved ppx_sexp_conv.v0.17.1 (cached)
-> retrieved ppx_sexp_message.v0.17.0 (cached)
-> retrieved ppx_sexp_value.v0.17.0 (cached)
-> retrieved ppx_stable.v0.17.1 (cached)
-> retrieved ppx_stable_witness.v0.17.0 (cached)
-> retrieved ppx_string.v0.17.0 (cached)
-> retrieved ppx_string_conv.v0.17.0 (cached)
-> retrieved ppx_tydi.v0.17.1 (cached)
-> retrieved ppx_typerep_conv.v0.17.1 (cached)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> installed ocamlbuild.0.16.1
-> retrieved ppx_variants_conv.v0.17.1 (cached)
-> retrieved ppxlib_jane.v0.17.4 (cached)
-> retrieved re.1.13.2 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved result.1.5 (cached)
-> retrieved sexp_pretty.v0.17.0 (cached)
-> retrieved sexplib.v0.17.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved spawn.v0.17.0 (cached)
-> retrieved splittable_random.v0.17.0 (cached)
-> retrieved stdio.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved timezone.v0.17.0 (cached)
-> retrieved time_now.v0.17.0 (cached)
-> retrieved ppxlib.0.36.0 (cached)
-> retrieved topkg.1.0.8 (cached)
-> retrieved typerep.v0.17.1 (cached)
-> retrieved uopt.v0.17.0 (cached)
-> retrieved variantslib.v0.17.0 (cached)
-> installed ocamlfind.1.9.8
-> installed topkg.1.0.8
-> installed fmt.0.10.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed logs.0.8.0
-> installed dune.3.19.1
-> installed camlp-streams.5.0.1
-> installed cmdlang.0.0.9
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed jane-street-headers.v0.17.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed pp.2.0.0
-> installed ppx_derivers.1.2.1
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed spawn.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed cmdlang-stdlib-runner.0.0.9
-> installed cmdlang-to-cmdliner.0.0.9
-> installed fpath-sexp0.0.3.1
-> installed re.1.13.2
-> installed ordering.3.19.1
-> installed dune-configurator.3.19.1
-> installed parsexp.v0.17.0
-> installed dyn.3.19.1
-> installed sexplib.v0.17.0
-> installed mdx.2.5.0
-> installed stdune.3.19.1
-> installed loc.0.2.2
-> installed file-rewriter.0.0.3
-> installed pplumbing.0.0.14
-> installed sexps-rewriter.0.0.3
-> installed base.v0.17.3
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed fpath-base.0.3.1
-> installed stdio.v0.17.0
-> installed typerep.v0.17.1
-> installed ppxlib.0.36.0
-> installed ppxlib_jane.v0.17.4
-> installed ppx_optcomp.v0.17.1
-> installed ppx_tydi.v0.17.1
-> installed ppx_disable_unused_warnings.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_typerep_conv.v0.17.1
-> installed ppx_variants_conv.v0.17.1
-> installed ppx_stable_witness.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_ignore_instrumentation.v0.17.0
-> installed ppx_fixed_literal.v0.17.0
-> installed ppx_pipebang.v0.17.0
-> installed ppx_stable.v0.17.1
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.2
-> installed ppx_compare.v0.17.0
-> installed ppx_optional.v0.17.0
-> installed ppx_sexp_conv.v0.17.1
-> installed ppx_let.v0.17.1
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_sexp_value.v0.17.0
-> installed ppx_sexp_message.v0.17.0
-> installed ppx_custom_printf.v0.17.0
-> installed ppx_base.v0.17.0
-> installed capitalization.v0.17.0
-> installed jst-config.v0.17.0
-> installed sexp_pretty.v0.17.0
-> installed bin_prot.v0.17.0-1
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_bin_prot.v0.17.1
-> installed ppx_string_conv.v0.17.0
-> installed ppx_module_timer.v0.17.0
-> installed ppx_inline_test.v0.17.1
-> installed ppx_bench.v0.17.1
-> installed ppx_expect.v0.17.3
-> installed splittable_random.v0.17.0
-> installed base_quickcheck.v0.17.1
-> installed ppx_log.v0.17.0
-> installed ppx_jane.v0.17.0
-> installed uopt.v0.17.0
-> installed gel.v0.17.0
-> installed int_repr.v0.17.0
-> installed base_bigstring.v0.17.0
-> installed ppx_diff.v0.17.1
-> installed core.v0.17.1
-> installed expect_test_helpers_core.v0.17.0
-> installed timezone.v0.17.0
-> installed patience_diff.v0.17.0
-> installed core_kernel.v0.17.0
-> installed core_unix.v0.17.1
-> installed patdiff.v0.17.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-04 15:20.08 ---> saved as "dd919223c780d0fdcadd742ec8a06be4f447efba72fc2e49fe5312f37f326208"
/src: (copy (src .) (dst /src))
2025-07-04 15:20.09 ---> saved as "464d748e1cabcf093d9bbf66f9223a5705eb039505b839da2d2b62943bcbe1c7"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "doc/docs/explanation/linting-equilibrium/comments-in-libraries.md", line 1, characters 0-0:
(cd _build/default && /home/opam/.opam/5.3/bin/patdiff -keep-whitespace -location-style omake doc/docs/explanation/linting-equilibrium/comments-in-libraries.md doc/docs/explanation/linting-equilibrium/.mdx/comments-in-libraries.md.corrected)
------ doc/docs/explanation/linting-equilibrium/comments-in-libraries.md
++++++ doc/docs/explanation/linting-equilibrium/.mdx/comments-in-libraries.md.corrected
File "doc/docs/explanation/linting-equilibrium/comments-in-libraries.md", line 10, characters 0-1:
|# Comments in `libraries`
|
|The `libraries` dependencies listed in `library` stanzas are sorted alphabetically. For example, this dune file:
|
|```sh
|$ cat > dune0 <<EOF\
|> (library\
|> (name my_lib)\
|> (libraries foo bar baz))
+|sh: line 4: warning: here-document at line 1 delimited by end-of-file (wanted `EOF')
|```
|
|is linted as follows:
|
|```sh
|$ dunolint tools lint-file dune0 --filename=dune
|(library
| (name my_lib)
| (libraries bar baz foo))
|```
|
|The process of reordering the libraries items becomes more complex in the presence of comments. This section illustrates how comments are handled in this field, discusses limitations, and suggests conventions to satisfy the linter in certain unsupported cases.
|
|## End-of-line Comments
|
|When a comment is placed next to an entry, the tool assumes that it is attached to that item and moves it along with the item during reordering.
File "test/cram/interactive.t", line 1, characters 0-0:
(cd _build/.sandbox/d3c920787d3310da3300b6d6107d949c/default && /home/opam/.opam/5.3/bin/patdiff -keep-whitespace -location-style omake test/cram/interactive.t test/cram/interactive.t.corrected)
------ test/cram/interactive.t
++++++ test/cram/interactive.t.corrected
File "test/cram/interactive.t", line 82, characters 0-1:
| $ echo 'q' | dunolint lint --config=.dunolint --interactive
| Would edit file "dune-project":
| -1,1 +1,1
| -|(name main)
| +|(name foo)
|
| [?] Accept diff [N/y/q/?]:
|
|We can choose to refuse some diff, and accept others.
|
| $ echo 'n\ny\n' | dunolint lint --config=.dunolint --interactive
| Would edit file "dune-project":
| -1,1 +1,1
| -|(name main)
| +|(name foo)
|
-| [?] Accept diff [N/y/q/?]:
-| Would edit file "lib/foo/dune":
-| -1,2 +1,2
-| (library
-| -| (name bar))
-| +| (name foo))
+| [?] Accept diff [N/y/q/?]: [!] Please answer 'n', 'y', 'q' or '?'.
|
| [?] Accept diff [N/y/q/?]:
|
| $ cat dune-project
| (name main)
|
| $ cat lib/foo/dune
| (library
-| (name foo))
+| (name bar))
File "test/cram/lint-file.t", line 1, characters 0-0:
(cd _build/.sandbox/b17656e2bc4b40c485ca17f93c49958d/default && /home/opam/.opam/5.3/bin/patdiff -keep-whitespace -location-style omake test/cram/lint-file.t test/cram/lint-file.t.corrected)
------ test/cram/lint-file.t
++++++ test/cram/lint-file.t.corrected
File "test/cram/lint-file.t", line 20, characters 0-1:
|By default the command reads from `stdin`.
|
| $ echo '(lang dune 3.17)' | dunolint tools lint-file
| Error: Cannot infer the file kind from the filename "stdin".
| Hint: You may override the filename with the flag [--filename].
| [123]
|
|However, when using the command that way, the linted file kind won't be
|inferred. The filename must end with a basename that indicates a supported mode.
|
| $ echo '(lang dune 3.17)' | dunolint tools lint-file --filename=dune-project
| (lang dune 3.17)
|
|By default, the contents is auto-formatted.
|
| $ echo '(lang\n dune\n 3.17)' | dunolint tools lint-file --filename=dune-project
-| (lang dune 3.17)
+| (lang\n dune\n 3.17)
|
|The formatting may however be disabled.
|
| $ echo '(lang\n dune\n 3.17)' \
| > | dunolint tools lint-file --filename=dune-project \
| > --format-file=false
-| (lang
-| dune
-| 3.17)
+| (lang\n dune\n 3.17)
|
|We note here a point of potential confusion:
|
|1. Dunolint ignores the toplevel stanzas that it does not parse.
|
|The reason for this is to be future proof, and also because we are not going to
|necessarily support 100% of dune construct in dunolint, leaving aside those that
|offer little linting interest.
|
|2. `dune format-dune-file` works regardless of whether it is called on file
|`dune`, or `dune-project`.
|
|What this means for our dunolint command is that a user may be confused into
|thinking they have linted their file correctly, based on the fact that it is
|correctly formatted, failing to realize that all stanzas are in fact ignored.
|
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-07-04 15:20.24: Job failed: Failed: Build failed