2026-03-17 00:25.24: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/martin/fix-soft-keywords (a4219d36d1add7d741094d3ea462d141e3d8a10f) (linux-x86_64:alpine-3.22-5.4_opam-2.5) Base: ocaml/opam:alpine-3.22-ocaml-5.4@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5 Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/atd.git" -b "martin/fix-soft-keywords" && cd "atd" && git reset --hard a4219d36 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:alpine-3.22-ocaml-5.4@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5 # alpine-3.22-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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam ./ RUN opam pin add -yn atdts.dev './' && \ opam pin add -yn atds.dev './' && \ opam pin add -yn atdpy.dev './' && \ opam pin add -yn atdml.dev './' && \ opam pin add -yn atdj.dev './' && \ opam pin add -yn atdgen.dev './' && \ opam pin add -yn atdgen-runtime.dev './' && \ opam pin add -yn atdgen-codec-runtime.dev './' && \ opam pin add -yn atdd.dev './' && \ opam pin add -yn atdcpp.dev './' && \ opam pin add -yn atd.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.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-17 00:25.24: Using cache hint "ahrefs/atd-ocaml/opam:alpine-3.22-ocaml-5.4@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5-alpine-3.22-5.4_opam-2.5-50c6e615f413ea8a9a9e0569f162696d" 2026-03-17 00:25.24: Using OBuilder spec: ((from ocaml/opam:alpine-3.22-ocaml-5.4@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5) (comment alpine-3.22-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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) (run (network host) (shell "opam pin add -yn atdts.dev './' && \ \nopam pin add -yn atds.dev './' && \ \nopam pin add -yn atdpy.dev './' && \ \nopam pin add -yn atdml.dev './' && \ \nopam pin add -yn atdj.dev './' && \ \nopam pin add -yn atdgen.dev './' && \ \nopam pin add -yn atdgen-runtime.dev './' && \ \nopam pin add -yn atdgen-codec-runtime.dev './' && \ \nopam pin add -yn atdd.dev './' && \ \nopam pin add -yn atdcpp.dev './' && \ \nopam pin add -yn atd.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0") (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 atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.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-17 00:25.24: Waiting for resource in pool OCluster 2026-03-17 00:25.25: Waiting for worker… 2026-03-17 00:30.49: Got resource from pool OCluster Building on phoebe All commits already cached HEAD is now at a4219d3 Fix parsing of soft keywords in ATD files ('from', 'import', 'as') Closes #463 (from ocaml/opam:alpine-3.22-ocaml-5.4@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5) Unable to find image 'ocaml/opam:alpine-3.22-ocaml-5.4@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5' locally docker.io/ocaml/opam@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5: Pulling from ocaml/opam 2d35ebdb57d9: Already exists adfc86c1accf: Already exists d09377907434: Already exists a699cf44908b: Already exists c088e74f1f31: Already exists 7e99e6eaa847: Already exists db4b89a22482: Already exists f1f17593da04: Already exists bb79fbf72548: Already exists cf69890848e3: Already exists 80e325d6146c: Already exists 66a526c41d4c: Already exists 347d38b311ac: Already exists 984612fde4c4: Already exists 0ac0da982daa: Already exists 209c9bca9b0e: Already exists 3d3356d548ff: Already exists c072da09f122: Already exists 4f4fb700ef54: Already exists eff3d806a4a8: Already exists f5c413f5234b: Already exists 09ddc5430e22: Already exists 2c7c283b1afc: Already exists 4af9a971b585: Already exists df8d9be3e30d: Already exists 5e55ae3325a7: Already exists 635cb27b4304: Already exists 898fbde8ad42: Already exists 66c0ffc92413: Already exists c8cca855638d: Already exists 45d2501a899c: Already exists 10b0fe6926c2: Already exists 0a1d7b83a687: Already exists 2c3441915309: Already exists 3d1a575b1bb0: Already exists 6e5fa830b59d: Already exists 72225f5a6449: Already exists 76933219c737: Already exists e40a4a6bb223: Already exists 57877bdece39: Already exists 7f25b65fc90c: Already exists 83104ccb4b47: Already exists 448ea50ba83e: Already exists Digest: sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5 Status: Downloaded newer image for ocaml/opam@sha256:7d7dd1f15b5b094a8c6ec589b462e81fe5f982c5d6f2ac4af2e5e3dcdc1525e5 2026-03-17 00:31.09 ---> saved as "8e7368a35b514e2f693b7ef97549c85525e506baecfd9cb71dfa7c1285b9bf9e" /: (comment alpine-3.22-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-17 00:31.11 ---> saved as "5de1607ed24a4d9a94f038b30a5d26051019ad9d567bd9b920207c8a8790958e" /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. [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 Continue? [Y/n] y Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-03-17 00:32.02 ---> saved as "9a9c4e5cee84ea1f4dd03ef20c73db2f8677135dce421b26bfc6a84a6e4cec86" /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-90-generic The OCaml toplevel, version 5.4.0 2.5.0 2026-03-17 00:32.03 ---> saved as "667074f5be2334a92415ceab74ec15bb59d47bdf0e2beb825eaa389555f40c78" /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-03-17 00:32.04 ---> saved as "33c7b91e3a3fd17dd0b670dfb64c2fe390ea331270d4439429317512d6a40df2" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD a6b2f19780..e589be2bb3 master -> origin/master 31462e7d24 Merge pull request #29451 from dra27/relocatable-package <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible 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-17 00:32.50 ---> saved as "4d0ca7a6b6ceecc051de6732f8054e5af2dec4ad7be3ffa8aca8dd9232a505c0" /src: (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) 2026-03-17 00:32.51 ---> saved as "17470a69af47ad7dbe2e3291ee3a2ecd5a8ec0b54fabef6923eb29159812ca0f" /src: (run (network host) (shell "opam pin add -yn atdts.dev './' && \ \nopam pin add -yn atds.dev './' && \ \nopam pin add -yn atdpy.dev './' && \ \nopam pin add -yn atdml.dev './' && \ \nopam pin add -yn atdj.dev './' && \ \nopam pin add -yn atdgen.dev './' && \ \nopam pin add -yn atdgen-runtime.dev './' && \ \nopam pin add -yn atdgen-codec-runtime.dev './' && \ \nopam pin add -yn atdd.dev './' && \ \nopam pin add -yn atdcpp.dev './' && \ \nopam pin add -yn atd.dev './'")) [atdts.dev] synchronised (file:///src) atdts is now pinned to file:///src (version dev) [atds.dev] synchronised (file:///src) atds is now pinned to file:///src (version dev) [atdpy.dev] synchronised (file:///src) atdpy is now pinned to file:///src (version dev) [NOTE] Package atdml does not exist in opam repositories registered in the current switch. [atdml.dev] synchronised (file:///src) atdml is now pinned to file:///src (version dev) [atdj.dev] synchronised (file:///src) atdj is now pinned to file:///src (version dev) [atdgen.dev] synchronised (file:///src) atdgen is now pinned to file:///src (version dev) [atdgen-runtime.dev] synchronised (file:///src) atdgen-runtime is now pinned to file:///src (version dev) [atdgen-codec-runtime.dev] synchronised (file:///src) atdgen-codec-runtime is now pinned to file:///src (version dev) [atdd.dev] synchronised (file:///src) atdd is now pinned to file:///src (version dev) [atdcpp.dev] synchronised (file:///src) atdcpp is now pinned to file:///src (version dev) [atd.dev] synchronised (file:///src) atd is now pinned to file:///src (version dev) 2026-03-17 00:33.49 ---> saved as "98fb409e741a90051e040cf926a137fc695a300d9713b1dbcaae0f2bd280a7ab" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-03-17 00:33.50 ---> saved as "6cfce2f82bc0d07e616ccba3cada31993ec6185f1fd93e216adb25618a661e6e" /src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0") /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 atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) + /usr/bin/sudo "apk" "update" - fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz - fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/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.22.3-60-g645f190c344 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main] - v3.22.3-66-gd8294338e36 [https://dl-cdn.alpinelinux.org/alpine/v3.22/community] - v20260127-3154-g21df299f874 [https://dl-cdn.alpinelinux.org/alpine/edge/main] - v20260127-3154-g21df299f874 [https://dl-cdn.alpinelinux.org/alpine/edge/community] - v20260127-3103-g489a88edab0 [https://dl-cdn.alpinelinux.org/alpine/edge/testing] - OK: 61059 distinct packages available <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [atd.dev] synchronised (file:///src) [atdcpp.dev] synchronised (file:///src) [atdd.dev] synchronised (file:///src) [atdgen.dev] synchronised (file:///src) [atdgen-codec-runtime.dev] synchronised (file:///src) [atdgen-runtime.dev] synchronised (file:///src) [atdj.dev] synchronised (file:///src) [atdml.dev] synchronised (file:///src) [atdpy.dev] synchronised (file:///src) [atds.dev] synchronised (file:///src) [atdts.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-17 00:34.24 ---> saved as "191fee7628d4fa979229176643c0aa6b31aadc844c06980d4012358335ee16f6" /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 32 packages - install alcotest 1.9.1 - install astring 0.8.5 - install biniou 1.2.2 - install camlp-streams 5.0.1 - install cmdliner 2.1.0 - install conf-python-3 9.0.0 - install cppo 1.8.0 - install dune 3.21.1 - install easy-format 1.3.4 - install fmt 0.11.0 - install fpath 0.7.3 - install menhir 20260209 - install menhirCST 20260209 - install menhirGLR 20260209 - install menhirLib 20260209 - install menhirSdk 20260209 - install ocaml-compiler-libs v0.17.0 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ppx_derivers 1.2.1 - install ppx_deriving 6.1.1 - install ppxlib 0.37.0 - install re 1.14.0 - install sexplib0 v0.17.0 - install stdlib-shims 0.3.0 - install testo 0.4.0 - install testo-diff 0.4.0 - install testo-util 0.4.0 - install topkg 1.1.1 - install uutf 1.0.4 - install yojson 3.0.0 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved alcotest.1.9.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved biniou.1.2.2 (cached) -> retrieved conf-python-3.9.0.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cppo.1.8.0 (cached) -> installed conf-python-3.9.0.0 -> retrieved easy-format.1.3.4 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ocaml-compiler-libs.v0.17.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_deriving.6.1.1 (cached) -> retrieved re.1.14.0 (cached) -> retrieved sexplib0.v0.17.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved ppxlib.0.37.0 (cached) -> retrieved dune.3.21.1 (cached) -> retrieved testo.0.4.0, testo-diff.0.4.0, testo-util.0.4.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved yojson.3.0.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlfind.1.9.8 -> installed ocamlbuild.0.16.1 -> installed topkg.1.1.1 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed dune.3.21.1 -> installed camlp-streams.5.0.1 -> installed easy-format.1.3.4 -> installed menhirCST.20260209 -> installed ppx_derivers.1.2.1 -> installed stdlib-shims.0.3.0 -> installed menhirGLR.20260209 -> installed menhirLib.20260209 -> installed menhirSdk.20260209 -> installed sexplib0.v0.17.0 -> installed cppo.1.8.0 -> installed biniou.1.2.2 -> installed ocaml-syntax-shims.1.0.0 -> installed ocaml-compiler-libs.v0.17.0 -> installed re.1.14.0 -> installed yojson.3.0.0 -> installed alcotest.1.9.1 -> installed menhir.20260209 -> installed ppxlib.0.37.0 -> installed ppx_deriving.6.1.1 -> installed testo-diff.0.4.0 -> installed testo-util.0.4.0 -> installed testo.0.4.0 Done. # To update the current shell environment, run: eval $(opam env) 2026-03-17 00:37.35 ---> saved as "53d519f2f22bb6e5cff67f31a2dbb081aa1876904362177558f058b1b938683b" /src: (copy (src .) (dst /src)) 2026-03-17 00:37.41 ---> saved as "21f2d5662d5891f6be1789f0c9f209de7871fae20cf76af47a1ef7d5439d45b4" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) File "atds/test/dune", lines 13-22, characters 0-177: 13 | (rule 14 | (alias runtest) 15 | (package atds) 16 | (deps 17 | AtdsTest.scala 18 | argonaut_2.11-6.2.2.jar 19 | argonaut_2.12-6.2.2.jar 20 | junit-4.8.2.jar 21 | test.scala) 22 | (action (run ./run_test.sh))) (cd _build/default/atds/test && ./run_test.sh) ./run_test.sh: line 6: scalac: not found (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -o test2j -open Test,Test2,Testj -ntd test2.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_ambiguous_record_j -open Test_ambiguous_record_t -ntd test_ambiguous_record.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_polymorphic_wrap_j test_polymorphic_wrap.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -validate -extend Test test.atd -o testv) Warning: option "-validate" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -extend Test test.atd -json -o testjstd_j) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -extend Test -j-custom-fields 'fun loc s -> Printf.eprintf "Warning: skipping field %s (def: %s) " s loc' test.atd -o testj) Warning: option "-json" is deprecated. File "atdcpp/test/cpp-tests/dune", lines 19-28, characters 0-183: 19 | (rule 20 | (alias runtest) 21 | (package atdcpp) 22 | (deps 23 | (glob_files *.cpp)) 24 | (action 25 | (progn 26 | (bash "g++ -I../../lib/rapidjson/include -std=c++17 %{deps} -o test") 27 | (bash ./test) 28 | ))) (cd _build/default/atdcpp/test/cpp-tests && /bin/bash -e -u -o pipefail -c 'g++ -I../../lib/rapidjson/include -std=c++17 everything_atd.cpp test_atdd.cpp -o test') In file included from everything_atd.cpp:12: everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from test_atdd.cpp:12: everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. File "atdd/test/dlang-tests/dune", lines 17-26, characters 0-141: 17 | (rule 18 | (alias runtest) 19 | (package atdd) 20 | (deps 21 | (glob_files *.d)) 22 | (action 23 | (progn 24 | (bash "ldc2 %{deps} --of test") 25 | (bash ./test) 26 | ))) (cd _build/default/atdd/test/dlang-tests && /bin/bash -e -u -o pipefail -c 'ldc2 everything_atd.d test_atdd.d --of test') /bin/bash: line 1: ldc2: command not found (cd _build/default/atdpy/src/test && ./Main.exe) Testing `atdpy'. This run has ID `DFK1R98U'. Full test results in `/src/_build/default/atdpy/src/test/_build/_tests/atdpy'. Test Successful in 0.000s. 0 test run. (cd _build/default/atdts/src/test && ./Main.exe) Testing `atdts'. This run has ID `89G41P79'. Full test results in `/src/_build/default/atdts/src/test/_build/_tests/atdts'. Test Successful in 0.000s. 0 test run. (cd _build/default/atd/test && ./unit_tests.exe) Testing `atd'. This run has ID `0CMSCBFX'. [OK] Annot 0 valid. [OK] Annot 1 invalid1. [OK] Annot 2 invalid2. [OK] Annot 3 invalid3. [OK] Annot 4 invalid4. [OK] Annot 5 invalid5. [OK] Annot 6 invalid6. [OK] Annot 7 invalid7. [OK] Annot 8 invalid8. [OK] Annot 9 invalid9. [OK] Sort 0 sort. [OK] Unique_name 0 reserved identifiers. [OK] Unique_name 1 reserved prefixes. [OK] Unique_name 2 identifier creation. [OK] Doc 0 normalize "". [OK] Doc 1 normalize "a". [OK] Doc 2 normalize "a b". [OK] Doc 3 normalize "a\nb". [OK] Doc 4 normalize "a b". [OK] Doc 5 normalize "a \n b". [OK] Doc 6 normalize "a \n\n b". [OK] Doc 7 normalize " a ". [OK] Doc 8 normalize "\n\na\n\n". [OK] Doc 9 normalize "{{}}". [OK] Doc 10 normalize "{{a}}". [OK] Doc 11 normalize "{{ a b\n\nc\n }}". [OK] Doc 12 normalize "{{ {a} }}". [OK] Doc 13 normalize "{{{}}}". [OK] Doc 14 normalize "{{{a}}}". [OK] Doc 15 normalize "{{{ }}}". [OK] Doc 16 normalize "{{{ {{a}} }}}". [OK] Doc 17 normalize "{{{ a\n\n b }}}". Full test results in `/src/_build/default/atd/test/_build/_tests/atd'. Test Successful in 0.008s. 32 tests run. File "atdj/test/dune", lines 53-61, characters 0-160: 53 | (rule 54 | (alias runtest) 55 | (package atdj) 56 | (deps 57 | AtdjTest.java 58 | json.jar 59 | junit-4.8.2.jar 60 | (glob_files com/mylife/test/*.java)) 61 | (action (run ./run_test.sh))) (cd _build/default/atdj/test && ./run_test.sh) ./run_test.sh: line 5: javac: not found ./run_test.sh: line 6: javac: not found ./run_test.sh: line 7: javadoc: not found ./run_test.sh: line 10: java: not found File "atdpy/test/python-tests/dune", lines 23-35, characters 0-217: 23 | (rule 24 | (alias runtest) 25 | (package atdpy) .... 33 | (run python3 -m flake8 .) 34 | (run python3 -m mypy --strict .) 35 | (run python3 -m pytest .)))) (cd _build/default/atdpy/test/python-tests && /usr/bin/python3 -m flake8 .) /usr/bin/python3: No module named flake8 File "atdcat/test/dune", lines 64-94, characters 0-907: 64 | (rule 65 | (alias runtest) 66 | (deps .... 92 | ) 93 | ) 94 | ) (cd _build/default/atdcat/test && /usr/bin/python3 -m jsonschema schema.json -i data.json) /usr/bin/python3: No module named jsonschema (cd _build/default/atdgen/test && ./test_atdgen_main.exe) Testing `atdgen'. This run has ID `99RL4WV4'. [OK] atdgen 0 ocaml internals. [OK] atdgen 1 biniou missing record fields. [OK] atdgen 2 biniou missing tuple fields. [OK] atdgen 3 biniou read/write unit. [OK] atdgen 4 json missing record fields. [OK] atdgen 5 json missing tuple fields. [OK] atdgen 6 json extra field warning. [OK] atdgen 7 json association list. [OK] atdgen 8 json association array. [OK] atdgen 9 json ints derived from ocaml floats. [OK] atdgen 10 biniou correctness. [OK] atdgen 11 json correctness. [OK] atdgen 12 json space. [OK] atdgen 13 validators0. [OK] atdgen 14 validators1. [OK] atdgen 15 validators2. [OK] atdgen 16 validators3. [OK] atdgen 17 validators4. [OK] atdgen 18 json files. [OK] atdgen 19 json streams. [OK] atdgen 20 raw JSON. [OK] atdgen 21 ocaml wrapping - ints. [OK] atdgen 22 ocaml wrapping - double wrapping. [OK] atdgen 23 ocaml wrapping - with validation. [OK] atdgen 24 ocaml wrapping - wrap constructor without... [OK] atdgen 25 check length of floats serialized as floa... [OK] atdgen 26 print JSON floats with maximum number of ... [OK] atdgen 27 read json record with null fields meaning... [OK] atdgen 28 read and write a variant represented as a... [OK] atdgen 29 read and write a variant represented as a... [OK] atdgen 30 test variants represented with single-fie... [OK] atdgen 31 emulate the retired tag_field feature. [OK] atdgen 32 emulate the retired tag_field feature, wi... [OK] atdgen 33 test <json open_enum>. [OK] atdgen 34 test ambiguous record with json adapters. [OK] atdgen 35 test ambiguous classic variants with json... [OK] atdgen 36 test wrapping of polymorphic types. [OK] atdgen 37 json encoding int. [OK] atdgen 38 json encoding & decoding int. [OK] atdgen 39 json encoding int with string representat... [OK] atdgen 40 json encoding & decoding int with string ... [OK] atdgen 41 abstract types. [OK] atdgen 42 untyped json. [OK] atdgen 43 generic. [OK] atdgen 44 inline-records. Full test results in `/src/_build/default/atdgen/test/_build/_tests/atdgen'. Test Successful in 0.018s. 45 tests run. "/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2026-03-17 00:37.56: Job failed: Failed: Build failed