feat: add option to cache all crates (#137)

Add cache-all-crates option which allows all crates to be cached instead
of just the dependency crates. This is useful when additional crates are
required for CI tooling.
This commit is contained in:
Steven Hartland
2023-05-11 22:15:09 +01:00
committed by GitHub
parent 827c240e23
commit def0926359
6 changed files with 42 additions and 17 deletions

View File

@ -60234,7 +60234,7 @@ async function cleanBin() {
}
}
}
async function cleanRegistry(packages) {
async function cleanRegistry(packages, crates = true) {
// `.cargo/registry/src`
// we can remove this completely, as cargo will recreate this from `cache`
await rmRF(path.join(CARGO_HOME, "registry", "src"));
@ -60252,6 +60252,10 @@ async function cleanRegistry(packages) {
// TODO: else, clean `.cache` based on the `packages`
}
}
if (!crates) {
core.debug(`skipping crate cleanup`);
return;
}
const pkgSet = new Set(packages.map((p) => `${p.name}-${p.version}.crate`));
// `.cargo/registry/cache`
const cacheDir = await fs.promises.opendir(path.join(CARGO_HOME, "registry", "cache"));