2026-01-16 11:40.32: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/heads/main (5c97b27cf8723d87fd00d350b75e7f32f021c8d6) (linux-x86_64:debian-13-4.12_opam-2.5) Base: ocaml/opam:debian-13-ocaml-4.12@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038 Opam project build To reproduce locally: git clone --recursive "https://github.com/realworldocaml/mdx.git" -b "main" && cd "mdx" && git reset --hard 5c97b27c cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-13-ocaml-4.12@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038 # debian-13-4.12_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.5 /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 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 mdx.opam ./ RUN opam pin add -yn mdx.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.2.1.0 cppo.1.8.0 csexp.1.5.2 dune.3.21.0 dune-configurator.3.21.0 fmt.0.11.0 logs.0.8.0 lwt.5.9.2 ocaml.4.12.1 ocaml-base-compiler.4.12.1 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.3 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.12.0 result.1.5 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y mdx.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 2026-01-16 11:40.32: Using cache hint "realworldocaml/mdx-ocaml/opam:debian-13-ocaml-4.12@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038-debian-13-4.12_opam-2.5-c54bed50363997821d8f2635b0ccbea4" 2026-01-16 11:40.32: Using OBuilder spec: ((from ocaml/opam:debian-13-ocaml-4.12@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038) (comment debian-13-4.12_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.5 /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 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src mdx.opam) (dst ./)) (run (network host) (shell "opam pin add -yn mdx.dev './'")) (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.2.1.0 cppo.1.8.0 csexp.1.5.2 dune.3.21.0 dune-configurator.3.21.0 fmt.0.11.0 logs.0.8.0 lwt.5.9.2 ocaml.4.12.1 ocaml-base-compiler.4.12.1 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.3 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.12.0 result.1.5 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4") (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.5 --depext-only -y mdx.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")) ) 2026-01-16 11:40.32: Waiting for resource in pool OCluster 2026-01-16 15:38.37: Waiting for worker… 2026-01-16 15:40.54: Got resource from pool OCluster Building on clete All commits already cached HEAD is now at 5c97b27 Merge pull request #472 from jonludlam/release-2.5.1 (from ocaml/opam:debian-13-ocaml-4.12@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038) Unable to find image 'ocaml/opam:debian-13-ocaml-4.12@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038' locally docker.io/ocaml/opam@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038: Pulling from ocaml/opam 281b80c799de: Already exists ce76feb86791: Already exists 7984eb0e5b45: Already exists 56c452a960b1: Already exists b85825bef00a: Already exists d6ff43dfb85c: Already exists 4197ec645389: Already exists 37cac33e41ff: Already exists 4cb993fb248e: Already exists ca442870f91f: Already exists b1d1a2fb5f4a: Already exists 0dea577b2801: Already exists cc10daaea4fd: Already exists 5f878cb1723a: Already exists 8968959fa983: Already exists 5bdd9b9ed0e3: Already exists 55661c5b388f: Already exists 55661c5b388f: Already exists 92d1dc6907bd: Already exists 7100b414728b: Already exists a6a54ddc9818: Already exists a920ad627810: Already exists 4f4fb700ef54: Already exists f7df7b6e19c0: Already exists cd713d66718c: Already exists 6ed45ab2af86: Already exists 40598b80a8fe: Already exists 983f7969ff00: Already exists 40ec09ee09bd: Already exists 76a0afa38cd9: Already exists 1d5a564d139a: Already exists 82883b85a4f0: Already exists 1d8458efd73b: Already exists 2d80a9fac9ac: Already exists 4d69ee6ae94b: Already exists ce8d28b713f1: Already exists 97580d938033: Already exists da5fa40e04f8: Already exists d7a499968f64: Already exists 28e5932c7c69: Already exists 81389c423fc3: Already exists f92a0f0aaea0: Already exists ac89c33108b9: Already exists edd4f679570b: Already exists c47cd963f4a7: Already exists Digest: sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038 Status: Downloaded newer image for ocaml/opam@sha256:f51226ec5f36dd1e8b49ce9fbf72802b56a966af2e830c77a1fd80360461e038 2026-01-16 15:40.54 ---> using "572e91790779f2d8323329f50200c2d96fba8fe8bc6cab5afb294d8bc8813a28" from cache /: (comment debian-13-4.12_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) 2026-01-16 15:40.54 ---> using "a33b8eb770c06ef4773b3467391caf4e138833bbd862d7ab5095e85b264082a5" from cache /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 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-01-16 15:40.54 ---> using "41d6beba1df5db8731486a5317168b5bccb8ab9e97b0c4a7a2f271b8afa8ccde" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-90-generic The OCaml toplevel, version 4.12.1 2.5.0 2026-01-16 15:40.54 ---> using "3e1e0cdc48caab2b4cb0dc2901f74008baeb48bec15ef51113cffda12f3737d7" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-01-16 15:40.54 ---> using "b597d1457a54582522d02bed068f5b823220397f6a030aafb53fe310d6d5b5fa" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 16d9c0eb87..873cb18c37 master -> origin/master 873cb18c37 Merge pull request #29216 from shonfeder/release-dune-3.21.0 <><> 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 at these versions (e.g. "opam upgrade ocaml.5.4.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2026-01-16 15:40.54 ---> using "d5a805d4ed049c531cd8952c911366a71bfe1c48fa1fb4d5ac2abda3f33bf3e0" from cache /src: (copy (src mdx.opam) (dst ./)) 2026-01-16 15:40.55 ---> saved as "3e69523303c1e1b8ba0904e855cb4a1c65630b5d48deb5dd655c445f1102d923" /src: (run (network host) (shell "opam pin add -yn mdx.dev './'")) [mdx.dev] synchronised (file:///src) mdx is now pinned to file:///src (version dev) 2026-01-16 15:40.59 ---> saved as "edc78830dd7367a4bb5bc9545f890742a39f1020fe08623d5ee1ef0f5bbe4186" /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-01-16 15:40.59 ---> saved as "197d59e0f541dd7480e1d2c7351394ac4318626248f7ecac2d32441d4829e0b2" /src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.2.1.0 cppo.1.8.0 csexp.1.5.2 dune.3.21.0 dune-configurator.3.21.0 fmt.0.11.0 logs.0.8.0 lwt.5.9.2 ocaml.4.12.1 ocaml-base-compiler.4.12.1 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.3 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.12.0 result.1.5 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4") /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.5 --depext-only -y mdx.dev $DEPS")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian trixie InRelease [140 kB] - 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 trixie/main amd64 Packages [9670 kB] - Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [95.9 kB] - Fetched 9997 kB in 2s (4598 kB/s) - Reading package lists... - <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [mdx.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 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.12.1). [NOTE] Package ocaml is already installed (current version is 4.12.1). [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-bigarray is already installed (current version is base). # To update the current shell environment, run: eval $(opam env) 2026-01-16 15:41.25 ---> saved as "fd2cf2b7a9a024d3105d58d6793bd9265b3ec0e8ebb088ecefe571c3d0795a01" /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 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.12.1). [NOTE] Package ocaml is already installed (current version is 4.12.1). [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-bigarray is already installed (current version is base). The following actions will be performed: === install 23 packages - install alcotest 1.9.1 - install astring 0.8.5 - install base-bytes base - install camlp-streams 5.0.1 - install cmdliner 2.1.0 - install cppo 1.8.0 - install csexp 1.5.2 - install dune 3.21.0 - install dune-configurator 3.21.0 - install fmt 0.11.0 - install logs 0.8.0 - install lwt 5.9.2 - install ocaml-syntax-shims 1.0.0 - install ocaml-version 4.0.3 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ocplib-endian 1.2 - install re 1.12.0 - install result 1.5 - install seq base - install stdlib-shims 0.3.0 - install topkg 1.1.1 - install uutf 1.0.4 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved alcotest.1.9.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved logs.0.8.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocaml-version.4.0.3 (cached) -> retrieved lwt.5.9.2 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocplib-endian.1.2 (cached) -> retrieved result.1.5 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved re.1.12.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.21.0, dune-configurator.3.21.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed base-bytes.base -> installed topkg.1.1.1 -> installed fmt.0.11.0 -> installed uutf.1.0.4 -> installed astring.0.8.5 -> installed dune.3.21.0 -> installed result.1.5 -> installed stdlib-shims.0.3.0 -> installed csexp.1.5.2 -> installed camlp-streams.5.0.1 -> installed cppo.1.8.0 -> installed ocaml-syntax-shims.1.0.0 -> installed ocaml-version.4.0.3 -> installed re.1.12.0 -> installed ocplib-endian.1.2 -> installed alcotest.1.9.1 -> installed dune-configurator.3.21.0 -> installed lwt.5.9.2 -> installed logs.0.8.0 Done. # To update the current shell environment, run: eval $(opam env) 2026-01-16 15:43.21 ---> saved as "80d99e4270219c041acc90e8b57cee2f212dad50886293b1ffb73a2cfc9f34d0" /src: (copy (src .) (dst /src)) 2026-01-16 15:43.22 ---> saved as "b39e273ba0ec66cc19d04d601a9f1e5f9d2c743d69b038e7663c9c41c9151500" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default/test/lib && ./test_mdx_lib.exe) Testing `Mdx'. This run has ID `AYACXNGT'. [OK] Block 0 Header.infer_from_file: "". [OK] Block 1 Header.infer_from_file: "foo". [OK] Block 2 Header.infer_from_file: "foo.bar". [OK] Block 3 Header.infer_from_file: "dune". [OK] Block 4 Header.infer_from_file: "dune-project". [OK] Block 5 Header.infer_from_file: "foo.sh". [OK] Block 6 Header.infer_from_file: "foo/foo/foo.ml". [OK] Block 7 mk: "invalid ocaml". [OK] Block 8 mk: "invalid toplevel". [OK] Label 0 raw_parse: "". [OK] Label 1 raw_parse: "foo=". [OK] Label 2 raw_parse: "foo<>bar". [OK] Label 3 raw_parse: "<bar". [OK] Label 4 raw_parse: "foo<=bar". [OK] Label 5 raw_parse: "foo>bar". [OK] Label 6 raw_parse: ">=". [OK] Label 7 raw_parse: "FOO_BAR=foo_bar". [OK] Label 8 interpret: "". [OK] Label 9 interpret: "foo". [OK] Label 10 interpret: "skip". [OK] Label 11 interpret: "skip". [OK] Label 12 interpret: "version". [OK] Label 13 interpret: "non-deterministic". [OK] Label 14 interpret: "dir". [OK] Label 15 interpret: "set-foo". [OK] Label 16 of_string: "". [OK] Label 17 of_string: ",". [OK] Label 18 of_string: "skip,". [OK] Label 19 of_string: "skip,file=foo.ml". [OK] Dep 0 of_block: "Empty". [OK] Dep 1 of_block: "file:toto.ml". [OK] Dep 2 of_block: "dir:tata/". [OK] Dep 3 of_block: "dir=tata/,skip". [OK] Dep 4 of_line: "block: file=tikitaka.ml". [OK] Dep 5 of_line: "skip + file + dir". [OK] Dep 6 to_sexp: file. [OK] Dep 7 to_sexp: dir. [OK] Syntax 0 infer: "". [OK] Syntax 1 infer: "test.md". [OK] Syntax 2 infer: "test.t". [OK] Syntax 3 infer: "test.ml". [OK] Syntax 4 infer: "test.mli". [OK] Syntax 5 infer: "no_ext". [OK] Util 0 String.english_conjonction: single. [OK] Util 1 String.english_conjonction: two. [OK] Util 2 String.english_conjonction: three. [OK] Util 3 String.english_conjonction: more. [OK] Parts 0 parse: "". [OK] Parts 1 parse: "foo". [OK] Parts 2 parse: " (* $MDX part-begin=bar *) ". [OK] Parts 3 parse: "(* $MDX part-begin=bar ". [OK] Parts 4 parse: " (* $MDX part-end *) ". [OK] Parts 5 parse: " [@@@part \"foobar\"] ". [OK] Parts 6 parse: "[@@@foo \"bar\"]". [OK] Parts 7 parse: "(* $MDX foo *)". [OK] Parts 8 parse: "(* $MDX part-end=foo *)". Full test results in `/src/_build/default/test/lib/_build/_tests/Mdx'. Test Successful in 0.029s. 56 tests run. 2026-01-16 15:43.40 ---> saved as "7c4eb94dfc93599cc855d016b7dcb90fb9b6edb8a02158d6959c50b02f51e87e" Job succeeded 2026-01-16 15:43.40: Job succeeded