2026-03-23 09:24.49: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/heads/main (4607ca057db2fe8ecbad638ec906f4b24e554965) (linux-x86_64:ubuntu-25.04-5.4_opam-2.5) Base: ocaml/opam:ubuntu-25.04-ocaml-5.4@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115 Opam project build To reproduce locally: git clone --recursive "https://github.com/realworldocaml/mdx.git" -b "main" && cd "mdx" && git reset --hard 4607ca05 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:ubuntu-25.04-ocaml-5.4@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115 # ubuntu-25.04-5.4_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 b479391466e5245dda12ec6a6de5f4b13b6d603f || git fetch origin master) && git reset -q --hard b479391466e5245dda12ec6a6de5f4b13b6d603f && 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-domains.base base-effects.base base-nnp.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.22.0 dune-configurator.3.22.0 fmt.0.11.0 logs.0.10.0 lwt.6.1.1 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.4 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.14.0 result.1.5 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-03-23 09:24.49: Using cache hint "realworldocaml/mdx-ocaml/opam:ubuntu-25.04-ocaml-5.4@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115-ubuntu-25.04-5.4_opam-2.5-3958cd1c3a5d9f3355c7bd5ce7a2452d" 2026-03-23 09:24.49: Using OBuilder spec: ((from ocaml/opam:ubuntu-25.04-ocaml-5.4@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115) (comment ubuntu-25.04-5.4_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 b479391466e5245dda12ec6a6de5f4b13b6d603f || git fetch origin master) && git reset -q --hard b479391466e5245dda12ec6a6de5f4b13b6d603f && 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 (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-domains.base base-effects.base base-nnp.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.22.0 dune-configurator.3.22.0 fmt.0.11.0 logs.0.10.0 lwt.6.1.1 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.4 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.14.0 result.1.5 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-03-23 09:24.49: Waiting for resource in pool OCluster 2026-03-23 10:02.55: Waiting for worker… 2026-03-23 10:07.56: Got resource from pool OCluster Building on eumache All commits already cached HEAD is now at 4607ca0 Merge pull request #475 from anmonteiro/anmonteiro/ocaml-5.5 (from ocaml/opam:ubuntu-25.04-ocaml-5.4@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115) Unable to find image 'ocaml/opam:ubuntu-25.04-ocaml-5.4@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115' locally docker.io/ocaml/opam@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115: Pulling from ocaml/opam c62190a9ab61: Already exists 9a2e0901dff5: Already exists b1f9cc70ae42: Already exists ce0546b0dd1f: Already exists 79301f00e8ba: Already exists 9b295b25667c: Already exists a31f71beef5e: Already exists 5f6f7ff1dd75: Already exists 3326c804f772: Already exists dbc305c5cd35: Already exists c2cccf40b87f: Already exists 45e66d8ca585: Already exists fcefa7241269: Already exists 5bf160151561: Already exists 874b2264723c: Already exists ada98df8f669: Already exists ab8d0ea6e4f6: Already exists ab8d0ea6e4f6: Already exists 18a72a4bedd6: Already exists bfcd7ea0ace8: Already exists 76a18c947be5: Already exists 6fd9d51ce26c: Already exists 4f4fb700ef54: Already exists 77d410803a59: Already exists 44e2dad9dd55: Already exists b51e285283d3: Already exists dd8da5b96ca2: Already exists b46c436fcec9: Already exists a9e62b40a1cc: Already exists f5ab56558ad4: Already exists 8f52d3d09866: Already exists 39ac1f9b485e: Already exists 503fbe92c3b9: Already exists f3db52c04fc1: Already exists 3bb40995af78: Already exists c83fbf1c12e8: Already exists ad31772f43a8: Already exists ce60cf8100fe: Already exists 0205937477da: Already exists 24ccf4b3cee6: Already exists 04a8b415dd1b: Already exists a0a04868c053: Already exists c2855634128b: Already exists 45975b81f847: Already exists a05a44f66e3d: Already exists 798eed38fd5f: Already exists 45a2275c2287: Already exists bfa4a39a96d8: Already exists Digest: sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115 Status: Downloaded newer image for ocaml/opam@sha256:1392b3374151dde502298fb402f7e5cbd3d536daa09298b8390cbcf47436e115 2026-03-23 10:07.56 ---> using "95bdebae0a545d6ea94d55419bd063ed0c35f612d0599400a10d8512d69a6778" from cache /: (comment ubuntu-25.04-5.4_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-03-23 10:07.56 ---> using "daac9f0907cd3aeff57945845e42d9387a97cc331d813ddd108b4acd63bf7314" 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 [NOTE] The 'jobs' option was reset, its value was 255 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=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-03-23 10:07.56 ---> using "034505edb0785968949353ccef53d2e6734e76b1b0ed109cb92459e2abc9bfa3" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 5.15.0-131-generic The OCaml toplevel, version 5.4.0 2.5.0 2026-03-23 10:07.56 ---> using "0347616b6723c8f712d85b59de102a237bd72b0458d03e761a1ef51167d830b2" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-03-23 10:07.56 ---> using "334e6a11ef2042edf5439ad61b8d56383c8cff74ab21835cd8e65661afcd8e68" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e b479391466e5245dda12ec6a6de5f4b13b6d603f || git fetch origin master) && git reset -q --hard b479391466e5245dda12ec6a6de5f4b13b6d603f && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD ffb54b9bdd..63b7ba71be master -> origin/master b479391466 Merge pull request #29567 from mtelvers/opam-publish-ocaml-version.4.0.4 <><> 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.5.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-03-23 10:07.56 ---> using "e77329af500781ab04ba21858690384b4e0cba9b7312022f223dbd29585ac60e" from cache /src: (copy (src mdx.opam) (dst ./)) 2026-03-23 10:07.58 ---> saved as "238d7a760aaf85f2743b648fcd79c201591dcf23dbdfbb5ae2ff0c5202777be4" /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-03-23 10:08.02 ---> saved as "cdd9c7ac4955501a3d7633151ca442f1ce6d9c1e08aa139f7214435324b9e719" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-03-23 10:08.03 ---> saved as "107125be3c826a82edd3224877f82831a892483e9764a0719321f3cda2db5ccf" /src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.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.22.0 dune-configurator.3.22.0 fmt.0.11.0 logs.0.10.0 lwt.6.1.1 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.4 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.14.0 result.1.5 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" - Hit:1 http://archive.ubuntu.com/ubuntu plucky InRelease - Hit:2 http://archive.ubuntu.com/ubuntu plucky-updates InRelease - Hit:3 http://security.ubuntu.com/ubuntu plucky-security InRelease - Hit:4 http://archive.ubuntu.com/ubuntu plucky-backports InRelease - 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 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml is already installed (current version is 5.4.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). # To update the current shell environment, run: eval $(opam env) 2026-03-23 10:08.25 ---> saved as "eccd972334b0c219b42662161ada191dfec56ca950ef9cac8d1c62ca5f473534" /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.4.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml is already installed (current version is 5.4.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 22 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.22.0 - install dune-configurator 3.22.0 - install fmt 0.11.0 - install logs 0.10.0 - install lwt 6.1.1 - install ocaml-syntax-shims 1.0.0 - install ocaml-version 4.0.4 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ocplib-endian 1.2 - install re 1.14.0 - install result 1.5 - 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.10.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved lwt.6.1.1 (cached) -> retrieved ocaml-version.4.0.4 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocplib-endian.1.2 (cached) -> retrieved re.1.14.0 (cached) -> retrieved result.1.5 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.22.0, dune-configurator.3.22.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 uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed dune.3.22.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.4 -> installed result.1.5 -> installed stdlib-shims.0.3.0 -> installed re.1.14.0 -> installed ocplib-endian.1.2 -> installed alcotest.1.9.1 -> installed dune-configurator.3.22.0 -> installed lwt.6.1.1 -> installed logs.0.10.0 Done. # To update the current shell environment, run: eval $(opam env) 2026-03-23 10:10.15 ---> saved as "fb05f4fb89f52b045808ebba63feafd4728540038ece71c02f4ee15b3531e10a" /src: (copy (src .) (dst /src)) 2026-03-23 10:10.17 ---> saved as "47a14a80c065f5f2f32770be5d21892f74767a554ed1c6049767c3b17896e820" /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 `GBBG9MPN'. [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.010s. 56 tests run. 2026-03-23 10:10.36 ---> saved as "3b98b87d2447032ee937dcd7c1473e73c85436daaa55cb7e3b976d60d3fc324b" Job succeeded 2026-03-23 10:10.36: Job succeeded