Class
FoundryCiProvider
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
Instance methods
foundry_ci_provider_invalidate
Notifies the CI manager that the provider’s pipelines have changed.
since: 1.2
foundry_ci_provider_list_pipelines
Lists the pipelines available for the current project.
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.
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.
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
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)
Signals
Foundry.CiProvider::invalidated
Emitted when the provider’s available pipelines have changed.
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: FoundryContextualClassNo 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.
since: 1.2
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.
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.
since: 1.2