deb: fix race condition for test
Some checks failed
CI / build (push) Failing after 18m26s
CI / snap (push) Has been skipped

Fix race condition around current context,
related to find_package_directory.
This commit is contained in:
2026-03-18 23:34:33 +01:00
parent 4a73e6e1d6
commit daaf33cd6b
3 changed files with 9 additions and 6 deletions

View File

@@ -169,7 +169,8 @@ pub async fn build(
} }
// Find the actual package directory // Find the actual package directory
let package_dir = crate::deb::find_package_directory(Path::new(build_root), package, version)?; let package_dir =
crate::deb::find_package_directory(Path::new(build_root), package, version, &ctx)?;
let package_dir_str = package_dir let package_dir_str = package_dir
.to_str() .to_str()
.ok_or("Invalid package directory path")?; .ok_or("Invalid package directory path")?;

View File

@@ -118,9 +118,8 @@ pub(crate) fn find_package_directory(
parent_dir: &Path, parent_dir: &Path,
package: &str, package: &str,
version: &str, version: &str,
ctx: &context::Context,
) -> Result<PathBuf, Box<dyn Error>> { ) -> Result<PathBuf, Box<dyn Error>> {
let ctx = context::current();
// Try package/package pattern first // Try package/package pattern first
let package_dir = parent_dir.join(package).join(package); let package_dir = parent_dir.join(package).join(package);
if ctx.exists(&package_dir)? && ctx.exists(&package_dir.join("debian"))? { if ctx.exists(&package_dir)? && ctx.exists(&package_dir.join("debian"))? {
@@ -243,8 +242,10 @@ mod tests {
log::info!("Successfully pulled package {}", package); log::info!("Successfully pulled package {}", package);
// Change directory to the package directory // Change directory to the package directory
let cwd = crate::deb::find_package_directory(cwd, package, &package_info.stanza.version) let ctx = crate::context::current();
.expect("Cannot find package directory"); let cwd =
crate::deb::find_package_directory(cwd, package, &package_info.stanza.version, &ctx)
.expect("Cannot find package directory");
log::debug!("Package directory: {}", cwd.display()); log::debug!("Package directory: {}", cwd.display());
log::info!("Starting binary package build..."); log::info!("Starting binary package build...");

View File

@@ -15,7 +15,8 @@ pub fn build(
let ctx = context::current(); let ctx = context::current();
// Find the actual package directory // Find the actual package directory
let package_dir = crate::deb::find_package_directory(Path::new(build_root), package, version)?; let package_dir =
crate::deb::find_package_directory(Path::new(build_root), package, version, &ctx)?;
let package_dir_str = package_dir let package_dir_str = package_dir
.to_str() .to_str()
.ok_or("Invalid package directory path")?; .ok_or("Invalid package directory path")?;