From 759da5d52cce77eb778a73a95cbac19e1d05fb74 Mon Sep 17 00:00:00 2001 From: Mac Malone Date: Thu, 19 Dec 2024 23:39:46 -0500 Subject: [PATCH] fix: lake: `afterBuildCache*` traces (#6422) This PR fixes a bug in #6388 where the `Package.afterBuildCahe*` functions would produce different traces depending on whether the cache was fetched. --- src/lake/Lake/Build/Package.lean | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lake/Lake/Build/Package.lean b/src/lake/Lake/Build/Package.lean index 6c7bd2b2e6..90413b4165 100644 --- a/src/lake/Lake/Build/Package.lean +++ b/src/lake/Lake/Build/Package.lean @@ -198,9 +198,11 @@ abbrev Package.releaseFacetConfig := gitHubReleaseFacetConfig Perform a build job after first checking for an (optional) cached build for the package (e.g., from Reservoir or GitHub). -/ -def Package.afterBuildCacheAsync (self : Package) (build : SpawnM (Job α)) : FetchM (Job α) := do +def Package.afterBuildCacheAsync (self : Package) (build : JobM (Job α)) : FetchM (Job α) := do if self.name ≠ (← getRootPackage).name then - (← self.maybeFetchBuildCache).bindM fun _ => build + (← self.maybeFetchBuildCache).bindM fun _ => do + setTrace nilTrace -- ensure both branches start with the same trace + build else build @@ -213,7 +215,9 @@ def Package.afterReleaseAsync := @afterBuildCacheAsync -/ def Package.afterBuildCacheSync (self : Package) (build : JobM α) : FetchM (Job α) := do if self.name ≠ (← getRootPackage).name then - (← self.maybeFetchBuildCache).mapM fun _ => build + (← self.maybeFetchBuildCache).mapM fun _ => do + setTrace nilTrace -- ensure both branches start with the same trace + build else Job.async build