2025-02-06 10:12.22: New job: test mirage/mirage-skeleton https://github.com/mirage/mirage-skeleton.git#refs/pull/407/head (0d0c5e528e21aefe9ddfcfc9f3c7e3d10f47e8c1) (linux-x86_64:(lint-fmt))
Base: ocaml/opam:debian-12-ocaml-4.08@sha256:5ed944c28bc353d9e7177b46518ac79c4f79307a96346ab47f69f23048661167
ocamlformat version: version 0.26.2 (from opam)
To reproduce locally:
git clone --recursive "https://github.com/mirage/mirage-skeleton.git" && cd "mirage-skeleton" && git fetch origin "refs/pull/407/head" && git reset --hard 0d0c5e52
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.08@sha256:5ed944c28bc353d9e7177b46518ac79c4f79307a96346ab47f69f23048661167
USER 1000:1000
RUN cd ~/opam-repository && (git cat-file -e 3ee951993de4d18fd335fcea4ac7375cab56a637 || git fetch origin master) && git reset -q --hard 3ee951993de4d18fd335fcea4ac7375cab56a637 && 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
2025-02-06 10:12.22: Using cache hint "mirage/mirage-skeleton-ocaml/opam:debian-12-ocaml-4.08@sha256:5ed944c28bc353d9e7177b46518ac79c4f79307a96346ab47f69f23048661167-debian-12-4.08_opam-2.3-ocamlformat-3ee951993de4d18fd335fcea4ac7375cab56a637"
2025-02-06 10:12.22: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.08@sha256:5ed944c28bc353d9e7177b46518ac79c4f79307a96346ab47f69f23048661167)
(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 3ee951993de4d18fd335fcea4ac7375cab56a637 || git fetch origin master) && git reset -q --hard 3ee951993de4d18fd335fcea4ac7375cab56a637 && 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)"))
)
2025-02-06 10:12.22: Waiting for resource in pool OCluster
2025-02-06 17:06.18: Waiting for worker…
2025-02-06 17:10.55: Got resource from pool OCluster
Building on clete.caelum.ci.dev
All commits already cached
HEAD is now at 0d0c5e5 remove ~deps:[dep noop] now that mirage automatically inserts it
(from ocaml/opam:debian-12-ocaml-4.08@sha256:5ed944c28bc353d9e7177b46518ac79c4f79307a96346ab47f69f23048661167)
2025-02-06 17:10.55 ---> using "12d8e57f55730dcaba296a0cfe8a3658e193293e6af74e1cd089421a248727f7" 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 3ee951993de4d18fd335fcea4ac7375cab56a637 || git fetch origin master) && git reset -q --hard 3ee951993de4d18fd335fcea4ac7375cab56a637 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
3e681a81f6..110500e231 master -> origin/master
3ee951993d Merge pull request #27253 from kit-ty-kate/opam-publish-ocamlfind.1.9.8
<><> 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
2025-02-06 17:10.55 ---> using "7c6ce730d9c9c526f110a5394001e5f371700558f81059c3f3e6efead613ffeb" 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.2
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[dune.3.17.2] found in cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dune.3.17.2
Done.
# Run eval $(opam env) to update the current shell environment
2025-02-06 17:10.55 ---> using "109288c862610daf20f8498a32d73aa095658f85444c80b68f72ec7a86836e1b" 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 ocaml-version 3.7.3 [required by ocamlformat-lib]
- install sexplib0 v0.14.0 [required by base]
- install dune-build-info 3.17.2 [required by ocamlformat-lib]
- install cmdliner 1.3.0 [required by ocamlformat]
- 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 result 1.5 [required by ocamlformat-lib]
- install csexp 1.5.2 [required by ocamlformat-lib]
- install seq base [required by re]
- install camlp-streams 5.0.1 [required by ocamlformat-lib]
- install fix 20230505 [required by ocamlformat-lib]
- install ocamlfind 1.9.8 [required by ocp-indent, astring, fpath, uuseg]
- install menhir 20240715 [required by ocamlformat-lib]
- install dune-configurator 3.17.2 [required by base]
- install re 1.11.0 [required by ocamlformat]
- install topkg 1.0.7 [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.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 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.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.2] found in cache
[dune-configurator.3.17.2] 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.3] found in cache
[ocamlbuild.0.15.0] found in cache
[ocamlfind.1.9.8] 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.3
-> installed re.1.11.0
-> installed result.1.5
-> installed sexplib0.v0.14.0
-> installed dune-build-info.3.17.2
-> installed dune-configurator.3.17.2
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocp-indent.1.8.1
-> installed ocamlbuild.0.15.0
-> 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
2025-02-06 17:12.01 ---> saved as "af1e18d33bf024900d0970dad6ea9b8502a1259c52241d039e018cf515a5d620"
/src: (copy (src .) (dst /src/))
2025-02-06 17:12.01 ---> saved as "a316d8e0d49c9b8f10fad21bc60e76939cf78edecf706f8eb5bd68287718a32e"
/src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
File "applications/dhcp/config.ml", line 1, characters 0-0:
diff --git a/_build/default/applications/dhcp/config.ml b/_build/default/applications/dhcp/.formatted/config.ml
index 85b03d1..0f3db97 100644
--- a/_build/default/applications/dhcp/config.ml
+++ b/_build/default/applications/dhcp/.formatted/config.ml
@@ -10,6 +10,4 @@ let packages =
]
let main = main "Unikernel.Main" ~packages (network @-> job)
-
-let () =
- register "dhcp" [ main $ default_network ]
+let () = register "dhcp" [ main $ default_network ]
File "applications/http/config.ml", line 1, characters 0-0:
diff --git a/_build/default/applications/http/config.ml b/_build/default/applications/http/.formatted/config.ml
index 86b2eb3..6201edd 100644
--- a/_build/default/applications/http/config.ml
+++ b/_build/default/applications/http/.formatted/config.ml
@@ -42,11 +42,4 @@ let http_server = paf_server ~port tcpv4v6
let () =
register "minipaf"
- [
- minipaf
- $ certificates
- $ keys
- $ tcpv4v6
- $ conn
- $ http_server;
- ]
+ [ minipaf $ certificates $ keys $ tcpv4v6 $ conn $ http_server ]
File "applications/static_website_tls/config.ml", line 1, characters 0-0:
diff --git a/_build/default/applications/static_website_tls/config.ml b/_build/default/applications/static_website_tls/.formatted/config.ml
index a8b84aa..6fbc3ec 100644
--- a/_build/default/applications/static_website_tls/config.ml
+++ b/_build/default/applications/static_website_tls/.formatted/config.ml
@@ -17,5 +17,4 @@ let main =
let packages = [ package "uri"; package "magic-mime" ] in
main ~packages "Dispatch.HTTPS" (kv_ro @-> kv_ro @-> http @-> job)
-let () =
- register "https" [ main $ data $ certs $ https_srv ]
+let () = register "https" [ main $ data $ certs $ https_srv ]
File "tutorial/app_info/config.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/app_info/config.ml b/_build/default/tutorial/app_info/.formatted/config.ml
index f9d442d..040f037 100644
--- a/_build/default/tutorial/app_info/config.ml
+++ b/_build/default/tutorial/app_info/.formatted/config.ml
@@ -2,8 +2,6 @@
open Mirage
let main =
- main "Unikernel"
- ~packages:[ package "fmt"; package "dune-build-info" ]
- job
+ main "Unikernel" ~packages:[ package "fmt"; package "dune-build-info" ] job
let () = register "app-info" [ main ]
File "device-usage/clock/config.ml", line 1, characters 0-0:
diff --git a/_build/default/device-usage/clock/config.ml b/_build/default/device-usage/clock/.formatted/config.ml
index 711f832..12a3c9e 100644
--- a/_build/default/device-usage/clock/config.ml
+++ b/_build/default/device-usage/clock/.formatted/config.ml
@@ -5,5 +5,4 @@ let main =
let packages = [ package "duration" ] in
main ~packages "Unikernel" job
-let () =
- register "speaking_clock" [ main ]
+let () = register "speaking_clock" [ main ]
File "device-usage/disk-lottery/config.ml", line 1, characters 0-0:
diff --git a/_build/default/device-usage/disk-lottery/config.ml b/_build/default/device-usage/disk-lottery/.formatted/config.ml
index 8a7aa70..493933a 100644
--- a/_build/default/device-usage/disk-lottery/config.ml
+++ b/_build/default/device-usage/disk-lottery/.formatted/config.ml
@@ -2,8 +2,7 @@
open Mirage
let main =
- main "Unikernel.Main"
- (block @-> job)
+ main "Unikernel.Main" (block @-> job)
~packages:[ package "checkseum"; package "cstruct"; package "fmt" ]
let img =
File "tutorial/hello/config.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/hello/config.ml b/_build/default/tutorial/hello/.formatted/config.ml
index 18425bc..e59bcd3 100644
--- a/_build/default/tutorial/hello/config.ml
+++ b/_build/default/tutorial/hello/.formatted/config.ml
@@ -1,7 +1,5 @@
(* mirage >= 4.4.0 & < 4.9.0 *)
open Mirage
-let main =
- main "Unikernel" job ~packages:[ package "duration" ]
-
+let main = main "Unikernel" job ~packages:[ package "duration" ]
let () = register "hello" [ main ]
File "applications/static_website_tls/dispatch.ml", line 1, characters 0-0:
diff --git a/_build/default/applications/static_website_tls/dispatch.ml b/_build/default/applications/static_website_tls/.formatted/dispatch.ml
index 2f6ac25..e39d905 100644
--- a/_build/default/applications/static_website_tls/dispatch.ml
+++ b/_build/default/applications/static_website_tls/.formatted/dispatch.ml
@@ -65,11 +65,7 @@ module Dispatch (FS : Mirage_kv.RO) (S : HTTP) = struct
S.make ~conn_closed ~callback ()
end
-module HTTPS
- (DATA : Mirage_kv.RO)
- (KEYS : Mirage_kv.RO)
- (Http : HTTP) =
-struct
+module HTTPS (DATA : Mirage_kv.RO) (KEYS : Mirage_kv.RO) (Http : HTTP) = struct
module X509 = Tls_mirage.X509 (KEYS)
module D = Dispatch (DATA) (Http)
File "tutorial/hello/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/hello/unikernel.ml b/_build/default/tutorial/hello/.formatted/unikernel.ml
index 33b3ccf..418206a 100644
--- a/_build/default/tutorial/hello/unikernel.ml
+++ b/_build/default/tutorial/hello/.formatted/unikernel.ml
@@ -4,8 +4,7 @@ let start () =
let rec loop = function
| 0 -> Lwt.return_unit
| n ->
- Logs.info (fun f -> f "hello");
- Mirage_sleep.ns (Duration.of_sec 1) >>= fun () ->
- loop (n - 1)
+ Logs.info (fun f -> f "hello");
+ Mirage_sleep.ns (Duration.of_sec 1) >>= fun () -> loop (n - 1)
in
loop 4
File "tutorial/hello-key/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/hello-key/unikernel.ml b/_build/default/tutorial/hello-key/.formatted/unikernel.ml
index 90486bd..74a9a21 100644
--- a/_build/default/tutorial/hello-key/unikernel.ml
+++ b/_build/default/tutorial/hello-key/.formatted/unikernel.ml
@@ -9,8 +9,7 @@ let start () =
let rec loop = function
| 0 -> Lwt.return_unit
| n ->
- Logs.info (fun f -> f "%s" (hello ()));
- Mirage_sleep.ns (Duration.of_sec 1) >>= fun () ->
- loop (n - 1)
+ Logs.info (fun f -> f "%s" (hello ()));
+ Mirage_sleep.ns (Duration.of_sec 1) >>= fun () -> loop (n - 1)
in
loop 4
File "applications/dhcp/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/applications/dhcp/unikernel.ml b/_build/default/applications/dhcp/.formatted/unikernel.ml
index 0106c9d..54f5296 100644
--- a/_build/default/applications/dhcp/unikernel.ml
+++ b/_build/default/applications/dhcp/.formatted/unikernel.ml
@@ -15,7 +15,9 @@ module Main (N : Mirage_net.S) = struct
Lwt.return leases
| Ok pkt -> (
let open Dhcp_server.Input in
- let now = Mirage_mtime.elapsed_ns () |> Duration.to_sec |> Int32.of_int in
+ let now =
+ Mirage_mtime.elapsed_ns () |> Duration.to_sec |> Int32.of_int
+ in
match input_pkt config leases pkt now with
| Silence -> Lwt.return leases
| Update leases ->
File "device-usage/clock/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/device-usage/clock/unikernel.ml b/_build/default/device-usage/clock/.formatted/unikernel.ml
index 270c2ea..3976293 100644
--- a/_build/default/device-usage/clock/unikernel.ml
+++ b/_build/default/device-usage/clock/.formatted/unikernel.ml
@@ -10,7 +10,6 @@ let start () =
m "At the stroke, the time will be %a \x07 *BEEP*"
(Ptime.pp_human ?tz_offset_s:tz ())
current_time);
- Mirage_sleep.ns (Duration.of_sec 1) >>= fun () ->
- speak ()
+ Mirage_sleep.ns (Duration.of_sec 1) >>= fun () -> speak ()
in
speak ()
File "tutorial/lwt/heads1/config.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/lwt/heads1/config.ml b/_build/default/tutorial/lwt/heads1/.formatted/config.ml
index b28d151..e489371 100644
--- a/_build/default/tutorial/lwt/heads1/config.ml
+++ b/_build/default/tutorial/lwt/heads1/.formatted/config.ml
@@ -1,7 +1,5 @@
(* mirage >= 4.4.0 & < 4.9.0 *)
open Mirage
-let main =
- main ~packages:[ package "duration" ] "Unikernel" job
-
+let main = main ~packages:[ package "duration" ] "Unikernel" job
let () = register "heads1" [ main ]
File "tutorial/lwt/timeout1/config.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/lwt/timeout1/config.ml b/_build/default/tutorial/lwt/timeout1/.formatted/config.ml
index 703fa22..4580a83 100644
--- a/_build/default/tutorial/lwt/timeout1/config.ml
+++ b/_build/default/tutorial/lwt/timeout1/.formatted/config.ml
@@ -4,7 +4,6 @@ open Mirage
let main =
main
~packages:[ package "duration"; package ~min:"0.2.0" "randomconv" ]
- "Unikernel"
- job
+ "Unikernel" job
let () = register "timeout1" [ main ]
File "tutorial/lwt/timeout2/config.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/lwt/timeout2/config.ml b/_build/default/tutorial/lwt/timeout2/.formatted/config.ml
index da1a3f3..bea6d03 100644
--- a/_build/default/tutorial/lwt/timeout2/config.ml
+++ b/_build/default/tutorial/lwt/timeout2/.formatted/config.ml
@@ -4,7 +4,6 @@ open Mirage
let main =
main
~packages:[ package "duration"; package ~min:"0.2.0" "randomconv" ]
- "Unikernel"
- job
+ "Unikernel" job
let () = register "timeout2" [ main ]
File "tutorial/lwt/echo_server/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/lwt/echo_server/unikernel.ml b/_build/default/tutorial/lwt/echo_server/.formatted/unikernel.ml
index 76f69d8..58ca81f 100644
--- a/_build/default/tutorial/lwt/echo_server/unikernel.ml
+++ b/_build/default/tutorial/lwt/echo_server/.formatted/unikernel.ml
@@ -10,9 +10,8 @@ let start () =
let rec echo_server = function
| 0 -> Lwt.return ()
| n ->
- read_line () >>= fun s ->
- Logs.info (fun m -> m "%s" s);
- echo_server (n - 1)
+ read_line () >>= fun s ->
+ Logs.info (fun m -> m "%s" s);
+ echo_server (n - 1)
in
echo_server 10
-
File "tutorial/lwt/timeout1/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/lwt/timeout1/unikernel.ml b/_build/default/tutorial/lwt/timeout1/.formatted/unikernel.ml
index 785d2ce..d51706e 100644
--- a/_build/default/tutorial/lwt/timeout1/unikernel.ml
+++ b/_build/default/tutorial/lwt/timeout1/.formatted/unikernel.ml
@@ -4,16 +4,15 @@ let timeout delay t =
Mirage_sleep.ns delay >>= fun () ->
match Lwt.state t with
| Lwt.Sleep ->
- Lwt.cancel t;
- Lwt.return None
+ Lwt.cancel t;
+ Lwt.return None
| Lwt.Return v -> Lwt.return (Some v)
| Lwt.Fail ex -> Lwt.fail ex
let start () =
let t =
let r = Randomconv.int ~bound:3000 Mirage_crypto_rng.generate in
- Mirage_sleep.ns (Duration.of_ms r) >|= fun () ->
- "Heads"
+ Mirage_sleep.ns (Duration.of_ms r) >|= fun () -> "Heads"
in
timeout (Duration.of_sec 2) t >|= function
| None -> Logs.info (fun m -> m "Cancelled")
File "tutorial/lwt/timeout2/unikernel.ml", line 1, characters 0-0:
diff --git a/_build/default/tutorial/lwt/timeout2/unikernel.ml b/_build/default/tutorial/lwt/timeout2/.formatted/unikernel.ml
index 7fc9c84..9f1c195 100644
--- a/_build/default/tutorial/lwt/timeout2/unikernel.ml
+++ b/_build/default/tutorial/lwt/timeout2/.formatted/unikernel.ml
@@ -7,8 +7,7 @@ let timeout delay t =
let start () =
let t =
let r = Randomconv.int ~bound:3000 Mirage_crypto_rng.generate in
- Mirage_sleep.ns (Duration.of_ms r) >|= fun () ->
- "Heads"
+ Mirage_sleep.ns (Duration.of_ms r) >|= fun () -> "Heads"
in
timeout (Duration.of_sec 2) t >|= function
| None -> Logs.info (fun m -> m "Cancelled")
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-02-06 17:12.03: Job failed: Failed: Build failed