//! pipeline Operation method trait for the module. use gix::hash::ObjectId; use crate::pipeline::types::{CommitStatus, Job, StatusList, TriggerResult}; /// Operation trait for the pipeline module. pub trait PipelineOps { /// Trigger a pipeline. fn pipeline_trigger( &self, commit: &ObjectId, branch: &str, ) -> Result; /// Schedule a job. fn pipeline_schedule(&self, commit: &ObjectId, job: &Job) -> Result<(), crate::Error>; /// Set a commit status. fn pipeline_set_commit_status( &self, commit: &ObjectId, status: &CommitStatus, ) -> Result<(), crate::Error>; /// List commit statuses. fn pipeline_list_statuses(&self, commit: &ObjectId) -> Result; /// Cancel a job. fn pipeline_cancel(&self, job_id: &str) -> Result<(), crate::Error>; }