2024-05-10 16:15.15: New job: test realworldocaml/mdx https://github.com/realworldocaml/mdx.git#refs/pull/450/head (bf481126316dacb5664fed2f3d7d153effc11ef1) (linux-x86_64:(lower-bound))
Base: ocaml/opam@sha256:fda21a992c5df0e509393861bcf1b40849d544491656742979043a148fbba8bb
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/realworldocaml/mdx.git" && cd "mdx" && git fetch origin "refs/pull/450/head" && git reset --hard bf481126
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam@sha256:fda21a992c5df0e509393861bcf1b40849d544491656742979043a148fbba8bb
# debian-12-4.08_opam-2.1
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.1 /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 307e33d08fc4ccc1ea453ab45b0ead8ed574b97b || git fetch origin master) && git reset -q --hard 307e33d08fc4ccc1ea453ab45b0ead8ed574b97b && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 mdx.opam ./
RUN opam pin add -yn mdx.dev './'
ENV DEPS="alcotest.1.0.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.1.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.7 jbuilder.1.0+beta20.1 logs.0.7.0 lwt.4.2.0 mmap.1.0.2 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-version.2.4.0 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 result.1.5 seq.0.2.2 stdlib-shims.0.1.0 topkg.0.9.0 uuidm.0.9.6"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.1 --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
2024-05-10 16:15.15: Using cache hint "realworldocaml/mdx-ocaml/opam@sha256:fda21a992c5df0e509393861bcf1b40849d544491656742979043a148fbba8bb-debian-12-4.08_opam-2.1-41bcffd25b1bcb24a0653fa0020c4f88"
2024-05-10 16:15.15: Using OBuilder spec:
((from ocaml/opam@sha256:fda21a992c5df0e509393861bcf1b40849d544491656742979043a148fbba8bb)
(comment debian-12-4.08_opam-2.1)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.1 /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 307e33d08fc4ccc1ea453ab45b0ead8ed574b97b || git fetch origin master) && git reset -q --hard 307e33d08fc4ccc1ea453ab45b0ead8ed574b97b && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src mdx.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn mdx.dev './'"))
(env DEPS "alcotest.1.0.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.1.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.7 jbuilder.1.0+beta20.1 logs.0.7.0 lwt.4.2.0 mmap.1.0.2 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-version.2.4.0 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 result.1.5 seq.0.2.2 stdlib-shims.0.1.0 topkg.0.9.0 uuidm.0.9.6")
(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.1 --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"))
)
2024-05-10 16:15.15: Waiting for resource in pool OCluster
2024-05-11 10:06.18: Waiting for worker…
2024-05-11 10:10.18: Got resource from pool OCluster
Building on x86-bm-c15.sw.ocaml.org
All commits already cached
HEAD is now at bf48112 Add an 'exec' label to execute include OCaml blocks
(from ocaml/opam@sha256:fda21a992c5df0e509393861bcf1b40849d544491656742979043a148fbba8bb)
2024-05-11 10:10.18 ---> using "e0805034d9e735da2cb99f3eb2cde6a7473dabe8bd1020b5bf9a6e9f3a9991fe" from cache
/: (comment debian-12-4.08_opam-2.1)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam"))
2024-05-11 10:10.18 ---> using "646bc87e0f57317c5ebf610ed55d499e1a9858c6afbb70f9b3c1442beb0c0bc7" 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.1, 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] synchronised from file:///home/opam/opam-repository
2024-05-11 10:10.18 ---> using "3efe606a65f6fe7269ee6813ddd2fa2c2714f24a04a227ae5fb5c7db864c4c57" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-101-generic
The OCaml toplevel, version 4.08.1
2.1.5
2024-05-11 10:10.18 ---> using "6225fba4323f2de754e24da77b187b22e091a3b5bdd8f66c82092a9cc9863ec9" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2024-05-11 10:10.18 ---> using "35c4353ebc362a36ebb5c4ac3584cadf9893526dc08b896ef76d9b395ed9c850" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 307e33d08fc4ccc1ea453ab45b0ead8ed574b97b || git fetch origin master) && git reset -q --hard 307e33d08fc4ccc1ea453ab45b0ead8ed574b97b && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
eb2dcab0d8..2ae169d7d0 master -> origin/master
307e33d08f @dra27 and @Octachron maintain the 4.08+ packages
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from 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.
# Run eval $(opam env) to update the current shell environment
2024-05-11 10:10.18 ---> using "167082e53e3e0b5c6101e17be718ec3e4c289917b8e1d14e9b0bc7b95515b5c7" from cache
/src: (copy (src mdx.opam) (dst ./))
2024-05-11 10:10.18 ---> using "81507391d08ef7f83ece80f54c21087c7426f3e8bf07b3f7490cf496533d46e6" from cache
/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)
2024-05-11 10:10.18 ---> using "227ab016b2332ebcf7256ebb226f17b957d5dda52c090dc702f3fb325961a1a3" from cache
/src: (env DEPS "alcotest.1.0.0 astring.0.8.2 base-bigarray.base base-bytes.base base-threads.base base-unix.base camlp-streams.5.0.1 cmdliner.1.1.0 conf-m4.1 cppo.1.6.1 csexp.1.3.2 dune.3.5.0 fmt.0.8.7 jbuilder.1.0+beta20.1 logs.0.7.0 lwt.4.2.0 mmap.1.0.2 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocaml-version.2.4.0 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 result.1.5 seq.0.2.2 stdlib-shims.0.1.0 topkg.0.9.0 uuidm.0.9.6")
/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.1 --depext-only -y mdx.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [155 kB]
- Fetched 258 kB in 0s (989 kB/s)
- Reading package lists...
-
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[mdx.dev] synchronised (no changes)
[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.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 system packages will first need to be installed:
m4
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "m4"
- debconf: delaying package configuration, since apt-utils is not installed
2024-05-11 10:10.29 ---> saved as "511ad9983e37777bb482a7ed6619213194e5ca2d84342036ed5100f7aa35ad56"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.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 conf-m4 1
- install jbuilder 1.0+beta20.1
- install dune 3.5.0
- install cmdliner 1.1.0
- install ocamlbuild 0.14.0
- install ocamlfind 1.8.0
- install stdlib-shims 0.1.0
- install seq 0.2.2
- install result 1.5
- install mmap 1.0.2
- install camlp-streams 5.0.1
- install base-bytes base
- install topkg 0.9.0
- install ocaml-version 2.4.0
- install csexp 1.3.2
- install re 1.7.2
- install cppo 1.6.1
- install uuidm 0.9.6
- install fmt 0.8.7
- install astring 0.8.2
- install lwt 4.2.0
- install alcotest 1.0.0
- install logs 0.7.0
===== 23 to install =====
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.2 (cached)
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved alcotest.1.0.0 (cached)
-> retrieved cmdliner.1.1.0 (cached)
-> retrieved cppo.1.6.1 (cached)
-> installed conf-m4.1
-> retrieved csexp.1.3.2 (cached)
-> retrieved fmt.0.8.7 (cached)
-> retrieved logs.0.7.0 (cached)
-> retrieved lwt.4.2.0 (cached)
-> retrieved mmap.1.0.2 (cached)
-> retrieved jbuilder.1.0+beta20.1 (cached)
-> retrieved ocaml-version.2.4.0 (cached)
-> retrieved ocamlbuild.0.14.0 (cached)
-> retrieved ocamlfind.1.8.0 (cached)
-> retrieved re.1.7.2 (cached)
-> retrieved result.1.5 (cached)
-> retrieved seq.0.2.2 (cached)
-> retrieved stdlib-shims.0.1.0 (cached)
-> retrieved uuidm.0.9.6 (cached)
-> retrieved topkg.0.9.0 (cached)
-> retrieved dune.3.5.0 (cached)
-> installed cmdliner.1.1.0
-> installed ocamlfind.1.8.0
-> installed base-bytes.base
-> installed ocamlbuild.0.14.0
-> installed jbuilder.1.0+beta20.1
-> installed cppo.1.6.1
-> installed re.1.7.2
-> installed dune.3.5.0
-> installed result.1.5
-> installed mmap.1.0.2
-> installed stdlib-shims.0.1.0
-> installed seq.0.2.2
-> installed camlp-streams.5.0.1
-> installed ocaml-version.2.4.0
-> installed csexp.1.3.2
-> installed lwt.4.2.0
-> installed topkg.0.9.0
-> installed uuidm.0.9.6
-> installed fmt.0.8.7
-> installed astring.0.8.2
-> installed alcotest.1.0.0
-> installed logs.0.7.0
Done.
# Run eval $(opam env) to update the current shell environment
2024-05-11 10:11.30 ---> saved as "fcb93f5a3a9a22d9c612d01dd1fae0c13e67b1bea013bac7cf41fa7a9c043b95"
/src: (copy (src .) (dst /src))
2024-05-11 10:11.30 ---> saved as "f0c81bb7631250a9a419f39b47c0f2370be4d1d18e5f3ce42b647caeed416f59"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "/home/opam/.opam/4.08/lib/re/re.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/emacs/re.emacs.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/glob/re.glob.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/pcre/re.pcre.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/perl/re.perl.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/posix/re.posix.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
File "/home/opam/.opam/4.08/lib/re/str/re.str.dune", line 1, characters 0-0:
Warning: .dune files are ignored since 2.0. Reinstall the library with dune
>= 2.0 to get rid of this warning and enable support for the subsystem this
library provides.
(cd _build/default/test/lib && ./test_mdx_lib.exe)
Testing Mdx.
This run has ID `1BCF8D6C-4B47-4625-A7FE-EB1F7F985BDB`.
[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 *)".
The full test results are available in `/src/_build/default/test/lib/_build/_tests/1BCF8D6C-4B47-4625-A7FE-EB1F7F985BDB`.
Test Successful in 0.000s. 56 tests run.
(cd _build/default/test/bin/mdx-test/expect/exec-include && ../../../../../../install/default/bin/ocaml-mdx test --output - test-case.md) > _build/default/test/bin/mdx-test/expect/exec-include.actual
File "test-case.md", lines 2-5: Error in the OCaml file include code block
./code.mli: No such file or directory
File "test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md _build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis.actual
diff --git a/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md b/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis.actual
index 7082069..aac60a8 100644
--- a/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis/test-case.md
+++ b/_build/default/test/bin/mdx-test/expect/ocaml-errors-ellipsis.actual
@@ -1,6 +1,6 @@
It is possible to use ellipsis (`...`) in the error blocks attached to OCaml blocks, here it is useful as the error message depends on the OCaml version:
-```ocaml version<5.2
+```ocaml version<5.02
module Counter: Irmin.Contents.S with type t = int64 = struct
type t = int64
let t = Irmin.Type.int64
File "test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected _build/default/test/bin/mdx-test/expect/ocaml-errors.actual
diff --git a/_build/default/test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected b/_build/default/test/bin/mdx-test/expect/ocaml-errors.actual
index a6684e6..41aad14 100644
--- a/_build/default/test/bin/mdx-test/expect/ocaml-errors/test-case.md.expected
+++ b/_build/default/test/bin/mdx-test/expect/ocaml-errors.actual
@@ -14,7 +14,7 @@ Error: This 'struct' might be unmatched
```
-```ocaml version>=5.2
+```ocaml version>=5.02
module Counter: Irmin.Contents.S with type t = int64 = struct
type t = int64
let t = Irmin.Type.int64
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2024-05-11 10:11.34: Job failed: Failed: Build failed