2025-12-15 14:41.43: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/martin/node-permission-denied (457b439a95e3b48a9387832d8fd306a04c833af6) (linux-x86_64:alpine-3.22-5.4_opam-2.4) Base: ocaml/opam:alpine-3.22-ocaml-5.4@sha256:8e38c5f7a0619e59e641da986cc6e5a2fb675f58f51a0438d81159631878e8fa Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/atd.git" -b "martin/node-permission-denied" && cd "atd" && git reset --hard 457b439a cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:alpine-3.22-ocaml-5.4@sha256:8e38c5f7a0619e59e641da986cc6e5a2fb675f58f51a0438d81159631878e8fa # alpine-3.22-5.4_opam-2.4 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.4 /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 c65fcb116531ae66ad3316b265e233443ef25044 || git fetch origin master) && git reset -q --hard c65fcb116531ae66ad3316b265e233443ef25044 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 atdts.opam atds.opam atdpy.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 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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 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 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.4 --depext-only -y atdts.dev atds.dev atdpy.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 2025-12-15 14:41.43: Using cache hint "ahrefs/atd-ocaml/opam:alpine-3.22-ocaml-5.4@sha256:8e38c5f7a0619e59e641da986cc6e5a2fb675f58f51a0438d81159631878e8fa-alpine-3.22-5.4_opam-2.4-62b2629b23f11a0873ebdc6b080252cf" 2025-12-15 14:41.43: Using OBuilder spec: ((from ocaml/opam:alpine-3.22-ocaml-5.4@sha256:8e38c5f7a0619e59e641da986cc6e5a2fb675f58f51a0438d81159631878e8fa) (comment alpine-3.22-5.4_opam-2.4) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.4 /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 c65fcb116531ae66ad3316b265e233443ef25044 || git fetch origin master) && git reset -q --hard c65fcb116531ae66ad3316b265e233443ef25044 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src atdts.opam atds.opam atdpy.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 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 (network host) (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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 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 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2") (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.4 --depext-only -y atdts.dev atds.dev atdpy.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")) ) 2025-12-15 14:41.43: Waiting for resource in pool OCluster 2025-12-15 19:29.03: Waiting for worker… 2025-12-15 19:33.00: Got resource from pool OCluster Building on bremusa.ocamllabs.io All commits already cached HEAD is now at 457b439 Remove spurious spaces (hygiene only, not a bug) (from ocaml/opam:alpine-3.22-ocaml-5.4@sha256:8e38c5f7a0619e59e641da986cc6e5a2fb675f58f51a0438d81159631878e8fa) 2025-12-15 19:33.02 ---> using "3610d2e4ecf908516fa5cd0b42f61fa30c0a32fae0d20c6a95c58a2cde134d65" from cache /: (comment alpine-3.22-5.4_opam-2.4) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam")) 2025-12-15 19:33.02 ---> using "820118d0eb54b68c3da09657de32137103a9432395d1f6165aa111c0f0278039" 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 Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2025-12-15 19:33.02 ---> using "25da5b698c660f158fde90556f8568dd476f97ad1a1a7c09c1a532fea86d4a54" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-85-generic The OCaml toplevel, version 5.4.0 2.4.1 2025-12-15 19:33.02 ---> using "8eb7a0bc02b58e6d717d7140ad6c45ee7ca826c5fcee980a470c1cf869ee7ff7" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2025-12-15 19:33.02 ---> using "40d19b76d2f0774b6d2c09fbbab6c31f0be48fa878028495a8fe053c829a6314" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e c65fcb116531ae66ad3316b265e233443ef25044 || git fetch origin master) && git reset -q --hard c65fcb116531ae66ad3316b265e233443ef25044 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 2ec6d6cc92..c65fcb1165 master -> origin/master c65fcb1165 Merge pull request #29080 from dra27/ocaml-config-urls <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Already up-to-date. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2025-12-15 19:33.02 ---> using "f06be5858aa6cbaf552b94ad03975c2f129d6a98e405a5962c6829437060ba03" from cache /src: (copy (src atdts.opam atds.opam atdpy.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) 2025-12-15 19:33.02 ---> using "d7aef389f7047549f5d843ec5777b0f2cfdc648e9b3246c4f7f65d6dd4d743bf" from cache /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 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) [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) 2025-12-15 19:33.02 ---> using "8517377be2cabb153f55eacff9e7de08935b9e73a18368596d382f8d17aa8d98" from cache /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2025-12-15 19:33.02 ---> using "3fda5c4ba87eadbd8d566f6ba763d5bbfc9b7ddfbe55d14996a4966d279b1d7b" from cache /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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 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 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2") /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.4 --depext-only -y atdts.dev atds.dev atdpy.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.2-308-gfeaeb3000e3 [https://dl-cdn.alpinelinux.org/alpine/v3.22/main] - v3.22.2-307-g4886c13aeed [https://dl-cdn.alpinelinux.org/alpine/v3.22/community] - v3.23.0-996-g0679211a501 [https://dl-cdn.alpinelinux.org/alpine/edge/main] - v3.23.0-1010-ge2ad33a3d49 [https://dl-cdn.alpinelinux.org/alpine/edge/community] - v3.23.0-1004-g6d2c6cea0ac [https://dl-cdn.alpinelinux.org/alpine/edge/testing] - OK: 60363 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) [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). 2025-12-15 19:33.02 ---> using "fadbfcef0cec91091d7ed9641e336bb20a857c54905aae2f1e8e5eae78cb9bfd" from cache /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 biniou 1.2.2 - install camlp-streams 5.0.1 - install cmdliner 2.1.0 - install conf-python-3 9.0.0 - install dune 3.20.2 - install easy-format 1.3.4 - install fmt 0.11.0 - install menhir 20250912 - install menhirCST 20250912 - install menhirLib 20250912 - install menhirSdk 20250912 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install re 1.14.0 - install seq base - install stdlib-shims 0.3.0 - install topkg 1.1.1 - install uutf 1.0.4 - install yojson 2.2.2 <><> 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) -> installed conf-python-3.9.0.0 -> retrieved easy-format.1.3.4 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved menhir.20250912, menhirCST.20250912, menhirLib.20250912, menhirSdk.20250912 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved re.1.14.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved yojson.2.2.2 (cached) -> retrieved dune.3.20.2 (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 dune.3.20.2 -> installed easy-format.1.3.4 -> installed menhirCST.20250912 -> installed camlp-streams.5.0.1 -> installed stdlib-shims.0.3.0 -> installed menhirSdk.20250912 -> installed menhirLib.20250912 -> installed biniou.1.2.2 -> installed ocaml-syntax-shims.1.0.0 -> installed re.1.14.0 -> installed yojson.2.2.2 -> installed alcotest.1.9.1 -> installed menhir.20250912 Done. # To update the current shell environment, run: eval $(opam env) 2025-12-15 19:33.02 ---> using "87fcfecd81ff0e04a677e563964d395b6349f93b42ff15c1010e4d5a4731c150" from cache /src: (copy (src .) (dst /src)) 2025-12-15 19:33.09 ---> saved as "5f4ae6369325363727f4ba4f96145af0486c75afed685f8c030257fda384f68f" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default && /home/opam/.opam/5.4/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -27 -safe-string -g -bin-annot -bin-annot-occurrences -I atdj/src/.atdj_main.eobjs/byte -I /home/opam/.opam/5.4/lib/re -I atd/src/.atd.objs/byte -no-alias-deps -opaque -open Dune__exe -o atdj/src/.atdj_main.eobjs/byte/dune__exe__Atdj_main.cmo -c -impl atdj/src/atdj_main.ml) File "_none_", line 1: Alert ocaml_deprecated_auto_include: OCaml's lib directory layout changed in 5.0. The unix subdirectory has been automatically added to the search path, but you should add -I +unix to the command-line to silence this alert (e.g. by adding unix to the list of libraries in your dune file, or adding use_unix to your _tags file for ocamlbuild, or using -package unix for ocamlfind). (cd _build/default && /home/opam/.opam/5.4/bin/ocamlopt.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -27 -safe-string -g -I atdj/src/.atdj_main.eobjs/byte -I atdj/src/.atdj_main.eobjs/native -I /home/opam/.opam/5.4/lib/re -I atd/src/.atd.objs/byte -I atd/src/.atd.objs/native -cmi-file atdj/src/.atdj_main.eobjs/byte/dune__exe__Atdj_main.cmi -no-alias-deps -opaque -open Dune__exe -o atdj/src/.atdj_main.eobjs/native/dune__exe__Atdj_main.cmx -c -impl atdj/src/atdj_main.ml) File "_none_", line 1: Alert ocaml_deprecated_auto_include: OCaml's lib directory layout changed in 5.0. The unix subdirectory has been automatically added to the search path, but you should add -I +unix to the command-line to silence this alert (e.g. by adding unix to the list of libraries in your dune file, or adding use_unix to your _tags file for ocamlbuild, or using -package unix for ocamlfind). 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/atdpy/src/test && ./Main.exe) Testing `atdpy'. This run has ID `L2L2BUJN'. Full test results in `/src/_build/default/atdpy/src/test/_build/_tests/atdpy'. Test Successful in 0.000s. 0 test run. (cd _build/default/atd/test && ./unit_tests.exe) Testing `atd'. This run has ID `5C0NGJU2'. [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.017s. 32 tests run. 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/atdts/src/test && ./Main.exe) Testing `atdts'. This run has ID `O9RYVMVQ'. Full test results in `/src/_build/default/atdts/src/test/_build/_tests/atdts'. Test Successful in 0.000s. 0 test 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 19-29, characters 0-198: 19 | (rule 20 | (alias runtest) 21 | (package atdpy) 22 | (deps 23 | everything.py 24 | (glob_files *.py)) 25 | (action 26 | (progn 27 | (run python3 -m flake8 .) 28 | (run python3 -m mypy --strict .) 29 | (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 57-87, characters 0-907: 57 | (rule 58 | (alias runtest) 59 | (deps .... 85 | ) 86 | ) 87 | ) (cd _build/default/atdcat/test && /usr/bin/python3 -m jsonschema schema.json -i data.json) /usr/bin/python3: No module named jsonschema 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. (cd _build/default/atdgen/test && ./test_atdgen_main.exe) Testing `atdgen'. This run has ID `T9E6RU6F'. [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.020s. 45 tests run. "/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2025-12-15 19:33.27: Job failed: Failed: Build failed