Make the jobs feature optional

pmeunier
May 18, 2026, 2:58 PM
4DSEIE3VK6W6666GVSGOXQCSIMQDQQEFFFZW3C7FXZUYI2U6LTIQC

Dependencies

Change contents

  • replacement in api/src/replication.rs at line 150
    [3.20275][3.20275:20400](),[3.20400][4.0:532]()
    let repo_ = s.locks.get(&repo).await.unwrap();
    tokio::task::spawn_blocking(move || {
    if let Some((temp, depl)) = {
    let pri = repo_.pristine.blocking_write();
    let txn = pri.arc_txn_begin()?;
    let channel = format!("{}_{}", repo, channel);
    let channel_ = {
    let mut txn_ = txn.write();
    txn_.open_or_create_channel(&channel)?
    };
    let changes = repo_.changes.clone();
    [3.20275]
    [4.532]
    if cfg!(feature = "jobs") {
    let repo_ = s.locks.get(&repo).await.unwrap();
    tokio::task::spawn_blocking(move || {
    if let Some((temp, depl)) = {
    let pri = repo_.pristine.blocking_write();
    let txn = pri.arc_txn_begin()?;
    let channel = format!("{}_{}", repo, channel);
    let channel_ = {
    let mut txn_ = txn.write();
    txn_.open_or_create_channel(&channel)?
    };
    let changes = repo_.changes.clone();
  • replacement in api/src/replication.rs at line 163
    [4.533][4.533:1143]()
    s.output_for_deployment(&txn, &channel_, &changes)?
    } {
    tokio::spawn(async move {
    use crate::db::jobs::dsl as jobs;
    let id = diesel::insert_into(jobs::jobs)
    .values((jobs::repo.eq(repo),))
    .returning(jobs::id)
    .get_result::<uuid::Uuid>(&mut s.db.get().await.unwrap())
    .await
    .unwrap();
    [4.533]
    [4.1143]
    s.output_for_deployment(&txn, &channel_, &changes)?
    } {
    tokio::spawn(async move {
    use crate::db::jobs::dsl as jobs;
    let id = diesel::insert_into(jobs::jobs)
    .values((jobs::repo.eq(repo),))
    .returning(jobs::id)
    .get_result::<uuid::Uuid>(&mut s.db.get().await.unwrap())
    .await
    .unwrap();
  • replacement in api/src/replication.rs at line 174
    [4.1144][4.1144:1528](),[4.1528][3.20859:20926](),[3.20859][3.20859:20926]()
    let permit = s.builders.acquire().await.unwrap();
    {
    s.deploy(id, temp, depl).await?;
    }
    std::mem::drop(permit);
    Ok::<_, Error>(())
    });
    }
    Ok::<_, Error>(())
    });
    [4.1144]
    [3.20926]
    let permit = s.builders.acquire().await.unwrap();
    {
    s.deploy(id, temp, depl).await?;
    }
    std::mem::drop(permit);
    Ok::<_, Error>(())
    });
    }
    Ok::<_, Error>(())
    });
    }
  • edit in api/src/main.rs at line 31
    [2.452992]
    [3.31053]
    #[cfg(feature = "jobs")]
  • edit in api/src/main.rs at line 33
    [3.31063]
    [2.452992]
    #[cfg(not(feature = "jobs"))]
    mod jobs {
    use super::*;
    pub fn router() -> Router<Config> {
    Router::new()
    }
    }
  • edit in api/Cargo.toml at line 6
    [5.96]
    [2.602399]
    [features]
    default = []
    jobs = []