4DSEIE3VK6W6666GVSGOXQCSIMQDQQEFFFZW3C7FXZUYI2U6LTIQC 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();
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();
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();
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();
let permit = s.builders.acquire().await.unwrap();{s.deploy(id, temp, depl).await?;}std::mem::drop(permit);Ok::<_, Error>(())});}Ok::<_, Error>(())});
let permit = s.builders.acquire().await.unwrap();{s.deploy(id, temp, depl).await?;}std::mem::drop(permit);Ok::<_, Error>(())});}Ok::<_, Error>(())});}