Class

FoundryCiProvider

unstable since: 1.2

Description [src]

abstract class Foundry.CiProvider : Foundry.Contextual
  implements Json.Serializable {
  /* No available fields */
}

Extension point for continuous integration implementations.

Providers discover pipelines for a project and create asynchronous FoundryCiRun objects for jobs and interactive job shells. Provider implementations should perform blocking work in fibers on a worker scheduler and use libdex asynchronous I/O helpers where available.

Loading a provider must remain passive. Providers should defer pipeline discovery and remote access until foundry_ci_provider_list_pipelines() is called by an explicit consumer action.

Available since: 1.2

Hierarchy

hierarchy this FoundryCiProvider implements_0 JsonSerializable this--implements_0 ancestor_0 FoundryContextual ancestor_0--this ancestor_1 GObject ancestor_1--ancestor_0

Implements

Instance methods

foundry_ci_provider_invalidate

Notifies the CI manager that the provider’s pipelines have changed.

unstable since: 1.2

foundry_ci_provider_list_pipelines

Lists the pipelines available for the current project.

unstable since: 1.2

foundry_ci_provider_run

Starts a local pipeline run. If job_ids is NULL or empty, the provider runs the jobs selected by its pipeline rules. The run is exposed through the context’s FoundryOperationManager until it completes or is cancelled.

unstable since: 1.2

foundry_ci_provider_run_shell

Starts an interactive shell using the job’s local execution environment. The standard file descriptors in options are borrowed for the duration of the run.

unstable since: 1.2

Methods inherited from FoundryContextual (4)
foundry_contextual_acquire

This method provides a checked way to get a context for the contextual.

since: 1.1

foundry_contextual_dup_context

Gets the FoundryContext that self is a part of while safely increasing the reference count of the resulting FoundryContext by 1.

foundry_contextual_inhibit

Creates a new FoundryInhibitor that will keep the FoundryContext alive and prevent shutdown until foundry_inhibitor_uninhibit() is called or the FoundryInhibitor is finalized, whichever comes first.

foundry_contextual_log
No description available.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from JsonSerializable (8)
json_serializable_default_deserialize_property

Calls the default implementation of the Json.SerializableIface.deserialize_property virtual function.

json_serializable_default_serialize_property

Calls the default implementation of the Json.SerializableIface.serialize_property virtual function.

json_serializable_deserialize_property

Asks a JsonSerializable implementation to deserialize the property contained inside property_node and place its value into value.

json_serializable_find_property

Calls the Json.SerializableIface.find_property implementation on the JsonSerializable instance, which will return the property description for the given name.

json_serializable_get_property

Calls the Json.SerializableIface.get_property implementation on the JsonSerializable instance, which will get the value of the given property.

json_serializable_list_properties

Calls the Json.SerializableIface.list_properties implementation on the JsonSerializable instance, which will return the list of serializable properties.

json_serializable_serialize_property

Asks a JsonSerializable implementation to serialize an object property into a JSON node.

json_serializable_set_property

Calls the Json.SerializableIface.set_property implementation on the JsonSerializable instance, which will set the property with the given value.

Properties

Properties inherited from FoundryContextual (1)
Foundry.Contextual:context
No description available.

Signals

Foundry.CiProvider::invalidated

Emitted when the provider’s available pipelines have changed.

unstable since: 1.2

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct FoundryCiProviderClass {
  FoundryContextualClass parent_class;
  DexFuture* (* load) (
    FoundryCiProvider* self
  );
  DexFuture* (* unload) (
    FoundryCiProvider* self
  );
  DexFuture* (* list_pipelines) (
    FoundryCiProvider* self
  );
  DexFuture* (* run) (
    FoundryCiProvider* self,
    FoundryCiPipeline* pipeline,
    const char* const* job_ids,
    FoundryCiRunOptions* options
  );
  DexFuture* (* run_shell) (
    FoundryCiProvider* self,
    FoundryCiJob* job,
    FoundryCiRunOptions* options
  );
  
}

No description available.

Class members
parent_class: FoundryContextualClass

No description available.

load: DexFuture* (* load) ( FoundryCiProvider* self )

No description available.

unload: DexFuture* (* unload) ( FoundryCiProvider* self )

No description available.

list_pipelines: DexFuture* (* list_pipelines) ( FoundryCiProvider* self )

No description available.

run: DexFuture* (* run) ( FoundryCiProvider* self, FoundryCiPipeline* pipeline, const char* const* job_ids, FoundryCiRunOptions* options )

No description available.

run_shell: DexFuture* (* run_shell) ( FoundryCiProvider* self, FoundryCiJob* job, FoundryCiRunOptions* options )

No description available.

Virtual methods

Foundry.CiProviderClass.list_pipelines

Lists the pipelines available for the current project.

unstable since: 1.2

Foundry.CiProviderClass.load
No description available.

Foundry.CiProviderClass.run

Starts a local pipeline run. If job_ids is NULL or empty, the provider runs the jobs selected by its pipeline rules. The run is exposed through the context’s FoundryOperationManager until it completes or is cancelled.

unstable since: 1.2

Foundry.CiProviderClass.run_shell

Starts an interactive shell using the job’s local execution environment. The standard file descriptors in options are borrowed for the duration of the run.

unstable since: 1.2

Foundry.CiProviderClass.unload
No description available.