Organisationsmefyltimmy4c1627 ()(lint-fmt)

(lint-fmt)

Link Copied
Code Copied

Logs

2025-05-11 16:49.49: New job: test mefyl/timmy https://github.com/mefyl/timmy.git#refs/heads/master (4c16276dd0af20216966ca37ade96600cd05627f) (linux-x86_64:(lint-fmt))
Base: ocaml/opam:debian-12-ocaml-4.08@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4
ocamlformat version: version 0.27.0 (from opam)


To reproduce locally:


git clone --recursive "https://github.com/mefyl/timmy.git" -b "master" && cd "timmy" && git reset --hard 4c16276d
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.08@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4
USER 1000:1000
RUN cd ~/opam-repository && (git cat-file -e 442eddb8a363418dcb02e519972818da08bb7cd4 || git fetch origin master) && git reset -q --hard 442eddb8a363418dcb02e519972818da08bb7cd4 && 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-05-11 16:49.49: Using cache hint "mefyl/timmy-ocaml/opam:debian-12-ocaml-4.08@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4-debian-12-4.08_opam-2.3-ocamlformat-442eddb8a363418dcb02e519972818da08bb7cd4"
2025-05-11 16:49.49: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.08@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4)
(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 442eddb8a363418dcb02e519972818da08bb7cd4 || git fetch origin master) && git reset -q --hard 442eddb8a363418dcb02e519972818da08bb7cd4 && 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-05-11 16:49.49: Waiting for resource in pool OCluster
2025-05-11 16:49.49: Waiting for worker…
2025-05-11 16:49.50: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at 4c16276 Merge subtree logistic.


(from ocaml/opam:debian-12-ocaml-4.08@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4)
Unable to find image 'ocaml/opam:debian-12-ocaml-4.08@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4' locally
docker.io/ocaml/opam@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4: Pulling from ocaml/opam
031dfd3a3b8c: Pulling fs layer
031dfd3a3b8c: Download complete
031dfd3a3b8c: Pull complete
Digest: sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4
Status: Downloaded newer image for ocaml/opam@sha256:23c85daf4eb9a91d154cf2f9fed47f4f9b9fa788adc9c1fc7f0802e3dc06d7c4
2025-05-11 16:52.26 ---> saved as "44ab722c6d76cc4aa083f99994b6eb04bd97004720a37e6316ca14ec9a9ee4aa"


/: (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 442eddb8a363418dcb02e519972818da08bb7cd4 || git fetch origin master) && git reset -q --hard 442eddb8a363418dcb02e519972818da08bb7cd4 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
34a3fc46c3..0d013e603b  master     -> origin/master
442eddb8a3 Merge pull request #27761 from maiste/release-dune-3.18.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-05-11 16:53.29 ---> saved as "2b4d57bfea760aa246bd3085b47c380147249138e623417b44e014cb82cda1dd"


/: (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.18.1


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


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dune.3.18.1
Done.
# Run eval $(opam env) to update the current shell environment
2025-05-11 16:53.57 ---> saved as "457b790b55ad4c3d576846b293a282971100232ad7fc0da38e5048f75a7fbcd4"


/: (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 dune-build-info   3.18.1   [required by ocamlformat-lib]
- install sexplib0          v0.14.0  [required by base]
- install cmdliner          1.3.0    [required by ocamlformat]
- install menhirLib         20240715 [required by ocamlformat-lib]
- install menhirCST         20240715 [required by menhir]
- install ocamlbuild        0.16.1   [required by fpath, astring, uuseg]
- install menhirSdk         20240715 [required by ocamlformat-lib]
- install either            1.0.0    [required by ocamlformat-lib]
- install ocaml-version     4.0.0    [required by ocamlformat-lib]
- install camlp-streams     5.0.1    [required by ocamlformat-lib]
- install csexp             1.5.2    [required by ocamlformat]
- install seq               base     [required by re]
- install ocamlfind         1.9.8    [required by ocp-indent, astring, fpath, uuseg]
- install fix               20230505 [required by ocamlformat-lib]
- install menhir            20240715 [required by ocamlformat-lib]
- install dune-configurator 3.18.1   [required by base]
- install re                1.11.0   [required by ocamlformat]
- install topkg             1.0.8    [required by fpath, astring, uuseg]
- install base-bytes        base     [required by ocp-indent]
- 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 ocp-indent        1.8.1    [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
===== 29 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.18.1] found in cache
[dune-configurator.3.18.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.4.0.0] 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.8.1] 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.0.8] 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 csexp.1.5.2
-> installed cmdliner.1.3.0
-> installed either.1.0.0
-> installed fix.20230505
-> installed menhirCST.20240715
-> installed menhirLib.20240715
-> installed menhirSdk.20240715
-> installed ocaml-version.4.0.0
-> installed re.1.11.0
-> installed sexplib0.v0.14.0
-> installed dune-build-info.3.18.1
-> installed dune-configurator.3.18.1
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed ocp-indent.1.8.1
-> installed base.v0.14.3
-> installed topkg.1.0.8
-> installed stdio.v0.14.0
-> installed uutf.1.0.4
-> 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.27.0
-> installed ocamlformat.0.27.0
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
2025-05-11 16:54.53 ---> saved as "c834b13f15d865d5960ac73b6948470e601187f159ec92dad38721ea8407ba59"


