2025-07-04 15:14.52: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/heads/main (d8e415f5197ff90ae23d0ad7b044cdd9e5a5f81f) (linux-x86_64:alpine-3.21-5.3_opam-2.3)
Base: ocaml/opam:alpine-3.21-ocaml-5.3@sha256:3343dcc8eef8cc135210194424c75ebe26927358b1a48d0c3c0860cfe43df613
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/realworldocaml/mdx.git" -b "main" && cd "mdx" && git reset --hard d8e415f5
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.21-ocaml-5.3@sha256:3343dcc8eef8cc135210194424c75ebe26927358b1a48d0c3c0860cfe43df613
# alpine-3.21-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
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 mdx.opam ./
RUN opam pin add -yn mdx.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.0 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.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 fmt.0.10.0 logs.0.8.0 lwt.5.9.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.13.2 result.1.5 seq.base stdlib-shims.0.3.0 topkg.1.0.8 uutf.1.0.4"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --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
2025-07-04 15:14.52: Using cache hint "realworldocaml/mdx-ocaml/opam:alpine-3.21-ocaml-5.3@sha256:3343dcc8eef8cc135210194424c75ebe26927358b1a48d0c3c0860cfe43df613-alpine-3.21-5.3_opam-2.3-6135745d74d406c01ba2034abab42014"
2025-07-04 15:14.52: Using OBuilder spec:
((from ocaml/opam:alpine-3.21-ocaml-5.3@sha256:3343dcc8eef8cc135210194424c75ebe26927358b1a48d0c3c0860cfe43df613)
(comment alpine-3.21-5.3_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(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 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.0 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.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 fmt.0.10.0 logs.0.8.0 lwt.5.9.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.13.2 result.1.5 seq.base stdlib-shims.0.3.0 topkg.1.0.8 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.3 --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"))
)
2025-07-04 15:14.52: Waiting for resource in pool OCluster
2025-07-04 17:58.53: Waiting for worker…
2025-07-04 18:01.01: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at d8e415f Merge pull request #464 from rina-forks/main
(from ocaml/opam:alpine-3.21-ocaml-5.3@sha256:3343dcc8eef8cc135210194424c75ebe26927358b1a48d0c3c0860cfe43df613)
2025-07-04 18:01.01 ---> using "3141b9cf5ba038771635d2742247938bc41e269100016f85aeafaf7cfcddc947" from cache
/: (comment alpine-3.21-5.3_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-04 18:01.01 ---> using "80b751ed47c43451e88cd0293ed9a635ccea08011eeda4114e7ec036c06c48a3" 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 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 18:01.01 ---> using "6c30ca4e379a499434293ac7ae4ccb6757139c93d8bc5916b7557572123e5ba0" from cache
/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 18:01.01 ---> using "a3df42546ff5706a2753d5e221aadf5e7ea87ec715342ceb488042e5402600c3" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-04 18:01.01 ---> using "17ab95ba4820eaae0552c498f14e3328c5320ed844b460f0519c8783adab646a" from cache
/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 18:01.01 ---> using "7d1392ff9d45ee1bdc610d742587b6fcda45831941ca51685b96330d07eb5be0" from cache
/src: (copy (src mdx.opam) (dst ./))
2025-07-04 18:01.02 ---> saved as "faddfef71ad638f6e0c40ab1210d744952664d8205a80a18aba127b6a82446f7"
/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)
2025-07-04 18:01.04 ---> saved as "0ce8b1f3320e5085c673d45c549f3bc19c2c4de6231bcd0e17e318256bff3dc4"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-04 18:01.04 ---> saved as "a9795cd6b23b75514194afb61a8c67f28e196222bfbbd191e60f8fe1997c3050"
/src: (env DEPS "alcotest.1.9.0 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.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 fmt.0.10.0 logs.0.8.0 lwt.5.9.1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.13.2 result.1.5 seq.base stdlib-shims.0.3.0 topkg.1.0.8 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.3 --depext-only -y mdx.dev $DEPS"))
+ /usr/bin/sudo "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
- v3.21.3-626-g91d0df3d1c9 [https://dl-cdn.alpinelinux.org/alpine/v3.21/main]
- v3.21.3-626-g91d0df3d1c9 [https://dl-cdn.alpinelinux.org/alpine/v3.21/community]
- v3.23.0_alpha20250612-1543-gfac967521fa [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v3.23.0_alpha20250612-1550-ga402e6eddf9 [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v3.23.0_alpha20250612-1549-g2be3ae90d42 [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 58978 distinct packages available
<><> 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.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 18:01.13 ---> saved as "4528dcbd6e9a9db0fc767669bc469e7cf37615fd8b7d14557df502e40c6542ab"
/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 23 packages
- install alcotest 1.9.0
- install astring 0.8.5
- install base-bytes base
- install camlp-streams 5.0.1
- install cmdliner 1.3.0
- install cppo 1.8.0
- install csexp 1.5.2
- install dune 3.19.1
- install dune-configurator 3.19.1
- install fmt 0.10.0
- install logs 0.8.0
- install lwt 5.9.1
- install ocaml-syntax-shims 1.0.0
- install ocaml-version 4.0.1
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ocplib-endian 1.2
- install re 1.13.2
- install result 1.5
- install seq base
- install stdlib-shims 0.3.0
- install topkg 1.0.8
- install uutf 1.0.4
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved alcotest.1.9.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved logs.0.8.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved lwt.5.9.1 (cached)
-> retrieved ocaml-version.4.0.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved re.1.13.2 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved result.1.5 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved topkg.1.0.8 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
-> installed cmdliner.1.3.0
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed astring.0.8.5
-> installed dune.3.19.1
-> 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.1
-> installed re.1.13.2
-> installed result.1.5
-> installed stdlib-shims.0.3.0
-> installed ocplib-endian.1.2
-> installed alcotest.1.9.0
-> installed dune-configurator.3.19.1
-> installed lwt.5.9.1
-> installed logs.0.8.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-04 18:01.54 ---> saved as "2427e7cef982ed5149b7c5cb0bdb76026a094f59f3304866a72cb75fd6c0e5da"
/src: (copy (src .) (dst /src))
2025-07-04 18:01.55 ---> saved as "91f3f132a7c5b16ff4e948157117a29356d9e7cf03ef400e00710cb6d82f637c"
/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 `E2NMYDLB'.
[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.005s. 56 tests run.
2025-07-04 18:02.02 ---> saved as "07ea27472c87e80051b3518e35d0d6dcdf786b2c9c214f0832f24b38bf01a0f9"
Job succeeded
2025-07-04 18:02.02: Job succeeded