2025-06-17 14:26.05: New job: test ocaml-community/yojson https://github.com/ocaml-community/yojson.git#refs/heads/master (772d66b70c0ce1319f9ed9fe9087b4187f43ceb5) (linux-x86_64:alpine-3.21-4.14_opam-2.3)
Base: ocaml/opam:alpine-3.21-ocaml-4.14@sha256:2a715c092c4ab201120243e7efc44191d8c5aef3c1bf63ab56cfedfe3a662ad3
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ocaml-community/yojson.git" -b "master" && cd "yojson" && git reset --hard 772d66b7
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.21-ocaml-4.14@sha256:2a715c092c4ab201120243e7efc44191d8c5aef3c1bf63ab56cfedfe3a662ad3
# alpine-3.21-4.14_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 a28eb8a148feb4fbc6466fa0791668993513dbde || git fetch origin master) && git reset -q --hard a28eb8a148feb4fbc6466fa0791668993513dbde && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 yojson.opam yojson-five.opam yojson-bench.opam ./
RUN opam pin add -yn yojson.dev './' && \
opam pin add -yn yojson-five.dev './' && \
opam pin add -yn yojson-bench.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="alcotest.1.9.0 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base benchmark.1.7 cmdliner.1.3.0 dune.3.19.1 fmt.0.10.0 gen.1.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppxlib.0.36.0 re.1.12.0 sedlex.3.6 seq.base sexplib0.v0.17.0 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 yojson.dev yojson-five.dev yojson-bench.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-06-17 14:26.05: Using cache hint "ocaml-community/yojson-ocaml/opam:alpine-3.21-ocaml-4.14@sha256:2a715c092c4ab201120243e7efc44191d8c5aef3c1bf63ab56cfedfe3a662ad3-alpine-3.21-4.14_opam-2.3-5a0d308205d94ee35904c899a125ba24"
2025-06-17 14:26.05: Using OBuilder spec:
((from ocaml/opam:alpine-3.21-ocaml-4.14@sha256:2a715c092c4ab201120243e7efc44191d8c5aef3c1bf63ab56cfedfe3a662ad3)
(comment alpine-3.21-4.14_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 a28eb8a148feb4fbc6466fa0791668993513dbde || git fetch origin master) && git reset -q --hard a28eb8a148feb4fbc6466fa0791668993513dbde && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src yojson.opam yojson-five.opam yojson-bench.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn yojson.dev './' && \
\nopam pin add -yn yojson-five.dev './' && \
\nopam pin add -yn yojson-bench.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-threads.base base-unix.base benchmark.1.7 cmdliner.1.3.0 dune.3.19.1 fmt.0.10.0 gen.1.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppxlib.0.36.0 re.1.12.0 sedlex.3.6 seq.base sexplib0.v0.17.0 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 yojson.dev yojson-five.dev yojson-bench.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-06-17 14:26.05: Waiting for resource in pool OCluster
2025-06-17 14:26.05: Waiting for worker…
2025-06-17 14:26.07: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 772d66b Use a pattern match instead of array indexing
(from ocaml/opam:alpine-3.21-ocaml-4.14@sha256:2a715c092c4ab201120243e7efc44191d8c5aef3c1bf63ab56cfedfe3a662ad3)
2025-06-17 14:26.09 ---> using "cae3f84721b1d1626d38afde4577807843a0da8ba3807fc3f5f4606864be9e98" from cache
/: (comment alpine-3.21-4.14_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-06-17 14:26.09 ---> using "2a1b55d524b2e4107c58bb0f26b0966461f7df889d8d2380d6f73d40780d70fd" 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-06-17 14:26.49 ---> saved as "ee8cb0dc9d3d805aacaba9dc7c4502800e2864636d991c4f741219dd208e85a6"
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-60-generic
The OCaml toplevel, version 4.14.2
2.3.0
2025-06-17 14:26.49 ---> saved as "13db3bce6da9230f287f61b091a5e2118713d0477a02ba9ea85403d455daf23b"
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-06-17 14:26.49 ---> saved as "12e1496ffec8af3593a23abc2f334891938014651abc1cbaa893a5408d93075d"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e a28eb8a148feb4fbc6466fa0791668993513dbde || git fetch origin master) && git reset -q --hard a28eb8a148feb4fbc6466fa0791668993513dbde && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
bc726805e3..c7269f729a master -> origin/master
a28eb8a148 Merge pull request #28017 from maiste/release-dune-3.19.1
<><> 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-06-17 14:27.16 ---> saved as "43d9fb45af61a94bfd041b0a3b765b2a34b33d725942118f283ffcda07bb3307"
/src: (copy (src yojson.opam yojson-five.opam yojson-bench.opam) (dst ./))
2025-06-17 14:27.17 ---> saved as "c02b3306442aae8a4151bc08a96147693fa65fc99ffd24bef52424dc811e1a41"
/src: (run (network host)
(shell "opam pin add -yn yojson.dev './' && \
\nopam pin add -yn yojson-five.dev './' && \
\nopam pin add -yn yojson-bench.dev './'"))
[yojson.dev] synchronised (file:///src)
yojson is now pinned to file:///src (version dev)
[yojson-five.dev] synchronised (file:///src)
yojson-five is now pinned to file:///src (version dev)
[yojson-bench.dev] synchronised (file:///src)
yojson-bench is now pinned to file:///src (version dev)
2025-06-17 14:27.22 ---> saved as "c424b66529aa75a82f74fda714769364eb912e5f5ac6ea48e5d7dc4000e67603"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-06-17 14:27.22 ---> saved as "4d5ab91b790ea925703fe6a68c4e973bc7c6250a0bba1a9611fb1bf9270fe254"
/src: (env DEPS "alcotest.1.9.0 astring.0.8.5 base-bigarray.base base-threads.base base-unix.base benchmark.1.7 cmdliner.1.3.0 dune.3.19.1 fmt.0.10.0 gen.1.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppxlib.0.36.0 re.1.12.0 sedlex.3.6 seq.base sexplib0.v0.17.0 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 yojson.dev yojson-five.dev yojson-bench.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-603-g364e1f9788f [https://dl-cdn.alpinelinux.org/alpine/v3.21/main]
- v3.21.3-605-g3307d5c253d [https://dl-cdn.alpinelinux.org/alpine/v3.21/community]
- v3.23.0_alpha20250612-320-g22b3b4701fd [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v3.23.0_alpha20250612-329-g580bdb406aa [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v3.23.0_alpha20250612-328-g5154c531712 [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 58749 distinct packages available
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[yojson.dev] synchronised (file:///src)
[yojson-bench.dev] synchronised (file:///src)
[yojson-five.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 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[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).
2025-06-17 14:27.33 ---> saved as "1c74b1e609113bdbc9b3268225a077a17756c1de4c99c2689c0ce1561a2c875a"
/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 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[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 20 packages
- install alcotest 1.9.0
- install astring 0.8.5
- install benchmark 1.7
- install cmdliner 1.3.0
- install dune 3.19.1
- install fmt 0.10.0
- install gen 1.1
- install ocaml-compiler-libs v0.12.4
- install ocaml-syntax-shims 1.0.0
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ppx_derivers 1.2.1
- install ppxlib 0.36.0
- install re 1.12.0
- install sedlex 3.6
- install seq base
- install sexplib0 v0.17.0
- install stdlib-shims 0.3.0
- install topkg 1.0.8
- install uutf 1.0.4
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5 (cached)
-> retrieved benchmark.1.7 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved alcotest.1.9.0 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved gen.1.1 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved re.1.12.0 (cached)
-> retrieved sedlex.3.6 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved ppxlib.0.36.0 (cached)
-> retrieved sexplib0.v0.17.0 (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 (cached)
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> 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 ppx_derivers.1.2.1
-> installed stdlib-shims.0.3.0
-> installed benchmark.1.7
-> installed sexplib0.v0.17.0
-> installed gen.1.1
-> installed re.1.12.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed alcotest.1.9.0
-> installed ppxlib.0.36.0
-> installed sedlex.3.6
Done.
# To update the current shell environment, run: eval $(opam env)
2025-06-17 14:28.23 ---> saved as "95d1f27723770db50527dd4467474e966603f4fb4d001e46fc00d91200c5a40f"
/src: (copy (src .) (dst /src))
2025-06-17 14:28.23 ---> saved as "f984b0e195b325d9768f33ca71b0884ad5ed3c010add9dce9123555e7b378811"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test && ./test.exe)
Testing `Yojson'.
This run has ID `D1ATGFUX'.
[OK] equality 0 Scalar equality.
[OK] equality 1 List equality.
[OK] equality 2 Assoc equality.
[OK] read 0 from_string.
[OK] read 1 from_crlf_string.
[OK] read 2 from_string_fail_simple.
[OK] read 3 from_string_fail_lines.
[OK] read 4 from_string_fail_bytes.
[OK] read 5 from_string_fail_unterminated.
[OK] read 6 from_string_fail_nested_unterminated.
[OK] read 7 from_string_fail_unterminated_structure.
[OK] read 8 from_string_fail_unstarted_structure.
[OK] read 9 from_string_fail_unstarted_object.
[OK] read 10 from_string_fail_large_int.
[OK] read 11 from_string_fail_escaped_char.
[OK] read 12 from_file.
[OK] read 13 unquoted_from_string.
[OK] read 14 map_ident.
[OK] write 0 to_file with default settings.
[OK] write 1 to_file with newline.
[OK] write 2 to_file without newline.
[OK] write 3 to_string with default settings.
[OK] write 4 to_string with newline.
[OK] write 5 to_string without newline.
[OK] write 6 seq_to_file with default settings.
[OK] write 7 seq_to_file with newline.
[OK] write 8 seq_to_file without newline.
[OK] util 0 empty path.
[OK] util 1 non-existing path.
[OK] util 2 traversal.
Full test results in `/src/_build/default/test/_build/_tests/Yojson'.
Test Successful in 0.003s. 30 tests run.
(cd _build/default/test_json5 && ./test.exe)
Testing `JSON5'.
This run has ID `O73U6415'.
[OK] parsing 0 Unexpected line break.
[OK] parsing 1 true.
[OK] parsing 2 false.
[OK] parsing 3 null.
[OK] parsing 4 double quotes string.
[OK] parsing 5 single quotes string.
[OK] parsing 6 float.
[OK] parsing 7 hex.
[OK] parsing 8 hex escape sequence.
[OK] parsing 9 unicode escape sequence.
[OK] parsing 10 more string escaping.
[OK] parsing 11 escaping quotes.
[OK] parsing 12 more escaping quotes.
[OK] parsing 13 escaping other chars.
[OK] parsing 14 built in escapes.
[OK] parsing 15 null byte string.
[OK] parsing 16 octal string.
[OK] parsing 17 null and octal string.
[OK] parsing 18 int.
[OK] parsing 19 backslash escape.
[OK] parsing 20 line break.
[OK] parsing 21 string and comment.
[OK] parsing 22 empty object.
[OK] parsing 23 object with double quote string.
[OK] parsing 24 object with single quote string.
[OK] parsing 25 object with unquoted string.
[OK] parsing 26 trailing comma in object.
[OK] parsing 27 colon in key.
[OK] parsing 28 multiple trailing commas in object.
[OK] parsing 29 just trailing comma in object.
[OK] parsing 30 just trailing commas in object.
[OK] parsing 31 multiple colons in object.
[OK] parsing 32 newline in key.
[OK] parsing 33 empty list.
[OK] parsing 34 heterogenous list.
[OK] parsing 35 trailing comma in list.
[OK] parsing 36 trailing comma with space list.
[OK] parsing 37 newlines in list.
[OK] parsing 38 multiple trailing commas in list.
[OK] parsing 39 just trailing comma in list.
[OK] parsing 40 multiple trailing commas in list.
[OK] parsing 41 More elaborated.
[OK] parsing 42 unexpected EOF in list.
[OK] parsing 43 unexpected EOF on different line.
[OK] parsing 44 unexpected EOF in assoc.
[OK] parsing 45 missing colon in assoc.
[OK] parsing 46 bad identifier in assoc.
[OK] writing 0 Empty object.
[OK] writing 1 Empty list.
[OK] writing 2 true.
[OK] writing 3 false.
[OK] writing 4 null.
[OK] writing 5 string.
[OK] writing 6 float.
[OK] writing 7 hex.
[OK] writing 8 int.
Full test results in `/src/_build/default/test_json5/_build/_tests/JSON5'.
Test Successful in 0.004s. 56 tests run.
2025-06-17 14:28.26 ---> saved as "f0956337f4789b077458a8c4194525bf4b2e2c1e61acd4a75c11b8f984840caa"
Job succeeded
2025-06-17 14:28.26: Job succeeded