Organisationsocaml-ppxppxlib4b7703 ()(lint-fmt)

(lint-fmt)

Link Copied
Code Copied

Logs

2024-12-09 09:50.19: New job: test ocaml-ppx/ppxlib https://github.com/ocaml-ppx/ppxlib.git#refs/pull/541/head (4b77038fcecf71df9f66f61b65fa3797723c932c) (linux-x86_64:(lint-fmt))
Base: ocaml/opam:debian-12-ocaml-4.08@sha256:b19f193fe7f326e3d37af7875868ea5e5a67c750ba4b7b2a04cd94a89cf6c031
ocamlformat version: version 0.26.2 (from opam)


To reproduce locally:


git clone --recursive "https://github.com/ocaml-ppx/ppxlib.git" && cd "ppxlib" && git fetch origin "refs/pull/541/head" && git reset --hard 4b77038f
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.08@sha256:b19f193fe7f326e3d37af7875868ea5e5a67c750ba4b7b2a04cd94a89cf6c031
USER 1000:1000
RUN cd ~/opam-repository && (git cat-file -e 1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44 || git fetch origin master) && git reset -q --hard 1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44 && git log --no-decorate -n1 --oneline && opam update -u
RUN opam depext -i dune
WORKDIR /src
RUN opam depext -i ocamlformat=0.26.2
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-12-09 09:50.19: Using cache hint "ocaml-ppx/ppxlib-ocaml/opam:debian-12-ocaml-4.08@sha256:b19f193fe7f326e3d37af7875868ea5e5a67c750ba4b7b2a04cd94a89cf6c031-debian-12-4.08_opam-2.3-ocamlformat-1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44"
2024-12-09 09:50.19: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.08@sha256:b19f193fe7f326e3d37af7875868ea5e5a67c750ba4b7b2a04cd94a89cf6c031)
(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 1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44 || git fetch origin master) && git reset -q --hard 1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44 && 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.26.2"))
(copy (src .) (dst /src/))
(run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
)


2024-12-09 09:50.19: Waiting for resource in pool OCluster
2024-12-09 09:50.19: Waiting for worker…
2024-12-09 09:50.19: Got resource from pool OCluster
Building on x86-bm-c2.sw.ocaml.org
All commits already cached
HEAD is now at 4b77038f TMP: Implement -no-corrections


