package yocaml_git

  1. Overview
  2. Docs
On This Page
  1. Building a source
Legend:
Library
Module
Module type
Parameter
Class
Class type

The 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) -> (module Mirage_clock.PCLOCK) -> context:[ `SSH ] -> ?author:string -> ?email:string -> ?message:string -> remote:string -> ?level:Yocaml_runtime.Log.level -> ?custom_error_handler: (Stdlib.Format.formatter -> Yocaml.Data.Validation.custom_error -> unit) -> (unit -> unit Yocaml.Eff.t) -> (unit, [> `Msg of string ]) Stdlib.result Lwt.t

Executes 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.

Building a source

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 ... end

Interfaces 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.t

Describes 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.

OCaml

Innovation. Community. Security.