Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions src/lib/common/platform.ml
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
type ocaml_version = V4_14 | V5_3
type ocaml_version = V4_14 | V5_3 | V5_4

let pp_ocaml f = function V4_14 -> Fmt.pf f "4.14" | V5_3 -> Fmt.pf f "5.3"
let pp_ocaml f = function
| V4_14 -> Fmt.pf f "4.14"
| V5_3 -> Fmt.pf f "5.3"
| V5_4 -> Fmt.pf f "5.4"

let pp_exact_ocaml f = function
| V4_14 -> Fmt.pf f "4.14.2"
| V5_3 -> Fmt.pf f "5.3.0"
| V5_4 -> Fmt.pf f "5.4.0"

type os = Debian | Ubuntu | Fedora

Expand Down Expand Up @@ -54,12 +58,18 @@ let platform_v53_amd64 =
let platform_v53_arm64 =
{ system = { ocaml = V5_3; os = Debian }; arch = Arm64 }

let platform_v54_amd64 =
{ system = { ocaml = V5_4; os = Debian }; arch = Amd64 }

let platform_v54_arm64 =
{ system = { ocaml = V5_4; os = Debian }; arch = Arm64 }

let platform_host =
Bos.Cmd.(v "uname" % "-m")
|> Bos.OS.Cmd.run_out
|> Bos.OS.Cmd.out_string
|> Result.to_option
|> Option.map (function
| ("aarch64" | "arm64"), _ -> platform_v414_arm64
| _ -> platform_v414_amd64)
|> Option.value ~default:platform_v414_amd64
| ("aarch64" | "arm64"), _ -> platform_v53_arm64
| _ -> platform_v53_amd64)
|> Option.value ~default:platform_v53_amd64
2 changes: 2 additions & 0 deletions src/pipelines/PR.ml
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,8 @@ module Run = struct
platform_v414_arm64;
platform_v53_amd64;
platform_v53_arm64;
platform_v54_amd64;
platform_v54_arm64;
]
|> List.map (fun platform ->
perform_test ~metadata ~platform commit)
Expand Down
7 changes: 6 additions & 1 deletion src/pipelines/skeleton.ml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,15 @@ open Common

type 'a build_mode = Mirage_4 of { overlay : 'a option }

let targets = [ "unix"; "hvt"; "xen" ] (* "virtio"; "spt"; "muen" ]*)
let targets = [ "unix"; "hvt"; "xen"; "unikraft-qemu" ]
(* "virtio"; "spt"; "muen" ]*)

let is_unikraft_available_on (platform : Platform.t) =
match platform.system.ocaml with V5_3 | V5_4 -> true | _ -> false

let is_available_on (platform : Platform.t) = function
| "unix" | "hvt" -> true
| "unikraft-qemu" -> is_unikraft_available_on platform
| "xen" when platform.arch = Amd64 -> true
| _ -> false

Expand Down