(from ocaml/opam:debian-12-ocaml-4.08@sha256:b19f193fe7f326e3d37af7875868ea5e5a67c750ba4b7b2a04cd94a89cf6c031)
2024-12-09 09:50.20 ---> using "0ccd3f5b4d657f0944073853d77008496ca475f3e6ca9e2160b53453ab7d01cf" 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 1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44 || git fetch origin master) && git reset -q --hard 1b58d8c4dd40d1b4a0893c7b9182b698c1b34c44 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
11bdbee611..211ce1c3d5  master     -> origin/master
1b58d8c4dd Merge pull request #26975 from maiste/release-dune-3.17.0


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from file:///home/opam/opam-repository
default (at 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
2024-12-09 09:50.20 ---> using "aa0cbbc4e5afb96289944e2ddeb5305232d8f7d927475097fa0c3b96f429d617" 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.17.0


<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[dune.3.17.0] found in cache


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dune.3.17.0
Done.
# Run eval $(opam env) to update the current shell environment
2024-12-09 09:50.20 ---> using "bd275400e5418c0b70173f08780e1655b685264748f5dcbe8385705edd0f9ca8" from cache


/: (workdir /src)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext -i ocamlformat=0.26.2"))
# 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 menhirLib         20240715 [required by ocamlformat-lib]
- install menhirCST         20240715 [required by menhir]
- install menhirSdk         20240715 [required by ocamlformat-lib]
- install ocamlbuild        0.15.0   [required by fpath, astring, uuseg]
- install either            1.0.0    [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 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.7.1    [required by ocamlformat-lib]
- install dune-build-info   3.17.0   [required by ocamlformat-lib]
- install camlp-streams     5.0.1    [required by ocamlformat-lib]
- install fix               20230505 [required by ocamlformat-lib]
- install menhir            20240715 [required by ocamlformat-lib]
- install topkg             1.0.7    [required by fpath, astring, uuseg]
- install base-bytes        base     [required by ocp-indent]
- install re                1.11.0   [required by ocamlformat]
- install dune-configurator 3.17.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.26.2   [required by ocamlformat]
- install ocamlformat       0.26.2
===== 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.17.0] found in cache
[dune-configurator.3.17.0] found in cache
[either.1.0.0] found in cache
[fix.20230505] found in cache
[fpath.0.7.3] found in cache
[menhir.20240715] found in cache
[menhirCST.20240715] found in cache
[menhirLib.20240715] found in cache
[menhirSdk.20240715] found in cache
[ocaml-version.3.7.1] found in cache
[ocamlbuild.0.15.0] found in cache
[ocamlfind.1.9.6] found in cache
[ocamlformat.0.26.2] found in cache
[ocamlformat-lib.0.26.2] 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 cmdliner.1.3.0
-> installed menhirCST.20240715
-> installed menhirLib.20240715
-> installed menhirSdk.20240715
-> installed ocaml-version.3.7.1
-> installed re.1.11.0
-> installed result.1.5
-> installed sexplib0.v0.14.0
-> installed dune-build-info.3.17.0
-> installed dune-configurator.3.17.0
-> installed ocamlfind.1.9.6
-> installed base-bytes.base
-> installed ocamlbuild.0.15.0
-> installed ocp-indent.1.8.1
-> 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.20240715
-> installed uucp.15.0.0
-> installed uuseg.15.0.0
-> installed ocamlformat-lib.0.26.2
-> installed ocamlformat.0.26.2
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-12-09 09:51.30 ---> saved as "7f686794d2829cb1ed01790a37ee3bea5f092c8521d298e6991e40415df3007f"


/src: (copy (src .) (dst /src/))
2024-12-09 09:51.30 ---> saved as "cabcb116e3e3db0b475698251521e10fdd93ebdc686cb6bfa283abbd48af68b1"


/src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
File "src/context_free.ml", line 1, characters 0-0:
diff --git a/_build/default/src/context_free.ml b/_build/default/src/.formatted/context_free.ml
index ab4e4f4..4fbd03b 100644
--- a/_build/default/src/context_free.ml
+++ b/_build/default/src/.formatted/context_free.ml
@@ -462,35 +462,34 @@ let handle_attr_inline attrs ~convert_exn ~item ~expanded_item ~loc ~base_ctxt
let error_item = [ convert_exn exn ] in
return (error_item :: acc)))


-let handle_attr_group_inline_expect attrs rf ~items ~expanded_items ~loc ~base_ctxt
-      ~embed_errors ~convert_exn ~no_corrections =
+let handle_attr_group_inline_expect attrs rf ~items ~expanded_items ~loc
+    ~base_ctxt ~embed_errors ~convert_exn ~no_corrections =
if no_corrections then
(* Mark expect attributes as seen *)
List.fold_left attrs ~init:(return ())
~f:(fun acc (Rule.Attr_group_inline.T group) ->
acc >>= fun () ->
get_group group.attribute items >>= fun _ ->
-        get_group group.attribute expanded_items >>= fun _ ->
-        return ())
+        get_group group.attribute expanded_items >>= fun _ -> return ())
>>= fun () -> return []
else
handle_attr_group_inline attrs rf ~items ~expanded_items ~loc ~base_ctxt
~embed_errors ~convert_exn


-let handle_attr_inline_expect attrs ~convert_exn ~item ~expanded_item ~loc ~base_ctxt
-      ~embed_errors ~no_corrections =
+let handle_attr_inline_expect attrs ~convert_exn ~item ~expanded_item ~loc
+    ~base_ctxt ~embed_errors ~no_corrections =
if no_corrections then
(* Mark expect attributes as seen *)
-    List.fold_left attrs ~init:(return ())
-      ~f:(fun acc (Rule.Attr_inline.T a) ->
+    List.fold_left attrs ~init:(return ()) ~f:(fun acc (Rule.Attr_inline.T a) ->
acc >>= fun () ->
-        Attribute.get_res a.attribute item |> of_result ~default:None >>= fun _ ->
-        Attribute.get_res a.attribute expanded_item |> of_result ~default:None >>= fun _ ->
-        return ())
+        Attribute.get_res a.attribute item |> of_result ~default:None
+        >>= fun _ ->
+        Attribute.get_res a.attribute expanded_item |> of_result ~default:None
+        >>= fun _ -> return ())
>>= fun () -> return []
else
-    handle_attr_inline attrs ~item ~expanded_item ~loc ~base_ctxt
-      ~embed_errors ~convert_exn
+    handle_attr_inline attrs ~item ~expanded_item ~loc ~base_ctxt ~embed_errors
+      ~convert_exn


