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
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
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.
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: 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.
unstable 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.
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