2026-03-23 09:24.49: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/heads/main (4607ca057db2fe8ecbad638ec906f4b24e554965) (linux-x86_64:opensuse-15.6-5.4_opam-2.5) Base: ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:d5eedf2db63cad35035cd4beb5f053f9a840735aee88252a355da1bd6a0c1591 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:opensuse-15.6-ocaml-5.4@sha256:d5eedf2db63cad35035cd4beb5f053f9a840735aee88252a355da1bd6a0c1591 # opensuse-15.6-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:opensuse-15.6-ocaml-5.4@sha256:d5eedf2db63cad35035cd4beb5f053f9a840735aee88252a355da1bd6a0c1591-opensuse-15.6-5.4_opam-2.5-3958cd1c3a5d9f3355c7bd5ce7a2452d" 2026-03-23 09:24.49: Using OBuilder spec: ((from ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:d5eedf2db63cad35035cd4beb5f053f9a840735aee88252a355da1bd6a0c1591) (comment opensuse-15.6-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:03.06: Waiting for worker… 2026-03-23 10:08.15: Got resource from pool OCluster Building on asteria.caelum.ci.dev hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> Initialized empty Git repository in /var/cache/obuilder/ocluster/git/mdx.git-d2de2e77d9ee1e0ab29545b86b09ac8204b84f6a/.git/ HEAD is now at 4607ca0 Merge pull request #475 from anmonteiro/anmonteiro/ocaml-5.5 (from ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:d5eedf2db63cad35035cd4beb5f053f9a840735aee88252a355da1bd6a0c1591) 2026-03-23 10:08.59 ---> saved as "c6a1131d87fe81b3c5dd0a1a137a8f5539f4e2f1fd1faba8a2efef22e8c4eba9" /: (comment opensuse-15.6-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:08.59 ---> saved as "aba125f442ebca1613bb2dc403fa17f047432f612fe1fe553be27d9e02cd9dd7" /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-03-23 10:09.22 ---> saved as "9958be451c1edb34a483a57a08196fec3220f75513964403498fe28c613b8a9f" /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-106-generic The OCaml toplevel, version 5.4.0 2.5.0 2026-03-23 10:09.22 ---> saved as "fcd9c1d34ef35aa901203eee22440fe414d47a07fca0ba30d8c25a578321e6ea" /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-03-23 10:09.23 ---> saved as "b971d9c91a5370a63037966e03acbc1f3330aa7e4ec33858cf986917a901851d" /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 4f056bfedf..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:09.36 ---> saved as "b70bd1068637bedba68a57b93f6d68da46237345d260b46cb3c3f0115675e1cc" /src: (copy (src mdx.opam) (dst ./)) 2026-03-23 10:09.36 ---> saved as "4c2a395a0cecac375b44867a20ebb3eb54b90017adec5a628cd6fcbadc884cbc" /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:09.38 ---> saved as "27b4a7cfcbdae1f1a7c770fdde35afd50d1c46eca42cba89320166e63320bd97" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-03-23 10:09.38 ---> saved as "62647ef2e76a6f75275c7a12d267f7636eeb5a0195721851bc2e71bc32eac104" /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 "zypper" "--non-interactive" "refresh" - Retrieving repository 'Update repository of openSUSE Backports' metadata [.. - Looking for gpg keys in repository Update repository of openSUSE Backports. - gpgkey=http://download.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml.key - .... - .... - .... - .... - .... - .... - .... - ............done] - Building repository 'Update repository of openSUSE Backports' cache [.. - ..done] - Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata [.. - Looking for gpg keys in repository Update repository with updates from SUSE Linux Enterprise 15. - gpgkey=http://download.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml.key - ..... - .... - .... - .... - ... - .... - ................. - .......... - ......... - .......... - .......... - .......... - .......... - .......... - .......... - ........ - ......... - ......... - ........ - ......... - .......... - ......... - ......... - ......... - ......... - ............ - ......... - .....done] - Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache [.. - ..done] - Repository 'Main Update Repository' is up to date. - Repository 'Update Repository (Non-Oss)' is up to date. - Repository 'Non-OSS Repository' is up to date. - Repository 'Main Repository' is up to date. - All repositories have been refreshed. <><> 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:10.37 ---> saved as "35edbf0e3b06b55aca12e82984631155e3ae1bed66629fb422b9a4252764ce04" /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 re.1.14.0 -> installed result.1.5 -> installed stdlib-shims.0.3.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:11.18 ---> saved as "fecbb8bfca8d92221126d74e3e4efcd9e851f692ae088ec414948589c0cf3e89" /src: (copy (src .) (dst /src)) 2026-03-23 10:11.19 ---> saved as "212218d0bc3b1867a2446dd105cca5ead20db3680da5971f341f52760081ec6a" /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 `BUPSA0QZ'. [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.004s. 56 tests run. 2026-03-23 10:11.24 ---> saved as "e1ea1a1ee11ca29abfa7a5be9f5c68fc6715ee67321c9be4e27170d47628be48" Job succeeded 2026-03-23 10:11.24: Job succeeded