2025-12-24 16:47.40: New job: test mirage/irmin https://github.com/mirage/irmin.git#refs/pull/2381/head (56b85667873a7078755d8aab729c8f96a743d56d) (linux-x86_64:(lint-fmt)) Base: ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44 ocamlformat version: version 0.27.0 (from opam) To reproduce locally: git clone --recursive "https://github.com/mirage/irmin.git" && cd "irmin" && git fetch origin "refs/pull/2381/head" && git reset --hard 56b85667 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44 USER 1000:1000 RUN cd ~/opam-repository && (git cat-file -e 991c7a1514e7da747afe448ae9a046af3bc2497e || git fetch origin master) && git reset -q --hard 991c7a1514e7da747afe448ae9a046af3bc2497e && git log --no-decorate -n1 --oneline && opam update -u RUN opam depext -i dune WORKDIR /src RUN opam depext -i ocamlformat=0.27.0 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 2025-12-24 16:47.40: Using cache hint "mirage/irmin-ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44-debian-13-4.08_opam-2.4-ocamlformat-991c7a1514e7da747afe448ae9a046af3bc2497e" 2025-12-24 16:47.40: Using OBuilder spec: ((from ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44) (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 991c7a1514e7da747afe448ae9a046af3bc2497e || git fetch origin master) && git reset -q --hard 991c7a1514e7da747afe448ae9a046af3bc2497e && 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.27.0")) (copy (src .) (dst /src/)) (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)")) ) 2025-12-24 16:47.40: Waiting for resource in pool OCluster 2025-12-24 16:47.40: Waiting for worker… 2025-12-24 16:47.41: Got resource from pool OCluster Building on asteria.caelum.ci.dev All commits already cached HEAD is now at 56b8566787 add mirage code to demo (from ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44) Unable to find image 'ocaml/opam:debian-13-ocaml-4.08@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44' locally docker.io/ocaml/opam@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44: Pulling from ocaml/opam 2981f7e8980b: Already exists 9c63e1c4ba84: Already exists 02578b9c9f1b: Already exists 3801cb7ba5e6: Already exists 1c4cdedd39f1: Already exists 40f6006c5f5a: Already exists c451a17216ec: Already exists e4104b8f72ee: Already exists 7c7dbc5e7919: Already exists aa82be714e7c: Already exists 922520f12384: Already exists 9bfea042cef8: Already exists 1244979f7c21: Already exists 7583a0e34f94: Already exists 14bef3f2665a: Already exists 3a4b42ce6cb5: Already exists b0a08a900877: Already exists b0a08a900877: Already exists 16ac87e68d60: Already exists 74ac6e8c9b82: Already exists b41290a57dc5: Already exists 592e5bcb7159: Already exists 4f4fb700ef54: Already exists 1db0705661a3: Already exists 76bb8e35b9cc: Already exists 3bc9d98c3b49: Already exists 7096ef42e6c0: Already exists cd0e70de8125: Already exists 23ffab57f98e: Already exists b974353d8023: Already exists c74fba566723: Already exists 5ad399846f45: Already exists 3e7203fa3980: Already exists 0b8915d2a92b: Already exists e68c7a56c438: Already exists 9024d680a167: Already exists 3c7c73421b6e: Already exists 7134fa9b4278: Already exists 9d94fb523099: Already exists 20d06dbdae7e: Already exists b9a45e537661: Already exists d013a1d2f205: Pulling fs layer b9e11c34eba5: Pulling fs layer e0af6a95398b: Pulling fs layer b559598791bf: Pulling fs layer d013a1d2f205: Waiting b9e11c34eba5: Waiting e0af6a95398b: Waiting b559598791bf: Waiting b9e11c34eba5: Download complete e0af6a95398b: Verifying Checksum e0af6a95398b: Download complete b559598791bf: Download complete d013a1d2f205: Verifying Checksum d013a1d2f205: Download complete d013a1d2f205: Pull complete b9e11c34eba5: Pull complete e0af6a95398b: Pull complete b559598791bf: Pull complete Digest: sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44 Status: Downloaded newer image for ocaml/opam@sha256:6fadef23b5069dc945f3a454c49421fd09e8c17aa57d3f9ad27d3879fce6aa44 2025-12-24 16:47.43 ---> using "c557567380599a9d74e9cba757661af503505628fe0a86c2e1639761275a17b1" 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 991c7a1514e7da747afe448ae9a046af3bc2497e || git fetch origin master) && git reset -q --hard 991c7a1514e7da747afe448ae9a046af3bc2497e && git log --no-decorate -n1 --oneline && opam update -u")) 991c7a1514 Merge pull request #28718 from ocaml/mseri-patch-1 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised default (at git+file:///home/opam/opam-repository): [INFO] opam 2.1 and 2.2 include many performance and security 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 2025-12-24 16:47.43 ---> using "48334a0274a4cda6e745afa064f35b53a7edab2808d8c06488698439abe9b851" 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.20.2 <><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [dune.3.20.2] found in cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed dune.3.20.2 Done. # Run eval $(opam env) to update the current shell environment 2025-12-24 16:47.43 ---> using "fcdaf03ddf3ca48837f128e47a2e53ac4a1c0800def4e13084ece1bb4817789b" from cache /: (workdir /src) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam depext -i ocamlformat=0.27.0")) # 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.16.1 [required by fpath, astring, uuseg] - install cmdliner 1.3.0 [required by ocamlformat] - install either 1.0.0 [required by ocamlformat-lib] - install menhirLib 20250912 [required by ocamlformat-lib] - install csexp 1.5.2 [required by ocamlformat] - install camlp-streams 5.0.1 [required by ocamlformat-lib] - install seq base [required by re] - install menhirSdk 20250912 [required by ocamlformat-lib] - install fix 20250919 [required by ocamlformat-lib] - install menhirCST 20250912 [required by menhir] - install ocamlfind 1.9.8 [required by ocp-indent, astring, fpath, uuseg] - install dune-build-info 3.20.2 [required by ocamlformat-lib] - install ocaml-version 4.0.3 [required by ocamlformat-lib] - install dune-configurator 3.20.2 [required by base] - install re 1.11.0 [required by ocamlformat] - install menhir 20250912 [required by ocamlformat-lib] - install topkg 1.1.1 [required by fpath, astring, uuseg] - install ocp-indent 1.9.0 [required by ocamlformat-lib] - install base v0.14.3 [required by ocamlformat-lib] - install uutf 1.0.4 [required by ocamlformat-lib] - install astring 0.8.5 [required by ocamlformat-lib] - install stdio v0.14.0 [required by ocamlformat-lib] - install uucp 15.0.0 [required by uuseg] - install fpath 0.7.3 [required by ocamlformat-lib] - install uuseg 15.0.0 [required by ocamlformat-lib] - install ocamlformat-lib 0.27.0 [required by ocamlformat] - install ocamlformat 0.27.0 ===== 28 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.20.2] found in cache [dune-configurator.3.20.2] found in cache [either.1.0.0] found in cache [fix.20250919] found in cache [fpath.0.7.3] found in cache [menhir.20250912] found in cache [menhirCST.20250912] found in cache [menhirLib.20250912] found in cache [menhirSdk.20250912] found in cache [ocaml-version.4.0.3] found in cache [ocamlbuild.0.16.1] found in cache [ocamlfind.1.9.8] found in cache [ocamlformat.0.27.0] found in cache [ocamlformat-lib.0.27.0] found in cache [ocp-indent.1.9.0] found in cache [re.1.11.0] found in cache [sexplib0.v0.14.0] found in cache [stdio.v0.14.0] found in cache [topkg.1.1.1] found in cache [uucp.15.0.0] found in cache [uuseg.15.0.0] found in cache [uutf.1.0.4] found in cache <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed seq.base -> installed camlp-streams.5.0.1 -> installed cmdliner.1.3.0 -> installed csexp.1.5.2 -> installed either.1.0.0 -> installed fix.20250919 -> installed menhirCST.20250912 -> installed menhirLib.20250912 -> installed menhirSdk.20250912 -> installed ocaml-version.4.0.3 -> installed sexplib0.v0.14.0 -> installed re.1.11.0 -> installed dune-build-info.3.20.2 -> installed ocamlfind.1.9.8 -> installed dune-configurator.3.20.2 -> installed ocamlbuild.0.16.1 -> installed ocp-indent.1.9.0 -> installed base.v0.14.3 -> installed topkg.1.1.1 -> installed stdio.v0.14.0 -> installed menhir.20250912 -> installed uutf.1.0.4 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed uucp.15.0.0 -> installed uuseg.15.0.0 -> installed ocamlformat-lib.0.27.0 -> installed ocamlformat.0.27.0 Done. <><> ocp-indent.1.9.0 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 2025-12-24 16:47.43 ---> using "d439aa2d1da4e665e89310af11cba4359b69baa4dda1cd4e50fd245f4d775276" from cache /src: (copy (src .) (dst /src/)) 2025-12-24 16:47.44 ---> saved as "4ecf3aa27d9d1374acffb05a18f7b25ff9ac887e298f0a85e361f45ec3d542b6" /src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)")) Warning: Invalid documentation comment: File "src/irmin-pack/layout.ml", line 97, characters 27-50: '{v ... v}' (verbatim text) should begin on its own line. Warning: Invalid documentation comment: File "src/irmin-pack/layout.ml", line 97, characters 50-51: Paragraph should begin on its own line. Warning: Invalid documentation comment: File "test/irmin-graphql/common.mli", line 88, character 16 to line 92, character 6: '{[...]}' (code block) should begin on its own line. Warning: Invalid documentation comment: File "test/irmin-graphql/common.mli", line 98, character 16 to line 102, character 6: '{[...]}' (code block) should begin on its own line. Warning: Invalid documentation comment: File "test/irmin-graphql/common.mli", line 104, character 24 to line 108, character 6: '{[...]}' (code block) should begin on its own line. Warning: Invalid documentation comment: File "test/irmin-graphql/common.mli", line 114, character 16 to line 118, character 6: '{[...]}' (code block) should begin on its own line. File "demo/get_tau.ml", line 1, characters 0-0: diff --git a/_build/default/demo/get_tau.ml b/_build/default/demo/.formatted/get_tau.ml index 726c263..e868660 100644 --- a/_build/default/demo/get_tau.ml +++ b/_build/default/demo/.formatted/get_tau.ml @@ -1,12 +1,16 @@ -module Fs_store = Irmin_fs_unix.KV.Make(Irmin.Contents.Json_value) +module Fs_store = Irmin_fs_unix.KV.Make (Irmin.Contents.Json_value) let rec json_to_string = function -| `Null -> "null" -| `Bool b -> string_of_bool b -| `String s -> s -| `Float f -> string_of_float f -| `O u -> "{" ^ String.concat "; " (List.map (fun (k, v) -> "\"" ^ k ^ "\": " ^ json_to_string v) u) ^ "}" -| `A u -> "[" ^ String.concat "; " (List.map json_to_string u) ^ "]" + | `Null -> "null" + | `Bool b -> string_of_bool b + | `String s -> s + | `Float f -> string_of_float f + | `O u -> + "{" + ^ String.concat "; " + (List.map (fun (k, v) -> "\"" ^ k ^ "\": " ^ json_to_string v) u) + ^ "}" + | `A u -> "[" ^ String.concat "; " (List.map json_to_string u) ^ "]" let get_tau env = let path = Eio.Path.(env#fs / "math") in @@ -14,10 +18,11 @@ let get_tau env = let repo = Fs_store.Repo.v conf in let main = Fs_store.main repo in let tau = Fs_store.get main [ "tau" ] in - assert (tau = `O ["val", `Float 6.28; ]); + assert (tau = `O [ ("val", `Float 6.28) ]); tau -let _ = Eio_main.run @@ fun env -> +let _ = + Eio_main.run @@ fun env -> let tau = get_tau env in let str = json_to_string tau in - Eio.Flow.copy_string str env#stdout; + Eio.Flow.copy_string str env#stdout File "demo/set_pi.ml", line 1, characters 0-0: diff --git a/_build/default/demo/set_pi.ml b/_build/default/demo/.formatted/set_pi.ml index 8119c46..e56eb73 100644 --- a/_build/default/demo/set_pi.ml +++ b/_build/default/demo/.formatted/set_pi.ml @@ -1,4 +1,5 @@ -module Fs_store = Irmin_fs_unix.KV.Make(Irmin.Contents.Json_value) +module Fs_store = Irmin_fs_unix.KV.Make (Irmin.Contents.Json_value) + let commit branch message path contents = let info () = Fs_store.Info.v ~author:"jane doe" ~message 0L in Fs_store.set ~info branch path contents @@ -8,8 +9,8 @@ let set_pi env = let conf = Irmin_fs_unix.conf ~path ~clock:env#clock in let repo = Fs_store.Repo.v conf in let main = Fs_store.main repo in - let pi = `O ["val", `Float 3.1416] in - let result = commit main "set pi" ["pi"] pi in + let pi = `O [ ("val", `Float 3.1416) ] in + let result = commit main "set pi" [ "pi" ] pi in assert (Result.is_ok result) let _ = Eio_main.run set_pi File "src/libirmin/lib/discover.ml", line 1, characters 0-0: diff --git a/_build/default/src/libirmin/lib/discover.ml b/_build/default/src/libirmin/lib/.formatted/discover.ml index 319f5e1..ab05632 100644 --- a/_build/default/src/libirmin/lib/discover.ml +++ b/_build/default/src/libirmin/lib/.formatted/discover.ml @@ -1,16 +1,16 @@ let quote s = "\"" ^ s ^ "\"" let () = - let uname = Unix.open_process_args_in "uname" [| "uname"; "-s" |] in - let finally () = In_channel.close uname in - let output = Fun.protect ~finally @@ fun () -> - In_channel.input_all uname |> String.trim - in - let flags = match output with - | "Linux" -> ["-ccopt"; "-Wl,-znow"] - | _ -> [] in - let flags = List.map quote flags |> String.concat " " in - Out_channel.with_open_text "link_flags.sexp" (fun oc -> + let uname = Unix.open_process_args_in "uname" [| "uname"; "-s" |] in + let finally () = In_channel.close uname in + let output = + Fun.protect ~finally @@ fun () -> In_channel.input_all uname |> String.trim + in + let flags = + match output with "Linux" -> [ "-ccopt"; "-Wl,-znow" ] | _ -> [] + in + let flags = List.map quote flags |> String.concat " " in + Out_channel.with_open_text "link_flags.sexp" (fun oc -> Out_channel.output_char oc '('; Out_channel.output_string oc flags; Out_channel.output_char oc ')') File "demo/mirage/unikernel.ml", line 1, characters 0-0: diff --git a/_build/default/demo/mirage/unikernel.ml b/_build/default/demo/mirage/.formatted/unikernel.ml index 73a99e0..949c0b8 100644 --- a/_build/default/demo/mirage/unikernel.ml +++ b/_build/default/demo/mirage/.formatted/unikernel.ml @@ -1,6 +1,6 @@ -module Make(Stack : Tcpip.Stack.V4V6) = struct +module Make (Stack : Tcpip.Stack.V4V6) = struct module Tcp = Stack.TCP - + let start stack = let _tcp = Stack.tcp stack in Eio_unikraft.run @@ fun env -> File "demo/mirage/bench.ml", line 1, characters 0-0: diff --git a/_build/default/demo/mirage/bench.ml b/_build/default/demo/mirage/.formatted/bench.ml index 6c493a4..a6aae6b 100644 --- a/_build/default/demo/mirage/bench.ml +++ b/_build/default/demo/mirage/.formatted/bench.ml @@ -1,4 +1,3 @@ - type t = { ncommits : int; depth : int; @@ -8,22 +7,22 @@ type t = { gc : int; } -let t = { - ncommits = 1000; - depth = 16; - tree_add = 150; - display = 10; - clear = true; - gc = 100; -} +let t = + { + ncommits = 1000; + depth = 16; + tree_add = 150; + display = 10; + clear = true; + gc = 100; + } + +module Store = Irmin_mem.KV.Make (Irmin.Contents.String) -module Store = Irmin_mem.KV.Make(Irmin.Contents.String) let info () = Store.Info.v ~author:"author" ~message:"commit message" 0L let times ~n ~init f = - let rec go i k = - if i = 0 then k init else go (i - 1) (fun r -> k (f i r)) - in + let rec go i k = if i = 0 then k init else go (i - 1) (fun r -> k (f i r)) in go n Fun.id let path ~depth n = @@ -34,7 +33,6 @@ let path ~depth n = aux [] 0 let no_tags x = x - let plot_progress n t = Fmt.epr "\rcommits: %4d/%d%!" n t (* init: create a tree with [t.depth] levels and each levels has @@ -60,8 +58,7 @@ let run config = times ~n:t.ncommits ~init:() (fun i () -> let tree = Store.get_tree v [] in if i mod t.gc = 0 then Gc.full_major (); - if i mod t.display = 0 then ( - plot_progress i t.ncommits); + if i mod t.display = 0 then plot_progress i t.ncommits; let tree = times ~n:t.tree_add ~init:tree (fun n tree -> Store.Tree.add tree paths.(n) (string_of_int i)) @@ -73,6 +70,6 @@ let run config = Fmt.epr "\n[run done]\n%!" let main env = - let config = Irmin_mem.config() in + let config = Irmin_mem.config () in init config; run config 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 2025-12-24 16:47.46: Job failed: Failed: Build failed