Organisationsocamlodoc28b5ec ()(lint-fmt)

(lint-fmt)

Logs

Show full logs
2024-12-19 23:13.32: New job: test ocaml/odoc https://github.com/ocaml/odoc.git#refs/pull/1261/head (28b5ecb3edba87bb642080c41699fd040338744a) (linux-x86_64:(lint-fmt))
Base: ocaml/opam:debian-12-ocaml-4.08@sha256:a1d38b4249ac3e00f0c6f66cd35168b4c94ec556539dcdb604ce4bf4e98cc679
ocamlformat version: version 0.26.1 (from opam)

To reproduce locally:

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

2024-12-19 23:13.32: Waiting for resource in pool OCluster
2024-12-20 21:22.22: Waiting for worker…
2024-12-20 21:26.35: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at 28b5ecb3e More semi resolving of references

(from ocaml/opam:debian-12-ocaml-4.08@sha256:a1d38b4249ac3e00f0c6f66cd35168b4c94ec556539dcdb604ce4bf4e98cc679)
2024-12-20 21:26.35 ---> using "2c99520034ba7d2c12a0edb456b31a2f404e9da547f96b39b3b43810eae7bc5d" 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 40261e81b0d4449cd32f7834e272aa9d38a28c49 || git fetch origin master) && git reset -q --hard 40261e81b0d4449cd32f7834e272aa9d38a28c49 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
 * branch                  master     -> FETCH_HEAD
   de786e28db..7990d7d220  master     -> origin/master
40261e81b0 Merge pull request #27148 from mtelvers/opam-publish-ocaml-version.3.7.2

<><> 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-20 21:26.35 ---> using "229558fd65677ec03ba45c306cfc481433c5c1c9702d4ae08c147431c769432b" 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.1

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

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dune.3.17.1
Done.
# Run eval $(opam env) to update the current shell environment
2024-12-20 21:26.35 ---> using "ee160929347deabf14e8cf1de9cbf1c5721419022353cc2f23442bce597a2502" from cache

/: (workdir /src)

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam depext -i ocamlformat=0.26.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 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.2    [required by ocamlformat-lib]
  - install camlp-streams     5.0.1    [required by ocamlformat-lib]
  - install dune-build-info   3.17.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.1   [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.1   [required by ocamlformat]
  - install ocamlformat       0.26.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.17.1] found in cache
