2024-06-30 13:59.47: New job: test mirage/ocaml-cohttp https://github.com/mirage/ocaml-cohttp.git#refs/pull/1038/head (7ad68de66474e70e0dc908607887ee8abdb25a1c) (linux-x86_64:(lint-fmt)) Base: ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609 ocamlformat version: version 0.25.1 (from opam) To reproduce locally: git clone --recursive "https://github.com/mirage/ocaml-cohttp.git" && cd "ocaml-cohttp" && git fetch origin "refs/pull/1038/head" && git reset --hard 7ad68de6 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609 USER 1000:1000 RUN cd ~/opam-repository && (git cat-file -e a6069b9eebba0e2b70cdbbd834bc800eb6d671fb || git fetch origin master) && git reset -q --hard a6069b9eebba0e2b70cdbbd834bc800eb6d671fb && git log --no-decorate -n1 --oneline && opam update -u RUN opam depext -i dune WORKDIR /src RUN opam depext -i ocamlformat=0.25.1 COPY --chown=1000:1000 . /src/ RUN opam exec -- dune build @fmt --ignore-promoted-rules || (echo "dune build @fmt failed"; exit 2) END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2024-06-30 13:59.47: Using cache hint "mirage/ocaml-cohttp-ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609-debian-12-4.08_opam-2.1-ocamlformat-a6069b9eebba0e2b70cdbbd834bc800eb6d671fb" 2024-06-30 13:59.47: Using OBuilder spec: ((from ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609) (user (uid 1000) (gid 1000)) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e a6069b9eebba0e2b70cdbbd834bc800eb6d671fb || git fetch origin master) && git reset -q --hard a6069b9eebba0e2b70cdbbd834bc800eb6d671fb && git log --no-decorate -n1 --oneline && opam update -u")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i dune")) (workdir /src) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i ocamlformat=0.25.1")) (copy (src .) (dst /src/)) (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)")) ) 2024-06-30 13:59.47: Waiting for resource in pool OCluster 2024-06-30 14:10.20: Waiting for worker… 2024-06-30 14:13.59: Got resource from pool OCluster Building on x86-bm-c1.sw.ocaml.org All commits already cached HEAD is now at 7ad68de6 fix cohttp not working with HTTP line folding (from ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609) Unable to find image 'ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609' locally docker.io/ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609: Pulling from ocaml/opam 32aa6089d8b4: Pulling fs layer 32aa6089d8b4: Verifying Checksum 32aa6089d8b4: Download complete 32aa6089d8b4: Pull complete Digest: sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609 Status: Downloaded newer image for ocaml/opam@sha256:2a1f8dec7c586360764c898993d435aea0db4200799babfa08b3b600d6bf4609 2024-06-30 14:14.00 ---> using "20ade4b6db603de4c3d3c7688e2141ab550c5db85c35791db0d4befd2f9e45d0" from cache /: (user (uid 1000) (gid 1000)) /: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e a6069b9eebba0e2b70cdbbd834bc800eb6d671fb || git fetch origin master) && git reset -q --hard a6069b9eebba0e2b70cdbbd834bc800eb6d671fb && git log --no-decorate -n1 --oneline && opam update -u")) a6069b9eeb [new release] dune (15 packages) (3.16.0) <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from file:///home/opam/opam-repository default (at file:///home/opam/opam-repository): [INFO] opam 2.1 includes many performance improvements over 2.0; please consider upgrading (https://opam.ocaml.org/doc/Install.html) 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-06-30 14:14.00 ---> using "611f99113b8eff40d7b05496ac40878251881d20d0d0f82061a58449451818e0" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i dune")) # Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian # No extra OS packages requirements found. # All required OS packages found. # Now letting opam install the packages The following actions will be performed: - install dune 3.16.0 <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [dune.3.16.0] found in cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed dune.3.16.0 Done. # Run eval $(opam env) to update the current shell environment 2024-06-30 14:14.00 ---> using "93fe4dba2ad9c2d06e78131314a07326068c040feffac1658ff18606c4876dbd" from cache /: (workdir /src) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i ocamlformat=0.25.1")) # Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian # No extra OS packages requirements found. # All required OS packages found. # Now letting opam install the packages The following actions will be performed: - install sexplib0 v0.14.0 [required by base] - install ocamlbuild 0.14.3 [required by fpath, astring, uuseg] - install menhirCST 20231231 [required by menhir] - install either 1.0.0 [required by ocamlformat-lib] - install menhirSdk 20231231 [required by ocamlformat-lib] - install ocamlfind 1.9.6 [required by ocp-indent, astring, fpath, uuseg] - install cmdliner 1.3.0 [required by ocamlformat] - install menhirLib 20231231 [required by ocamlformat-lib] - install result 1.5 [required by ocamlformat-lib] - install seq base [required by re] - install csexp 1.5.2 [required by ocamlformat-lib] - install ocaml-version 3.6.7 [required by ocamlformat-lib] - install camlp-streams 5.0.1 [required by ocamlformat-lib] - install dune-build-info 3.16.0 [required by ocamlformat-lib] - install fix 20230505 [required by ocamlformat-lib] - install topkg 1.0.7 [required by fpath, astring, uuseg] - install base-bytes base [required by ocp-indent] - install menhir 20231231 [required by ocamlformat-lib] - install re 1.11.0 [required by ocamlformat] - install dune-configurator 3.16.0 [required by base] - install uutf 1.0.3 [required by ocamlformat-lib] - install astring 0.8.5 [required by ocamlformat-lib] - install ocp-indent 1.8.1 [required by ocamlformat-lib] - install base v0.14.3 [required by ocamlformat-lib] - install uucp 15.0.0 [required by uuseg] - install fpath 0.7.3 [required by ocamlformat-lib] - install stdio v0.14.0 [required by ocamlformat-lib] - install uuseg 15.0.0 [required by ocamlformat-lib] - install ocamlformat-lib 0.25.1 [required by ocamlformat] - install ocamlformat 0.25.1 ===== 30 to install ===== <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [astring.0.8.5] found in cache [base.v0.14.3] found in cache [camlp-streams.5.0.1] found in cache [cmdliner.1.3.0] found in cache [csexp.1.5.2] found in cache [dune-build-info.3.16.0] found in cache [dune-configurator.3.16.0] found in cache [either.1.0.0] found in cache [fix.20230505] found in cache [fpath.0.7.3] found in cache [menhir.20231231] found in cache [menhirCST.20231231] found in cache [menhirLib.20231231] found in cache [menhirSdk.20231231] found in cache [ocaml-version.3.6.7] found in cache [ocamlbuild.0.14.3] found in cache [ocamlfind.1.9.6] found in cache [ocamlformat.0.25.1] found in cache [ocamlformat-lib.0.25.1] found in cache [ocp-indent.1.8.1] found in cache [re.1.11.0] found in cache [result.1.5] found in cache [sexplib0.v0.14.0] found in cache [stdio.v0.14.0] found in cache [topkg.1.0.7] found in cache [uucp.15.0.0] found in cache [uuseg.15.0.0] found in cache [uutf.1.0.3] found in cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed seq.base -> installed camlp-streams.5.0.1 -> installed csexp.1.5.2 -> installed either.1.0.0 -> installed fix.20230505 -> installed menhirCST.20231231 -> installed cmdliner.1.3.0 -> installed menhirLib.20231231 -> installed menhirSdk.20231231 -> installed ocaml-version.3.6.7 -> installed re.1.11.0 -> installed result.1.5 -> installed sexplib0.v0.14.0 -> installed dune-build-info.3.16.0 -> installed dune-configurator.3.16.0 -> installed ocamlfind.1.9.6 -> installed base-bytes.base -> installed ocp-indent.1.8.1 -> installed ocamlbuild.0.14.3 -> installed base.v0.14.3 -> installed stdio.v0.14.0 -> installed topkg.1.0.7 -> installed uutf.1.0.3 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed menhir.20231231 -> installed uucp.15.0.0 -> installed uuseg.15.0.0 -> installed ocamlformat-lib.0.25.1 -> installed ocamlformat.0.25.1 Done. <><> ocp-indent.1.8.1 installed successfully ><><><><><><><><><><><><><><><><><> => This package requires additional configuration for use in editors. Install package 'user-setup', or manually: * for Emacs, add these lines to ~/.emacs: (add-to-list 'load-path "/home/opam/.opam/4.08/share/emacs/site-lisp") (require 'ocp-indent) * for Vim, add this line to ~/.vimrc: set rtp^="/home/opam/.opam/4.08/share/ocp-indent/vim" # Run eval $(opam env) to update the current shell environment 2024-06-30 14:14.00 ---> using "0c9fa59f2f8addb5fd5f1fd292000fc6420a287d9f9ca753ae286a18f0090919" from cache /src: (copy (src .) (dst /src/)) 2024-06-30 14:14.00 ---> saved as "c88542f9e2be498ab5e549429f45b26f0975fdbf9bbe25676ab3d330a93b0fe6" /src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)")) Warning: Invalid documentation comment: File "cohttp-lwt/src/s.ml", line 102, characters 39-40: Unpaired '}' (end of markup). Suggestion: try '\}'. Warning: Invalid documentation comment: File "cohttp-lwt/src/connection_cache.ml", line 11, characters 21-23: '{C' should be followed by space, a tab, or a new line. Warning: Invalid documentation comment: File "cohttp-lwt/src/connection_cache.ml", line 11, characters 21-41: '{C ...}' (center alignment) should not be used because it has no effect. File "cohttp/src/header_io.ml", line 1, characters 0-0: diff --git a/_build/default/cohttp/src/header_io.ml b/_build/default/cohttp/src/.formatted/header_io.ml index ac4d8ff..1079f6b 100644 --- a/_build/default/cohttp/src/header_io.ml +++ b/_build/default/cohttp/src/.formatted/header_io.ml @@ -37,25 +37,30 @@ module Make (IO : S.IO) = struct read_line ic >>= function | Some "" | None -> return (headers, folding_lines) | Some line -> ( - match folding_lines, Char.equal line.[0] ' ' || Char.equal line.[0] '\t' with + match + (folding_lines, Char.equal line.[0] ' ' || Char.equal line.[0] '\t') + with | [], true -> malformed_header_stop_parsing (headers, []) - | [], false -> parse_headers' headers [line] (* we just started parsing *) + | [], false -> + parse_headers' headers [ line ] (* we just started parsing *) | _, true -> - let line_collapse_linear_whitespace = " " ^ (String.trim line) in - parse_headers' headers (line_collapse_linear_whitespace :: folding_lines) - | _, false -> - (* Lines after the first are already prefixed with some number of spaces / tabs. *) - match add_multiline_header folding_lines headers with - | Some headers -> - parse_headers' headers [line]; - | None -> malformed_header_stop_parsing (headers, [])) + let line_collapse_linear_whitespace = " " ^ String.trim line in + parse_headers' headers + (line_collapse_linear_whitespace :: folding_lines) + | _, false -> ( + (* Lines after the first are already prefixed with some number of spaces / tabs. *) + match add_multiline_header folding_lines headers with + | Some headers -> parse_headers' headers [ line ] + | None -> malformed_header_stop_parsing (headers, []))) in - parse_headers' (Header.init ()) [] >>= fun (headers_except_last, last_header) -> + parse_headers' (Header.init ()) [] + >>= fun (headers_except_last, last_header) -> let headers_list = match last_header with - | [] -> headers_except_last - | _ -> add_multiline_header last_header headers_except_last - |> Option.value ~default:headers_except_last + | [] -> headers_except_last + | _ -> + add_multiline_header last_header headers_except_last + |> Option.value ~default:headers_except_last in return headers_list File "cohttp-eio/src/server.ml", line 1, characters 0-0: diff --git a/_build/default/cohttp-eio/src/server.ml b/_build/default/cohttp-eio/src/.formatted/server.ml index 24ec9c2..1cf56b1 100644 --- a/_build/default/cohttp-eio/src/server.ml +++ b/_build/default/cohttp-eio/src/.formatted/server.ml @@ -37,7 +37,8 @@ let make_expert ?conn_closed ~callback () = let make ?(conn_closed = fun _ -> ()) ~callback () = { conn_closed; - handler = (fun conn request body _ic oc -> callback conn request body (request, oc)); + handler = + (fun conn request body _ic oc -> callback conn request body (request, oc)); } let read input = @@ -90,13 +91,14 @@ let write output (response : Cohttp.Response.t) body = in Eio.Buf_write.flush output -let respond ?(headers = Cohttp.Header.init ()) ?flush ~status ~body () (request, oc) = +let respond ?(headers = Cohttp.Header.init ()) ?flush ~status ~body () + (request, oc) = let keep_alive = Http.Request.is_keep_alive request in let headers = match Cohttp.Header.connection headers with | None -> - Http.Header.add headers "connection" - (if keep_alive then "keep-alive" else "close") + Http.Header.add headers "connection" + (if keep_alive then "keep-alive" else "close") | Some _ -> headers in let response = Cohttp.Response.make ~headers ?flush ~status () in Warning: Invalid documentation comment: File "cohttp-mirage/src/cohttp_mirage.ml", line 6, characters 18-44: '{modtype:Cohttp_lwt.S.Net}': bad markup. Suggestion: did you mean '{!modtype:Cohttp_lwt.S.Net}' or '[modtype:Cohttp_lwt.S.Net]'? Warning: Invalid documentation comment: File "cohttp-mirage/src/cohttp_mirage.ml", line 7, characters 37-72: '{module:Cohttp_lwt.Connection.Make}': bad markup. Suggestion: did you mean '{!module:Cohttp_lwt.Connection.Make}' or '[module:Cohttp_lwt.Connection.Make]'? Warning: Invalid documentation comment: File "cohttp-mirage/src/cohttp_mirage.ml", line 8, characters 14-55: '{module:Cohttp_lwt.Connection_cache.Make}': bad markup. Suggestion: did you mean '{!module:Cohttp_lwt.Connection_cache.Make}' or '[module:Cohttp_lwt.Connection_cache.Make]'? dune build @fmt failed "/usr/bin/env" "bash" "-c" "opam exec -- dune build @fmt --ignore-promoted-rules || (echo "dune build @fmt failed"; exit 2)" failed with exit status 2 2024-06-30 14:14.03: Job failed: Failed: Build failed