@@ -6,6 +6,7 @@ module Config = struct
66 type t = {
77 store : Obuilder.Store_spec .store Lwt .t ;
88 sandbox_config : [ `Native of Obuilder.Native_sandbox .config
9+ | `Qemu of Obuilder.Qemu_sandbox .config
910 | `Docker of Obuilder.Docker_sandbox .config ]
1011 }
1112
@@ -41,6 +42,11 @@ let create ?(prune_threshold = 30.0) ?(prune_limit = 100) config =
4142 Obuilder.Native_sandbox. create ~state_dir: (Store. state_dir store / " sandbox" ) conf > |= fun sandbox ->
4243 let builder = Builder. v ~store ~sandbox in
4344 Builder ((module Builder ), builder)
45+ | `Qemu conf ->
46+ let module Builder = Obuilder. Builder (Store ) (Obuilder. Qemu_sandbox ) (Obuilder. Qemu_snapshot ) in
47+ Obuilder.Qemu_sandbox. create conf > |= fun sandbox ->
48+ let builder = Builder. v ~store ~sandbox in
49+ Builder ((module Builder ), builder)
4450 | `Docker conf ->
4551 let module Builder = Obuilder. Docker_builder (Store ) in
4652 Obuilder.Docker_sandbox. create conf > |= fun sandbox ->
@@ -84,8 +90,9 @@ let build t ~switch ~log ~spec ~src_dir ~secrets =
8490 (if t.pruning then Lwt_condition. wait t.cond
8591 else Lwt. return () ) >> = fun () ->
8692 let log = log_to log in
87- let context = Obuilder.Context. v ~switch ~log ~src_dir ~secrets () in
8893 let Builder ((module Builder ), builder) = t.builder in
94+ let shell = Builder. shell builder in
95+ let context = Obuilder.Context. v ~switch ~log ~src_dir ?shell ~secrets () in
8996 Builder. build builder context spec
9097
9198let healthcheck t =
0 commit comments