key target by job id automatically

This commit is contained in:
Arpad Borsos 2020-10-03 17:33:09 +02:00
parent bd4d2a7017
commit 2bcc375de8
4 changed files with 20 additions and 15 deletions

View File

@ -2,17 +2,10 @@
A GitHub Action that implements smart caching for rust/cargo projects
## Inputs
- `key` - An optional key for the `target` cache. This is useful in case you
have different jobs for test / check / clippy, etc
## Example usage
```yaml
- uses: Swatinem/rust-cache@v1
with:
key: test
```
## Specifics
@ -26,9 +19,9 @@ target
```
It disables incremental compilation and only caches dependencies. The
assumption is that we will likely recompile the own crate(s) anyway.
assumption is that we will likely recompile our own crate(s) anyway.
It also separates the cache into 4 groups, each treated differently:
It also separates the cache into 3 groups, each treated differently:
- Registry Index: `~/.cargo/registry/index/<registry>`:
@ -42,6 +35,6 @@ It also separates the cache into 4 groups, each treated differently:
- target: `./target`
Automatically keyed by the lockfile/toml hash, and is being pruned to only
persist the dependencies that are being used. This is especially throwing
away any intermediate artifacts.
Automatically keyed by the lockfile, toml hash and job, and is being pruned
to only persist the dependencies that are being used. This is especially
throwing away any intermediate artifacts.

View File

@ -54616,7 +54616,7 @@ const home = external_os_default().homedir();
const paths = {
index: external_path_default().join(home, ".cargo/registry/index"),
cache: external_path_default().join(home, ".cargo/registry/cache"),
git: external_path_default().join(home, ".cargo/git/db"),
// git: path.join(home, ".cargo/git/db"),
target: "target",
};
const RefKey = "GITHUB_REF";
@ -54634,6 +54634,10 @@ async function getCaches() {
if (targetKey) {
targetKey = `${targetKey}-`;
}
const job = process.env.GITHUB_JOB;
if (job) {
targetKey = `${job}-${targetKey}`;
}
const registryIndex = `v0-registry-index`;
const registryCache = `v0-registry-cache`;
const target = `v0-target-${targetKey}${rustKey}`;

6
dist/save/index.js vendored
View File

@ -54619,7 +54619,7 @@ const home = external_os_default().homedir();
const paths = {
index: external_path_default().join(home, ".cargo/registry/index"),
cache: external_path_default().join(home, ".cargo/registry/cache"),
git: external_path_default().join(home, ".cargo/git/db"),
// git: path.join(home, ".cargo/git/db"),
target: "target",
};
const RefKey = "GITHUB_REF";
@ -54637,6 +54637,10 @@ async function getCaches() {
if (targetKey) {
targetKey = `${targetKey}-`;
}
const job = process.env.GITHUB_JOB;
if (job) {
targetKey = `${job}-${targetKey}`;
}
const registryIndex = `v0-registry-index`;
const registryCache = `v0-registry-cache`;
const target = `v0-target-${targetKey}${rustKey}`;

View File

@ -10,7 +10,7 @@ const home = os.homedir();
export const paths = {
index: path.join(home, ".cargo/registry/index"),
cache: path.join(home, ".cargo/registry/cache"),
git: path.join(home, ".cargo/git/db"),
// git: path.join(home, ".cargo/git/db"),
target: "target",
};
@ -45,6 +45,10 @@ export async function getCaches(): Promise<Caches> {
if (targetKey) {
targetKey = `${targetKey}-`;
}
const job = process.env.GITHUB_JOB;
if (job) {
targetKey = `${job}-${targetKey}`;
}
const registryIndex = `v0-registry-index`;
const registryCache = `v0-registry-cache`;