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