[dune-configurator.3.17.1] 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.2] found in cache
[ocamlbuild.0.15.0] found in cache
[ocamlfind.1.9.6] found in cache
[ocamlformat.0.26.1] found in cache
[ocamlformat-lib.0.26.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 cmdliner.1.3.0
-> installed csexp.1.5.2
-> installed either.1.0.0
-> installed fix.20230505
-> installed menhirCST.20240715
-> installed menhirLib.20240715
-> installed menhirSdk.20240715
-> installed ocaml-version.3.7.2
-> installed result.1.5
-> installed sexplib0.v0.14.0
-> installed re.1.11.0
-> installed dune-build-info.3.17.1
-> installed dune-configurator.3.17.1
-> installed ocamlbuild.0.15.0
-> installed ocamlfind.1.9.6
-> installed base-bytes.base
-> installed ocp-indent.1.8.1
-> installed topkg.1.0.7
-> installed base.v0.14.3
-> installed astring.0.8.5
-> installed uutf.1.0.3
-> installed stdio.v0.14.0
-> installed fpath.0.7.3
-> installed menhir.20240715
-> installed uucp.15.0.0
-> installed uuseg.15.0.0
-> installed ocamlformat-lib.0.26.1
-> installed ocamlformat.0.26.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-12-20 21:27.31 ---> saved as "45c4011293fe8ae11926fa5ff7e8d0066e9e16b9023f2908bb3faf94b9df504f"

/src: (copy (src .) (dst /src/))
2024-12-20 21:27.32 ---> saved as "cc8bc103171e9796a2f6d0e9f390db731ce761fb1771d6edbe792ddf6cd32967"

/src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
File "doc/examples/resolution.mli", line 1, characters 0-0:
diff --git a/_build/default/doc/examples/resolution.mli b/_build/default/doc/examples/.formatted/resolution.mli
index c84d5e2..d0c6d0b 100644
--- a/_build/default/doc/examples/resolution.mli
+++ b/_build/default/doc/examples/.formatted/resolution.mli
@@ -85,7 +85,6 @@ module Hidden : sig
   (**/**)
 
   type v = T of t
-
 end
 
 module References : sig
File "src/xref2/errors.ml", line 1, characters 0-0:
diff --git a/_build/default/src/xref2/errors.ml b/_build/default/src/xref2/.formatted/errors.ml
index 09049cd..a2658f9 100644
--- a/_build/default/src/xref2/errors.ml
+++ b/_build/default/src/xref2/.formatted/errors.ml
@@ -253,8 +253,9 @@ module Tools_error = struct
         )
     | `Path_error (err, tag, path) -> pp_path_error fmt err tag path
     | `Parent e -> pp fmt (e :> any)
-    | `Lookup_by_id id -> Format.fprintf fmt "Couldn't find identifier %s"
-        (String.concat "." (Identifier.fullname id))
+    | `Lookup_by_id id ->
+        Format.fprintf fmt "Couldn't find identifier %s"
+          (String.concat "." (Identifier.fullname id))
 end
 
 type kind = [ `OpaqueModule | `Root of string ]
File "src/loader/ident_env.cppo.mli", line 1, characters 0-0:
diff --git a/_build/default/src/loader/ident_env.cppo.mli b/_build/default/src/loader/.formatted/ident_env.cppo.mli
index a0a25e1..428939d 100644
--- a/_build/default/src/loader/ident_env.cppo.mli
+++ b/_build/default/src/loader/.formatted/ident_env.cppo.mli
@@ -101,8 +101,7 @@ val lookup_type_by_name : t -> string -> Paths.Identifier.Type.t list
 val lookup_value_by_name : t -> string -> Paths.Identifier.Value.t list
 (** Lookup a value by its name. *)
 
-val lookup_exception_by_name :
-  t -> string -> Paths.Identifier.Exception.t list
+val lookup_exception_by_name : t -> string -> Paths.Identifier.Exception.t list
 (** Lookup an exception by its name. *)
 
 val lookup_constructor_by_name :
@@ -112,6 +111,5 @@ val lookup_constructor_by_name :
 val lookup_class_by_name : t -> string -> Paths.Identifier.Class.t list
 (** Lookup a class by its name *)
 
-val lookup_class_type_by_name :
-  t -> string -> Paths.Identifier.ClassType.t list
-(** Lookup a class type by its name *)
\ No newline at end of file
+val lookup_class_type_by_name : t -> string -> Paths.Identifier.ClassType.t list
+(** Lookup a class type by its name *)
File "src/xref2/ref_tools.ml", line 1, characters 0-0:
diff --git a/_build/default/src/xref2/ref_tools.ml b/_build/default/src/xref2/.formatted/ref_tools.ml
index 6dfd0a5..fe2e9a9 100644
--- a/_build/default/src/xref2/ref_tools.ml
+++ b/_build/default/src/xref2/.formatted/ref_tools.ml
@@ -181,26 +181,33 @@ let type_lookup_to_class_signature_lookup =
         |> of_option ~error:(`Parent (`Parent_type `OpaqueClass))
         >>= resolved p'
 
-module rec M 
-: sig
-            type t = module_lookup_result
-          
-            val of_component : Env.t -> Component.Module.t -> Cpath.Resolved.module_ -> Resolved.Module.t -> t
-          
-          val in_signature : Env.t -> signature_lookup_result ->
-             ModuleName.t ->
-              (t, Errors.Tools_error.reference_lookup_error) result
-          
-            val of_element : Env.t -> Component.Element.module_ -> t
-          
-            val in_env : Env.t -> string -> (t, Errors.Tools_error.reference_lookup_error) result
-
-            val in_env_by_id : Env.t -> Identifier.Module.t -> (t, Errors.Tools_error.reference_lookup_error) result
-          end 
-          
-          =
-          
-          struct  (** Module *)
+module rec M : sig
+  type t = module_lookup_result
+
+  val of_component :
+    Env.t ->
+    Component.Module.t ->
+    Cpath.Resolved.module_ ->
+    Resolved.Module.t ->
+    t
+
+  val in_signature :
+    Env.t ->
+    signature_lookup_result ->
+    ModuleName.t ->
+    (t, Errors.Tools_error.reference_lookup_error) result
+
+  val of_element : Env.t -> Component.Element.module_ -> t
+
+  val in_env :
+    Env.t -> string -> (t, Errors.Tools_error.reference_lookup_error) result
+
+  val in_env_by_id :
+    Env.t ->
+    Identifier.Module.t ->
+    (t, Errors.Tools_error.reference_lookup_error) result
+end = struct
+  (** Module *)
 
   type t = module_lookup_result
 
@@ -246,33 +253,47 @@ module rec M
   let rec in_env_by_id env (id : Identifier.Module.t) =
     match Env.lookup_by_id Env.s_module id env with
     | Some e -> Ok (of_element env e)
-    | None -> match id.iv with
-      | `Module ({ Identifier.iv = #Identifier.Module.t_pv; _} as p, name) ->
-          in_env_by_id env p >>=
-          module_lookup_to_signature_lookup env >>=
-          fun x -> in_signature env x name
-      |  `Module ({ Identifier.iv = #Identifier.ModuleType.t_pv; _} as p, name) ->
-        MT.in_env_by_id env p >>=
-        module_type_lookup_to_signature_lookup env >>=
-        fun x -> in_signature env x name
-      | `Module ({ Identifier.iv = `Result _; _}, _) 
-      | `Parameter (_, _)
-      | `Root _ -> Error (`Lookup_by_id (id :> Identifier.t))
-end and 
-
-MT : sig
+    | None -> (
+        match id.iv with
+        | `Module (({ Identifier.iv = #Identifier.Module.t_pv; _ } as p), name)
+          ->
+            in_env_by_id env p >>= module_lookup_to_signature_lookup env
+            >>= fun x -> in_signature env x name
+        | `Module
+            (({ Identifier.iv = #Identifier.ModuleType.t_pv; _ } as p), name) ->
+            MT.in_env_by_id env p >>= module_type_lookup_to_signature_lookup env
+            >>= fun x -> in_signature env x name
+        | `Module ({ Identifier.iv = `Result _; _ }, _)
+        | `Parameter (_, _)
+        | `Root _ ->
+            Error (`Lookup_by_id (id :> Identifier.t)))
+end
+
+and MT : sig
   type t = module_type_lookup_result
 
   val of_element : Env.t -> Component.Element.module_type -> t
 
-  val of_component : Env.t -> Component.ModuleType.t -> Cpath.Resolved.module_type -> Resolved.ModuleType.t -> t
+  val of_component :
+    Env.t ->
+    Component.ModuleType.t ->
+    Cpath.Resolved.module_type ->
+    Resolved.ModuleType.t ->
+    t
 
-  val in_signature : Env.t -> signature_lookup_result -> ModuleTypeName.t -> (t, Errors.Tools_error.reference_lookup_error) result
-  
-  val in_env : Env.t -> string -> (t, Errors.Tools_error.reference_lookup_error) result
+  val in_signature :
+    Env.t ->
+    signature_lookup_result ->
+    ModuleTypeName.t ->
+    (t, Errors.Tools_error.reference_lookup_error) result
 
-  val in_env_by_id : Env.t -> Identifier.ModuleType.t -> (t, Errors.Tools_error.reference_lookup_error) result
+  val in_env :
+    Env.t -> string -> (t, Errors.Tools_error.reference_lookup_error) result
 
+  val in_env_by_id :
+    Env.t ->
+    Identifier.ModuleType.t ->
+    (t, Errors.Tools_error.reference_lookup_error) result
 end = struct
   (** Module type *)
 
@@ -306,18 +327,18 @@ end = struct
   let rec in_env_by_id env id =
     match Env.lookup_by_id Env.s_module_type id env with
     | Some e -> Ok (of_element env e)
-    | None -> match id.iv with
-      | `ModuleType ({ Identifier.iv = #Identifier.Module.t_pv; _} as p, name) ->
-          M.in_env_by_id env p >>=
-          module_lookup_to_signature_lookup env >>=
-          fun x -> in_signature env x name
-      | `ModuleType ({ Identifier.iv = #Identifier.ModuleType.t_pv; _} as p, name) ->
-        in_env_by_id env p >>=
-        module_type_lookup_to_signature_lookup env >>=
-        fun x -> in_signature env x name
-      | `ModuleType ({ Identifier.iv = `Result _; _}, _) ->
-        Error (`Lookup_by_id (id :> Identifier.t))
-  
+    | None -> (
+        match id.iv with
+        | `ModuleType
+            (({ Identifier.iv = #Identifier.Module.t_pv; _ } as p), name) ->
+            M.in_env_by_id env p >>= module_lookup_to_signature_lookup env
+            >>= fun x -> in_signature env x name
+        | `ModuleType
+            (({ Identifier.iv = #Identifier.ModuleType.t_pv; _ } as p), name) ->
+            in_env_by_id env p >>= module_type_lookup_to_signature_lookup env
+            >>= fun x -> in_signature env x name
+        | `ModuleType ({ Identifier.iv = `Result _; _ }, _) ->
+            Error (`Lookup_by_id (id :> Identifier.t)))
 end
 
 module Path = struct
@@ -356,7 +377,6 @@ module Path = struct
     | Error _, Error _ -> mk_lookup_error p
 end
 
-
 module CL = struct
   (** Class *)
 
@@ -761,8 +781,8 @@ let rec resolve_label_parent_reference env (r : LabelParent.t) =
    fun r -> Ok (r :> label_parent_lookup_result)
   in
   match r with
-  | `Resolved (`Identifier {iv=(`Module _ | `ModuleType _); _}) as sr ->
-    resolve_signature_reference env sr >>= fun s -> Ok (`S s)
+  | `Resolved (`Identifier { iv = `Module _ | `ModuleType _; _ }) as sr ->
+      resolve_signature_reference env sr >>= fun s -> Ok (`S s)
   | `Resolved _ -> failwith "Unimplemented"
   | `Root (name, `TUnknown) -> LP.in_env env name
   | (`Module _ | `ModuleType _ | `Root (_, (`TModule | `TModuleType))) as sr ->
@@ -862,16 +882,16 @@ and resolve_signature_reference :
                  (`ModuleType (parent, name))))
     | `Module_path p ->
         Path.module_in_env env p >>= module_lookup_to_signature_lookup env
-    | `Resolved (`Identifier ({iv=`Module _; _} as ident)) -> (
+    | `Resolved (`Identifier ({ iv = `Module _; _ } as ident)) ->
         let m = M.in_env_by_id env ident in
-        m >>= module_lookup_to_signature_lookup env)
-    | `Resolved (`Identifier ({iv=`ModuleType _; _} as ident)) -> (
+        m >>= module_lookup_to_signature_lookup env
+    | `Resolved (`Identifier ({ iv = `ModuleType _; _ } as ident)) ->
         let m = MT.in_env_by_id env ident in
-        m >>= module_type_lookup_to_signature_lookup env)
+        m >>= module_type_lookup_to_signature_lookup env
     | `Resolved _ -> failwith "What's going on!?"
-          (* Some (resolve_resolved_signature_reference env r ~add_canonical) *)
-
+    (* Some (resolve_resolved_signature_reference env r ~add_canonical) *)
   in
+
   resolve env'
 
 and resolve_module_reference env (r : Module.t) : M.t ref_result =
File "src/driver/odoc_unit.mli", line 1, characters 0-0:
diff --git a/_build/default/src/driver/odoc_unit.mli b/_build/default/src/driver/.formatted/odoc_unit.mli
index ad99e3f..7cbc39c 100644
--- a/_build/default/src/driver/odoc_unit.mli
+++ b/_build/default/src/driver/.formatted/odoc_unit.mli
@@ -6,7 +6,8 @@ module Pkg_args : sig
   val linked_pages : t -> (string * Fpath.t) list
   val linked_libs : t -> (string * Fpath.t) list
 
-  val v : odoc_dir:Fpath.t ->
+  val v :
+    odoc_dir:Fpath.t ->
     odocl_dir:Fpath.t ->
     pages:(string * Fpath.t) list ->
     libs:(string * Fpath.t) list ->
File "src/driver/odoc_unit.ml", line 1, characters 0-0:
diff --git a/_build/default/src/driver/odoc_unit.ml b/_build/default/src/driver/.formatted/odoc_unit.ml
index 7d3ad65..cc60ade 100644
--- a/_build/default/src/driver/odoc_unit.ml
+++ b/_build/default/src/driver/.formatted/odoc_unit.ml
@@ -10,7 +10,8 @@ module Pkg_args = struct
     let pages, libs = Util.StringMap.(of_list pages, of_list libs) in
     { odoc_dir; odocl_dir; pages; libs }
 
-  let map_rel dir m = Util.StringMap.fold (fun a b acc -> (a, Fpath.(dir // b)) :: acc) m []
+  let map_rel dir m =
+    Util.StringMap.fold (fun a b acc -> (a, Fpath.(dir // b)) :: acc) m []
 
   let compiled_pages v = map_rel v.odoc_dir v.pages
   let compiled_libs v = map_rel v.odoc_dir v.libs
@@ -37,7 +38,10 @@ module Pkg_args = struct
     in
     Format.fprintf fmt
       "@[<hov>odoc_dir: %a@;odocl_dir: %a@;pages: [%a]@;libs: [%a]@]" Fpath.pp
-      x.odoc_dir Fpath.pp x.odocl_dir sfp_pp (Util.StringMap.bindings x.pages) sfp_pp (Util.StringMap.bindings x.libs)
+      x.odoc_dir Fpath.pp x.odocl_dir sfp_pp
+      (Util.StringMap.bindings x.pages)
+      sfp_pp
+      (Util.StringMap.bindings x.libs)
 end
 
 type sidebar = { output_file : Fpath.t; json : bool }
File "src/driver/odoc_units_of.ml", line 1, characters 0-0:
diff --git a/_build/default/src/driver/odoc_units_of.ml b/_build/default/src/driver/.formatted/odoc_units_of.ml
index cc1f331..58c6510 100644
--- a/_build/default/src/driver/odoc_units_of.ml
+++ b/_build/default/src/driver/.formatted/odoc_units_of.ml
@@ -193,7 +193,11 @@ let packages ~dirs ~extra_paths ~remap (pkgs : Packages.t list) : t list =
   in
   let of_lib pkg (lib : Packages.libty) =
     let lib_deps = Util.StringSet.add lib.lib_name lib.lib_deps in
-    let lib_deps = List.fold_left (fun acc lib -> Util.StringSet.add lib.Packages.lib_name acc) lib_deps pkg.Packages.libraries in
+    let lib_deps =
+      List.fold_left
+        (fun acc lib -> Util.StringSet.add lib.Packages.lib_name acc)
+        lib_deps pkg.Packages.libraries
+    in
     let index = index_of pkg in
     let landing_page :> t = Landing_pages.library ~dirs ~pkg ~index lib in
     landing_page :: List.concat_map (of_module pkg lib lib_deps) lib.modules
File "src/driver/odoc.ml", line 1, characters 0-0:
diff --git a/_build/default/src/driver/odoc.ml b/_build/default/src/driver/.formatted/odoc.ml
index c719f04..1de5277 100644
--- a/_build/default/src/driver/odoc.ml
+++ b/_build/default/src/driver/.formatted/odoc.ml
@@ -36,7 +36,8 @@ let compile_deps f =
   | [ (_, digest) ], deps -> Ok { digest; deps }
   | _ -> Error (`Msg "odd")
 
-let compile ~output_dir ~input_file:file ~includes ~suppress_warnings ~parent_id =
+let compile ~output_dir ~input_file:file ~includes ~suppress_warnings ~parent_id
+    =
   let open Cmd in
   let includes =
     Fpath.Set.fold
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-20 21:27.34: Job failed: Failed: Build failed