ci_manager/
run.rs

1#![allow(unused_imports, dead_code)]
2use super::*;
3
4#[derive(Debug, Deserialize)]
5struct Project {
6    name: String,
7    name_with_namespace: String,
8}
9
10#[derive(Debug, Deserialize)]
11struct Issue {
12    title: String,
13    description: String,
14    labels: Vec<String>,
15}
16
17#[derive(Debug, Deserialize)]
18struct Job {
19    id: u64,
20    name: String,
21    status: String,
22    #[serde(rename = "ref")]
23    ref_: String,
24}
25
26pub async fn run() -> Result<()> {
27    config::init()?;
28    // Generate completion script and exit
29    if Config::global().generate_completion_script() {
30        return Ok(());
31    }
32
33    let ci_provider = if let Some(ci_provider) = Config::global().no_ci() {
34        ci_provider
35    } else {
36        ci_provider::CIProvider::from_enviroment()?
37    };
38
39    log::info!("CI provider: {ci_provider}");
40
41    ci_provider.handle(Config::global().subcmd()).await?;
42
43    Ok(())
44}