From 5d0153276ce97958d6246edda194e334dc6da2f7 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Thu, 16 Jul 2026 04:00:01 +0100 Subject: [PATCH] Shorten exact-source release build roots --- epiphany-core/src/packaged_release.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/epiphany-core/src/packaged_release.rs b/epiphany-core/src/packaged_release.rs index cf317eab..41dd2f14 100644 --- a/epiphany-core/src/packaged_release.rs +++ b/epiphany-core/src/packaged_release.rs @@ -125,9 +125,9 @@ pub fn package_and_publish_epiphany_release( require_nonempty("toolchain fingerprint", request.toolchain_fingerprint)?; fs::create_dir_all(request.destination)?; let destination = canonical_path(request.destination)?; - let source_root = destination.join(format!(".source-{}", Uuid::new_v4())); + let source_root = short_temporary_path("ep-src"); let source_guard = GitWorktreeGuard::create(request.repo, &source_root, &source_commit_sha)?; - let build_root = destination.join(format!(".build-{}", Uuid::new_v4())); + let build_root = short_temporary_path("ep-build"); let _build_guard = DirectoryCleanup(build_root.clone()); build_required_release_siblings(&source_guard.path, &build_root, request.target_triple)?; let built_dir = build_root.join(request.target_triple).join("release"); @@ -187,6 +187,11 @@ pub fn package_and_publish_epiphany_release( result } +fn short_temporary_path(prefix: &str) -> PathBuf { + let id = Uuid::new_v4().simple().to_string(); + std::env::temp_dir().join(format!("{prefix}-{}", &id[..12])) +} + struct DirectoryCleanup(PathBuf); impl Drop for DirectoryCleanup {