module Expect_mismatch_handler = struct
type t = {
@@ -501,10 +500,8 @@ module Expect_mismatch_handler = struct
end


class map_top_down ?(expect_mismatch_handler = Expect_mismatch_handler.nop)
-        ?(generated_code_hook = Generated_code_hook.nop) ?(embed_errors = false)
-        ?(no_corrections = false)
-        rules
-  =
+  ?(generated_code_hook = Generated_code_hook.nop) ?(embed_errors = false)
+  ?(no_corrections = false) rules =
let hook = generated_code_hook in


let special_functions =
@@ -818,8 +815,8 @@ class map_top_down ?(expect_mismatch_handler = Expect_mismatch_handler.nop)
handle_attr_group_inline attr_str_type_decls rf ~items:tds
~expanded_items:exp_tds ~loc ~base_ctxt ~convert_exn
>>= fun extra_items ->
-                    handle_attr_group_inline_expect attr_str_type_decls_expect rf
-                      ~items:tds ~expanded_items:exp_tds ~loc ~base_ctxt
+                    handle_attr_group_inline_expect attr_str_type_decls_expect
+                      rf ~items:tds ~expanded_items:exp_tds ~loc ~base_ctxt
~convert_exn
>>= fun expect_items ->
with_extra_items expanded_item ~extra_items ~expect_items
@@ -847,8 +844,9 @@ class map_top_down ?(expect_mismatch_handler = Expect_mismatch_handler.nop)
handle_attr_inline attr_str_exceptions ~item:ec
~expanded_item:exp_ec ~loc ~base_ctxt ~convert_exn
>>= fun extra_items ->
-                    handle_attr_inline_expect attr_str_exceptions_expect ~item:ec
-                      ~expanded_item:exp_ec ~loc ~base_ctxt ~convert_exn
+                    handle_attr_inline_expect attr_str_exceptions_expect
+                      ~item:ec ~expanded_item:exp_ec ~loc ~base_ctxt
+                      ~convert_exn
>>= fun expect_items ->
with_extra_items expanded_item ~extra_items ~expect_items
~rest ~in_generated_code
@@ -927,8 +925,8 @@ class map_top_down ?(expect_mismatch_handler = Expect_mismatch_handler.nop)
handle_attr_group_inline attr_sig_type_decls rf ~items:tds
~expanded_items:exp_tds ~loc ~base_ctxt ~convert_exn
>>= fun extra_items ->
-                    handle_attr_group_inline_expect attr_sig_type_decls_expect rf
-                      ~items:tds ~expanded_items:exp_tds ~loc ~base_ctxt
+                    handle_attr_group_inline_expect attr_sig_type_decls_expect
+                      rf ~items:tds ~expanded_items:exp_tds ~loc ~base_ctxt
~convert_exn
>>= fun expect_items ->
with_extra_items expanded_item ~extra_items ~expect_items
@@ -956,8 +954,9 @@ class map_top_down ?(expect_mismatch_handler = Expect_mismatch_handler.nop)
handle_attr_inline attr_sig_exceptions ~item:ec
~expanded_item:exp_ec ~loc ~base_ctxt ~convert_exn
>>= fun extra_items ->
-                    handle_attr_inline_expect attr_sig_exceptions_expect ~item:ec
-                      ~expanded_item:exp_ec ~loc ~base_ctxt ~convert_exn
+                    handle_attr_inline_expect attr_sig_exceptions_expect
+                      ~item:ec ~expanded_item:exp_ec ~loc ~base_ctxt
+                      ~convert_exn
>>= fun expect_items ->
with_extra_items expanded_item ~extra_items ~expect_items
~rest ~in_generated_code
File "src/driver.ml", line 1, characters 0-0:
diff --git a/_build/default/src/driver.ml b/_build/default/src/.formatted/driver.ml
index c60ab04..cb62af6 100644
--- a/_build/default/src/driver.ml
+++ b/_build/default/src/.formatted/driver.ml
@@ -219,12 +219,13 @@ module Transform = struct
let last = get_loc (last x l) in
Some { first with loc_end = last.loc_end }


-  let merge_into_generic_mappers t ~no_corrections ~embed_errors ~hook ~expect_mismatch_handler
-      ~tool_name ~input_name =
+  let merge_into_generic_mappers t ~no_corrections ~embed_errors ~hook
+      ~expect_mismatch_handler ~tool_name ~input_name =
let { rules; enclose_impl; enclose_intf; impl; intf; _ } = t in
let map =
new Context_free.map_top_down
-        rules ~no_corrections ~embed_errors ~generated_code_hook:hook ~expect_mismatch_handler
+        rules ~no_corrections ~embed_errors ~generated_code_hook:hook
+        ~expect_mismatch_handler
in
let gen_header_and_footer context whole_loc f =
let header, footer = f whole_loc in
@@ -456,8 +457,8 @@ let debug_dropped_attribute name ~old_dropped ~new_dropped =
print_diff "disappeared" new_dropped old_dropped;
print_diff "reappeared" old_dropped new_dropped


-let get_whole_ast_passes ~no_corrections ~embed_errors ~hook ~expect_mismatch_handler ~tool_name
-    ~input_name =
+let get_whole_ast_passes ~no_corrections ~embed_errors ~hook
+    ~expect_mismatch_handler ~tool_name ~input_name =
let cts =
match !apply_list with
| None -> List.rev !Transform.all
@@ -486,8 +487,8 @@ let get_whole_ast_passes ~no_corrections ~embed_errors ~hook ~expect_mismatch_ha
if !no_merge then
List.map transforms
~f:
-          (Transform.merge_into_generic_mappers ~no_corrections ~embed_errors ~hook ~tool_name
-             ~expect_mismatch_handler ~input_name)
+          (Transform.merge_into_generic_mappers ~no_corrections ~embed_errors
+             ~hook ~tool_name ~expect_mismatch_handler ~input_name)
else
(let get_enclosers ~f =
List.filter_map transforms ~f:(fun (ct : Transform.t) ->
@@ -517,8 +518,8 @@ let get_whole_ast_passes ~no_corrections ~embed_errors ~hook ~expect_mismatch_ha
let footers = List.concat (List.rev footers) in
(headers, footers))
in
-           Transform.builtin_of_context_free_rewriters ~rules ~no_corrections ~embed_errors
-             ~hook ~expect_mismatch_handler
+           Transform.builtin_of_context_free_rewriters ~rules ~no_corrections
+             ~embed_errors ~hook ~expect_mismatch_handler
~enclose_impl:(merge_encloser impl_enclosers)
~enclose_intf:(merge_encloser intf_enclosers)
~tool_name ~input_name
@@ -529,10 +530,11 @@ let get_whole_ast_passes ~no_corrections ~embed_errors ~hook ~expect_mismatch_ha
linters @ preprocess @ before_instrs @ make_generic cts @ after_instrs


let apply_transforms ~tool_name ~file_path ~field ~lint_field ~dropped_so_far
-    ~hook ~expect_mismatch_handler ~input_name ~no_corrections ~embed_errors ast =
+    ~hook ~expect_mismatch_handler ~input_name ~no_corrections ~embed_errors ast
+    =
let cts =
-    get_whole_ast_passes ~tool_name ~no_corrections ~embed_errors ~hook ~expect_mismatch_handler
-      ~input_name
+    get_whole_ast_passes ~tool_name ~no_corrections ~embed_errors ~hook
+      ~expect_mismatch_handler ~input_name
in
let finish (ast, _dropped, lint_errors, errors) =
( ast,
@@ -616,8 +618,8 @@ let print_passes () =
let hook = Context_free.Generated_code_hook.nop in
let expect_mismatch_handler = Context_free.Expect_mismatch_handler.nop in
let cts =
-    get_whole_ast_passes ~no_corrections ~embed_errors ~hook ~expect_mismatch_handler ~tool_name
-      ~input_name:None
+    get_whole_ast_passes ~no_corrections ~embed_errors ~hook
+      ~expect_mismatch_handler ~tool_name ~input_name:None
in
if !perform_checks then
Printf.printf "<builtin:freshen-and-collect-attributes>\n";
@@ -1451,7 +1453,8 @@ let standalone_main () =
match !loc_fname with None -> (fn, false) | Some fn -> (fn, true)
in
process_file kind fn ~input_name ~relocate ~output_mode:!output_mode
-        ~output:!output ~embed_errors:!embed_errors ~no_corrections:!no_corrections
+        ~output:!output ~embed_errors:!embed_errors
+        ~no_corrections:!no_corrections


let rewrite_binary_ast_file input_fn output_fn =
let input_name, input_version, ast = load_input_run_as_ppx input_fn in
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-12-09 09:51.33: Job failed: Failed: Build failed