2025-07-22 08:48.44: New job: test robur-coop/ocaml-h1 https://github.com/robur-coop/ocaml-h1.git#refs/heads/master (5e516ee826aef527e40ae6eea41da08795ff256b) (macos-arm64:macos-homebrew-4.14_arm64_opam-2.3)
Base: macos-homebrew-ocaml-4.14
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/robur-coop/ocaml-h1.git" -b "master" && cd "ocaml-h1" && git reset --hard 5e516ee8
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM macos-homebrew-ocaml-4.14
# macos-homebrew-4.14_arm64_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
RUN ln -f ~/local/bin/opam-2.3 ~/local/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
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 h1.opam h1-lwt-unix.opam ./src/./
RUN opam pin add -yn h1.dev './src/./' && \
opam pin add -yn h1-lwt-unix.dev './src/./'
RUN echo '(lang dune 3.0)' > './src/./dune-project'
ENV DEPS="alcotest.1.9.0 angstrom.0.16.1 astring.0.8.5 base.v0.16.4 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 cmdliner.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.10.0 httpun-types.0.2.0 lwt.5.9.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.13.2 seq.base sexplib0.v0.16.0 stdio.v0.16.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 h1.dev h1-lwt-unix.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . ./src
RUN cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-07-22 08:48.44: Using cache hint "robur-coop/ocaml-h1-macos-homebrew-ocaml-4.14-macos-homebrew-4.14_arm64_opam-2.3-f68ffc2c93873a48f440924e5c80f339"
2025-07-22 08:48.44: Using OBuilder spec:
((from macos-homebrew-ocaml-4.14)
(comment macos-homebrew-4.14_arm64_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(run (shell "ln -f ~/local/bin/opam-2.3 ~/local/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(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 h1.opam h1-lwt-unix.opam) (dst ./src/./))
(run (network host)
(shell "opam pin add -yn h1.dev './src/./' && \
\nopam pin add -yn h1-lwt-unix.dev './src/./'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './src/./dune-project'"))
(env DEPS "alcotest.1.9.0 angstrom.0.16.1 astring.0.8.5 base.v0.16.4 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 cmdliner.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.10.0 httpun-types.0.2.0 lwt.5.9.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.13.2 seq.base sexplib0.v0.16.0 stdio.v0.16.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 /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y h1.dev h1-lwt-unix.dev $DEPS"))
(run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst ./src))
(run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build"))
)
2025-07-22 08:48.44: Waiting for resource in pool OCluster
2025-07-22 08:48.44: Waiting for worker…
2025-07-22 08:49.20: Got resource from pool OCluster
Building on m1-worker-01
HEAD is now at db25ae0 Add header about the source of the implementation (websocketaf)
HEAD is now at 5e516ee Merge pull request #8 from swrup/websocket
(from macos-homebrew-ocaml-4.14)
2025-07-22 08:54.15 ---> using "0c60f117aee57abea8364cb033d47bb1d63ff0f68e5ee97378e032498e8442af" from cache
/: (comment macos-homebrew-4.14_arm64_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (run (shell "ln -f ~/local/bin/opam-2.3 ~/local/bin/opam"))
2025-07-22 08:54.16 ---> using "d185bb362ab7a62e22c76fe28c4578fe7a4e17f7cc7bc09a3073972dfb5efd3b" from cache
/: (run (shell "opam init --reinit -ni"))
No configuration file found, using 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 /Users/mac1000/.opam from version 2.1 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [y/n] y
[NOTE] The 'jobs' option was reset, its value was 1 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=1 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///Users/mac1000/opam-repository
2025-07-22 08:54.16 ---> using "1a239dab0512a5f76e4948de67b26faca67b4de935df003aa7f81d4e2d68958d" from cache
/: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Darwin 23.4.0
The OCaml toplevel, version 4.14.2
2.3.0
2025-07-22 08:54.16 ---> using "f52eecff7be584d99550d2f8c42b8f22f9135c2276c46c827a485f089226c5ac" from cache
/: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(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
11bdbee611..14fd69dba0 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:///Users/mac1000/opam-repository
Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
The following packages are not being upgraded because the new versions conflict with other installed packages:
- ocaml.5.5.0
- ocaml-config.3
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-22 08:54.16 ---> using "52ef6060efda8fca6d5658ef1472b4e0a186a948d88ead6d10983e4f82a1db7f" from cache
/: (copy (src h1.opam h1-lwt-unix.opam) (dst ./src/./))
2025-07-22 08:54.16 ---> using "7f0ea133c8dcb8c297d6176abf8b07beffbc17d7c70e7353a734527814c8f2ef" from cache
/: (run (network host)
(shell "opam pin add -yn h1.dev './src/./' && \
\nopam pin add -yn h1-lwt-unix.dev './src/./'"))
[h1.dev] synchronised (file:///Users/mac1000/src)
h1 is now pinned to file:///Users/mac1000/src (version dev)
[h1-lwt-unix.dev] synchronised (file:///Users/mac1000/src)
h1-lwt-unix is now pinned to file:///Users/mac1000/src (version dev)
2025-07-22 08:54.16 ---> using "9ef7c85cc50c44c293b9fbffd2244144405f7f243e76b267fa2c3cbfafb117b4" from cache
/: (run (network host)
(shell "echo '(lang dune 3.0)' > './src/./dune-project'"))
2025-07-22 08:54.16 ---> using "4fb7fe7c0891f5162da811e6ed822b9d33f517b0ca531f6960e5159cfbfd8625" from cache
/: (env DEPS "alcotest.1.9.0 angstrom.0.16.1 astring.0.8.5 base.v0.16.4 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.1 bigstringaf.0.10.0 cmdliner.1.3.0 cppo.1.8.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 faraday.0.8.2 faraday-lwt.0.8.2 faraday-lwt-unix.0.8.2 fmt.0.10.0 httpun-types.0.2.0 lwt.5.9.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocplib-endian.1.2 re.1.13.2 seq.base sexplib0.v0.16.0 stdio.v0.16.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 /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y h1.dev h1-lwt-unix.dev $DEPS"))
+ /opt/homebrew/bin/brew "update"
- ==> Updating Homebrew...
- ==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:20fa657858e44a4b39171d6e4111f8a9716eb62a78ebbd1491d94f90bb7b830a
- Already downloaded: /Users/mac1000/Library/Caches/Homebrew/portable-ruby-3.4.5.arm64_big_sur.bottle.tar.gz
- ==> Pouring portable-ruby-3.4.5.arm64_big_sur.bottle.tar.gz
- ==> Homebrew collects anonymous analytics.
- Read the analytics documentation (and how to opt-out) here:
- https://docs.brew.sh/Analytics
- No analytics have been recorded yet (nor will be during this `brew` run).
-
- ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
- https://github.com/Homebrew/brew#donations
-
- Updated 1 tap (homebrew/cask).
- ==> Outdated Formulae
- gpatch
-
- You have 1 outdated formula installed.
- You can upgrade it with brew upgrade
- or list it with brew outdated.
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[h1.dev] synchronised (file:///Users/mac1000/src)
[h1-lwt-unix.dev] synchronised (file:///Users/mac1000/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-07-22 08:54.16 ---> using "3fae114e9e40229b7c83d3623ac532569e5c2fc4fe87c317b561ecd58f80443b" from cache
/: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(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 29 packages
- install alcotest 1.9.0
- install angstrom 0.16.1
- install astring 0.8.5
- install base v0.16.4
- install base-bytes base
- install base64 3.5.1
- install bigstringaf 0.10.0
- 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 faraday 0.8.2
- install faraday-lwt 0.8.2
- install faraday-lwt-unix 0.8.2
- install fmt 0.10.0
- install httpun-types 0.2.0
- install lwt 5.9.1
- install ocaml-syntax-shims 1.0.0
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ocplib-endian 1.2
- install re 1.13.2
- install seq base
- install sexplib0 v0.16.0
- install stdio v0.16.0
- install stdlib-shims 0.3.0
- install topkg 1.0.8
- install uutf 1.0.4
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved base64.3.5.1 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved alcotest.1.9.0 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved base.v0.16.4 (cached)
-> retrieved faraday.0.8.2, faraday-lwt.0.8.2, faraday-lwt-unix.0.8.2 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved httpun-types.0.2.0 (cached)
-> retrieved lwt.5.9.1 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved re.1.13.2 (cached)
-> retrieved stdio.v0.16.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, dune-configurator.3.19.1 (cached)
-> installed ocamlbuild.0.16.1
-> installed cmdliner.1.3.0
-> 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 stdlib-shims.0.3.0
-> installed csexp.1.5.2
-> installed re.1.13.2
-> installed sexplib0.v0.16.0
-> installed ocaml-syntax-shims.1.0.0
-> installed cppo.1.8.0
-> installed base64.3.5.1
-> installed ocplib-endian.1.2
-> installed alcotest.1.9.0
-> installed dune-configurator.3.19.1
-> installed bigstringaf.0.10.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed httpun-types.0.2.0
-> installed lwt.5.9.1
-> installed faraday-lwt.0.8.2
-> installed faraday-lwt-unix.0.8.2
-> installed base.v0.16.4
-> installed stdio.v0.16.0
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-22 08:54.17 ---> using "b7a03b48baf4ba26946760672f4807ff4f858b80998d7d9a14545c5920aa035e" from cache
/: (copy (src .) (dst ./src))
2025-07-22 08:54.17 ---> using "880b6171da9e00e09cddf854da78d975302464608f4cb4be614ce509a54da60f" from cache
/: (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/lib_test && ./test_h1.exe)
Testing `h1 unit tests'.
This run has ID `XPS4DZRO'.
[OK] websocket 0 parsing ping frame.
[OK] websocket 1 parsing close frame.
[OK] websocket 2 parsing text frame.
[OK] version 0 compare.
[OK] version 1 to_string.
[OK] method 0 is_safe.
[OK] method 1 is_cacheable.
[OK] method 2 is_idempotent.
[OK] iovec 0 lengthv.
[OK] iovec 1 shiftv.
[OK] iovec 2 shiftv raises .
[OK] headers 0 remove.
[OK] headers 1 replace.
[OK] headers 2 CI equal.
[OK] request 0 parse valid.
[OK] request 1 parse invalid errors.
[OK] request 2 body length.
[OK] response 0 parse valid.
[OK] response 1 parse invalid error.
[OK] response 2 body length.
[OK] client connection 0 GET.
[OK] client connection 1 send streaming body.
[OK] client connection 2 Response EOF.
[OK] client connection 3 Response header order preserved.
[OK] client connection 4 report_exn.
[OK] client connection 5 input_shrunk.
[OK] client connection 6 failed response parse.
[OK] client connection 7 schedule read with data availa...
[OK] server connection 0 initial reader state.
[OK] server connection 1 shutdown reader closed.
[OK] server connection 2 single GET.
[OK] server connection 3 multiple GETs.
[OK] server connection 4 asynchronous response.
[OK] server connection 5 echo POST.
[OK] server connection 6 streaming response.
[OK] server connection 7 asynchronous streaming response.
[OK] server connection 8 asynchronous streaming respons...
[OK] server connection 9 empty fixed streaming response.
[OK] server connection 10 empty chunked streaming response.
[OK] server connection 11 connection error.
[OK] server connection 12 synchronous error, synchronous...
[OK] server connection 13 synchronous error, asynchronou...
[OK] server connection 14 asynchronous error, synchronou...
[OK] server connection 15 asynchronous error, asynchrono...
[OK] server connection 16 error while parsing.
[OK] server connection 17 error before read.
[OK] server connection 18 error left unhandled.
[OK] server connection 19 chunked encoding.
[OK] server connection 20 chunked encoding for error.
[OK] server connection 21 blocked write on chunked encod...
[OK] server connection 22 body writing when socket closes.
[OK] server connection 23 writer unexpected eof.
[OK] server connection 24 input shrunk.
[OK] server connection 25 failed request parse.
[OK] server connection 26 bad request.
[OK] server connection 27 multiple requests in single read.
[OK] server connection 28 multiple async requests in sin...
[OK] server connection 29 multiple requests with connect...
[OK] server connection 30 multiple requests with eof.
[OK] server connection 31 parse failure after checkpoint.
[OK] server connection 32 parse failure at eof.
[OK] server connection 33 response finished before body ...
[OK] server connection 34 shutdown in request handler.
[OK] server connection 35 schedule read with data availa...
[OK] server connection 36 test upgrades.
[OK] server connection 37 test upgrade where server does...
[OK] server connection 38 test upgrades.
[OK] server connection 39 test upgrade where server does...
[OK] server connection 40 upgrade.
[OK] server connection 41 upgrade where server does not ...
[OK] server connection 42 upgrade with initial data.
[OK] server connection 43 upgrade with bad body length.
[OK] server connection 44 asynchronous upgrade.
[OK] server connection 45 upgrade interrupted by shutdown.
Full test results in `~/src/_build/default/lib_test/_build/_tests/h1 unit tests'.
Test Successful in 0.199s. 74 tests run.
2025-07-22 08:54.17 ---> using "8f7f03df6719fd10cb8ddb831ef7f8e2277fd9d95ef149798ce01504aa228811" from cache
Job succeeded
2025-07-22 08:54.24: Job succeeded