/src: (copy (src .) (dst /src/))
2025-05-11 16:54.53 ---> saved as "05f1c16ece752d8240a2c1f42dbba4851850fbb275ff1a77d0d2d89096f3b7d5"


/src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
File "timmy-timezones/lib/timmy_timezones.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy-timezones/lib/timmy_timezones.ml b/_build/default/timmy-timezones/lib/.formatted/timmy_timezones.ml
index 5171ed5..9ea0163 100644
--- a/_build/default/timmy-timezones/lib/timmy_timezones.ml
+++ b/_build/default/timmy-timezones/lib/.formatted/timmy_timezones.ml
@@ -13,7 +13,8 @@ let of_timere timere_tz : Timmy.Timezone.t =
| x -> x
in
Timedesc.offset_from_utc timedesc
-    |> Timedesc.min_of_local_date_time_result |> Timedesc.Timestamp.to_float_s
+    |> Timedesc.min_of_local_date_time_result
+    |> Timedesc.Timestamp.to_float_s
|> Float.to_int
and offset_calendar_time_s ~date:(year, month, day)
~time:(hour, minute, second) =
@@ -29,7 +30,8 @@ let of_timere timere_tz : Timmy.Timezone.t =
| x -> x
in
Timedesc.offset_from_utc timedesc
-    |> Timedesc.min_of_local_date_time_result |> Timedesc.Timestamp.to_float_s
+    |> Timedesc.min_of_local_date_time_result
+    |> Timedesc.Timestamp.to_float_s
|> Float.to_int
in
Timmy.Timezone.of_implementation ~offset_timestamp_s ~offset_calendar_time_s
File "timmy/tests/clock_tests.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy/tests/clock_tests.ml b/_build/default/timmy/tests/.formatted/clock_tests.ml
index 6ee3c7b..5ee31a5 100644
--- a/_build/default/timmy/tests/clock_tests.ml
+++ b/_build/default/timmy/tests/.formatted/clock_tests.ml
@@ -21,14 +21,16 @@ let daylight_savings ?(timezone = Clock.timezone_local) () =
time_t)
offset
@@ Timmy.Timezone.gmt_offset_seconds_at_datetime ~date ~time timezone
-         / 60 / 60
+         / 60
+         / 60
and () =
Alcotest.(check ~here:[%here] int)
(Fmt.str "UTC offset at %a" Timmy.Time.pp timestamp)
offset
@@ Timmy.Timezone.gmt_offset_seconds_at_time timezone
(Timmy.Time.to_ptime timestamp)
-         / 60 / 60
+         / 60
+         / 60
and () =
Alcotest.(check ~here:[%here] date) "date roundtrip" date_t
@@ Timmy.Date.of_time ~timezone timestamp
File "timmy/tests/schemas.schematic.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy/tests/schemas.schematic.ml b/_build/default/timmy/tests/.formatted/schemas.schematic.ml
index 28aacd0..b8ff285 100644
--- a/_build/default/timmy/tests/schemas.schematic.ml
+++ b/_build/default/timmy/tests/.formatted/schemas.schematic.ml
@@ -34,19 +34,21 @@ let daytime () =
(Result.ok_or_failwith
@@ Timmy.Daytime.make ~hours:13 ~minutes:37 ~seconds:42)
(`O
-        [
-          ("hours", `Float 13.); ("minutes", `Float 37.); ("seconds", `Float 42.);
-        ])
+         [
+           ("hours", `Float 13.);
+           ("minutes", `Float 37.);
+           ("seconds", `Float 42.);
+         ])
and () =
try
let res =
Schematic.Json.decode Timmy.Daytime.schema
(`O
-            [
-              ("hours", `Float (-1.));
-              ("minutes", `Float 0.);
-              ("seconds", `Float 0.);
-            ])
+             [
+               ("hours", `Float (-1.));
+               ("minutes", `Float 0.);
+               ("seconds", `Float 0.);
+             ])
in
Alcotest.(
check ~here:[%here]
File "timmy-lwt/lib/src/timmy_lwt.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy-lwt/lib/src/timmy_lwt.ml b/_build/default/timmy-lwt/lib/src/.formatted/timmy_lwt.ml
index dfb3c9b..9e72c17 100644
--- a/_build/default/timmy-lwt/lib/src/timmy_lwt.ml
+++ b/_build/default/timmy-lwt/lib/src/.formatted/timmy_lwt.ml
@@ -1,7 +1,8 @@
module Ticker = Ticker


let sleep seconds =
-  Timmy_lwt_platform.sleep @@ Ptime.Span.to_float_s
+  Timmy_lwt_platform.sleep
+  @@ Ptime.Span.to_float_s
@@ Timmy.Span.to_ptime seconds


let yield = Timmy_lwt_platform.yield
File "timmy/lib/src/date.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy/lib/src/date.ml b/_build/default/timmy/lib/src/.formatted/date.ml
index 271953f..f1bb73e 100644
--- a/_build/default/timmy/lib/src/date.ml
+++ b/_build/default/timmy/lib/src/.formatted/date.ml
@@ -62,7 +62,11 @@ let to_int { year; month; day } =
let m = month + (12 * a) - 3 in
day
+ (((153 * m) + 2) / 5)
-  + (365 * y) + (y / 4) - (y / 100) + (y / 400) - 32045
+  + (365 * y)
+  + (y / 4)
+  - (y / 100)
+  + (y / 400)
+  - 32045


let add_days date days = of_int @@ (to_int date + days)


File "timmy/lib/src/time.mli", line 1, characters 0-0:
diff --git a/_build/default/timmy/lib/src/time.mli b/_build/default/timmy/lib/src/.formatted/time.mli
index 4437e88..ef40102 100644
--- a/_build/default/timmy/lib/src/time.mli
+++ b/_build/default/timmy/lib/src/.formatted/time.mli
@@ -41,7 +41,8 @@ include module type of O


(** {2 Pretty-print} *)


-(** [pp f date] prints [date] to [f] in an unspecified, human readable format. *)
+(** [pp f date] prints [date] to [f] in an unspecified, human readable format.
+*)
val pp : t Fmt.t


(** {2 String} *)
File "timmy/lib/src/daytime.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy/lib/src/daytime.ml b/_build/default/timmy/lib/src/.formatted/daytime.ml
index 098db0e..5031b0e 100644
--- a/_build/default/timmy/lib/src/daytime.ml
+++ b/_build/default/timmy/lib/src/.formatted/daytime.ml
@@ -47,8 +47,8 @@ let pp f { hours; minutes; seconds } =


let pp_opt ?(format = `_24) ?(precision = `Seconds) ?(size = `Short) () f
{ hours; minutes; seconds } =
-  let hours_format :
-      type x. unit -> (int -> x, Formatter.t, unit, unit, unit, x) format6 =
+  let hours_format : type x.
+      unit -> (int -> x, Formatter.t, unit, unit, unit, x) format6 =
match format with `_24 -> fun () -> "%02i" | `_12 -> fun () -> "%i"
and hours_formatted =
match (format, hours) with
File "timmy/lib/src/daytime.mli", line 1, characters 0-0:
diff --git a/_build/default/timmy/lib/src/daytime.mli b/_build/default/timmy/lib/src/.formatted/daytime.mli
index a89ca70..d3071ca 100644
--- a/_build/default/timmy/lib/src/daytime.mli
+++ b/_build/default/timmy/lib/src/.formatted/daytime.mli
@@ -31,7 +31,8 @@ val with_daytime : timezone:Timezone.t -> t -> Time.t -> Time.t
(** [truncate_seconds daytime] is [daytime] with seconds set to [0]. *)
val truncate_seconds : t -> t


-(** [truncate_minutes daytime] is [daytime] with minutes and seconds set to [0]. *)
+(** [truncate_minutes daytime] is [daytime] with minutes and seconds set to [0].
+*)
val truncate_minutes : t -> t


(** {2 Time conversions} *)
File "timmy/lib/src/date.mli", line 1, characters 0-0:
diff --git a/_build/default/timmy/lib/src/date.mli b/_build/default/timmy/lib/src/.formatted/date.mli
index 16b2af5..8afd6cc 100644
--- a/_build/default/timmy/lib/src/date.mli
+++ b/_build/default/timmy/lib/src/.formatted/date.mli
@@ -17,26 +17,21 @@ val make : year:int -> month:Month.t -> day:int -> (t, string) Result.t
worrying about month and year boundaries and readjust the final results.


Month below 1 will underflow to previous years and month above 12 will
-    overflow to the next years, eg. [make ~year:2021 ~month:-1
-   ~day:1 ()] is
+    overflow to the next years, eg. [make ~year:2021 ~month:-1 ~day:1 ()] is
[{year = 2020; month = 11; day = 1}] and
-    [make
-   ~year:2021 ~month:25 ~day:1 ()] is
-    [{year = 2023; month = 1; day =
-   1}].
+    [make ~year:2021 ~month:25 ~day:1 ()] is
+    [{year = 2023; month = 1; day = 1}].


Unless [truncate_day] is true, days below 1 will underflow to the previous
months and days past the last day of the month will overflow to the next
-    months, eg. [make_overflow ~year:1985 ~month:2
-   ~day:29 ()] is
+    months, eg. [make_overflow ~year:1985 ~month:2 ~day:29 ()] is
[{year = 1985; month = 3; day = 1}].


If [truncate_day] is true, the day is clipped to the valid range for the
current month. This is useful to do arithmetics on months without risking
the day overflowing to the next months if the new month is shorter, eg.
[make_overflow ~day_truncate:true ~year:1985 ~month:(1 + 1) ~day:31 ()] is
-    [{year = 1985;
-   month = 2; day = 28}]. *)
+    [{year = 1985; month = 2; day = 28}]. *)
val make_overflow :
?day_truncate:bool -> year:int -> month:int -> day:int -> unit -> t


File "timmy/tests/test.ml", line 1, characters 0-0:
diff --git a/_build/default/timmy/tests/test.ml b/_build/default/timmy/tests/.formatted/test.ml
index 62772ba..a4083e3 100644
--- a/_build/default/timmy/tests/test.ml
+++ b/_build/default/timmy/tests/.formatted/test.ml
@@ -214,7 +214,8 @@ module Span = struct
(60 * 60 * 24 * 7)
and () =
check ~here:[%here] "Milliseconds are printed correctly" "0.003s"
-      @@ Timmy.Span.of_ptime @@ Option.value_exn
+      @@ Timmy.Span.of_ptime
+      @@ Option.value_exn
@@ Ptime.Span.of_float_s 0.003
and () =
check_seconds ~here:[%here] "A composite duration is printed correctly"
@@ -225,11 +226,13 @@ module Span = struct
and () =
let span = Ptime.Span.of_float_s 0.123 in
check ~here:[%here] "Milliseconds are printed correctly" "0.123s"
-      @@ Timmy.Span.of_ptime @@ Option.value_exn span
+      @@ Timmy.Span.of_ptime
+      @@ Option.value_exn span
and () =
let span = Ptime.Span.of_float_s 1.234 in
check ~here:[%here] "Milliseconds are printed correctly" "1.234s"
-      @@ Timmy.Span.of_ptime @@ Option.value_exn span
+      @@ Timmy.Span.of_ptime
+      @@ Option.value_exn span
and () =
check ~here:[%here] "Multiplied correctly" "0.100s"
@@ Timmy.Span.(seconds 1 *. 0.1)
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-05-11 16:54.54: Job failed: Failed: Build failed