diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3f41d32f7ba..50c4265cf90 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -87,7 +87,7 @@ jobs: - name: Prepare cache 2 if: matrix.os == 'windows-latest' - run: Remove-Item ./target/debug/xtask.exe + run: Remove-Item ./target/debug/xtask.exe, ./target/debug/deps/xtask.exe typescript: name: TypeScript diff --git a/xtask/src/lib.rs b/xtask/src/lib.rs index 55cdee4916d..f48045d17e1 100644 --- a/xtask/src/lib.rs +++ b/xtask/src/lib.rs @@ -139,12 +139,15 @@ pub fn run_pre_cache() -> Result<()> { } fs2::remove_file("./target/.rustc_info.json")?; - let to_delete = ["ra_", "heavy_test"]; + let to_delete = ["ra_", "heavy_test", "xtask"]; for &dir in ["./target/debug/deps", "target/debug/.fingerprint"].iter() { for entry in Path::new(dir).read_dir()? { let entry = entry?; if to_delete.iter().any(|&it| entry.path().display().to_string().contains(it)) { - rm_rf(&entry.path())? + // Can't delete yourself on windows :-( + if !entry.path().ends_with("xtask.exe") { + rm_rf(&entry.path())? + } } } }