package current_ocluster
Module Current_oclusterSource
This module provides an OCurrent plugin for building with OCluster.
A connection to the OCluster scheduler. Provides automatic reconnection on failure, queuing with rate limiting, metrics reporting, etc. This can be passed to Current_ocluster.v for simple cases, or it can used directly to implement custom pipeline steps if that isn't flexible enough.
The configuration for accessing the build cluster.
type urgency = [ | `Auto(*Builds will be marked as urgent whenever there isn't some existing latched output that can be used while waiting.
*)| `Always(*All builds will be marked as urgent.
*)| `Never(*No builds will be urgent.
*)
]val v :
?timeout:Duration.t ->
?push_auth:(string * string) ->
?urgent:urgency ->
Connection.t ->
tv conn is a builder that submits jobs using conn.
with_timeout x t is a copy of t with the specified timeout, but still sharing the same connection.
with_push_auth x t is a copy of t with the specified push settings, but still sharing the same connection.
val build :
?cache_hint:string ->
t ->
pool:string ->
src:Current_git.Commit_id.t list Current.t ->
options:Cluster_api.Docker.Spec.options ->
[ `Contents of string Current.t | `Path of string ] ->
unit Current.tbuild t ~pool ~src ~options dockerfile builds dockerfile in context src using pool pool within build cluster t. Note: all commits in src must be in the same repository.
val build_and_push :
?cache_hint:string ->
t ->
push_target:Cluster_api.Docker.Image_id.t ->
pool:string ->
src:Current_git.Commit_id.t list Current.t ->
options:Cluster_api.Docker.Spec.options ->
[ `Contents of string Current.t | `Path of string ] ->
string Current.tbuild_and_push is like build but also uploads the resulting image to push_target on success. Returns the RepoId of the pushed image. If t doesn't have push_auth configured, this still tests the build, but returns an error at the end.
val build_obuilder :
?cache_hint:string ->
t ->
pool:string ->
src:Current_git.Commit_id.t list Current.t ->
Cluster_api.Obuilder_job.Spec.t Current.t ->
unit Current.tbuild_obuilder t ~pool ~src spec builds spec in context src using pool pool within build cluster t. Note: all commits in src must be in the same repository.