Yocaml_gitSourceThe Git Runtime for YOCaml.
Builds a runtime based on a source runtime generating artefacts in a Git database, which can then be served by a Unikernel (ie: unipi).
val run :
(module Required.SOURCE) ->
context:[ `SSH ] ->
?author:string ->
?email:string ->
?message:string ->
remote:string ->
?level:Yocaml_runtime.Log.level ->
?custom_error_handler:
(Format.formatter -> Yocaml.Data.Validation.custom_error -> unit) ->
(unit -> unit Yocaml.Eff.t) ->
(unit, [> `Msg of string ]) result Lwt.tExecutes a YOCaml program using a given Runtime for processing with Source and using a Git Store as compilation target. What the YOCaml progam generates is compared with what you can view from the given remote repository and updated with a new Git commit. Then, we push these changes to the remote repository.
ctx contains multiple informations needed to initiate a communication with the given remote repository. See Git_unix.ctx for more details.
Since Git is only the target, we need to provision the source, with a function capable of transforming the type of the source runtime to lwt by implementing a lift function.
module Required : sig ... endInterfaces required.
Allows the creation of a source where the type of the source runtime is the identity (type ‘a t = ’a), as for the Unix runtime (for example).
module From_identity
(Source : Yocaml.Required.RUNTIME with type 'a t = 'a) :
Required.SOURCE with type 'a t = 'a Source.tDescribes a natural transformation allowing a Yocaml program of type ‘a t to be transformed into a program of type ’a Lwt.t (so that it can be used via Yocaml_git.