3
0
Fork 0
mirror of https://github.com/Swatinem/rust-cache synced 2026-07-19 04:45:47 +00:00
rust-cache/action.yml

78 lines
3.2 KiB
YAML
Raw Normal View History

2020-09-25 16:42:39 +02:00
name: "Rust Cache"
2020-10-03 18:39:38 +02:00
description: "A GitHub Action that implements smart caching for rust/cargo projects with sensible defaults."
2022-07-09 15:19:29 +02:00
author: "Arpad Borsos <swatinem@swatinem.de>"
2020-09-25 16:42:39 +02:00
inputs:
prefix-key:
description: "The prefix cache key, this can be changed to start a new cache manually."
required: false
default: "v0-rust"
2022-07-16 12:38:38 +02:00
shared-key:
description: "A cache key that is used instead of the automatic `job`-based key, and is stable over multiple jobs."
2022-07-16 12:38:38 +02:00
required: false
2020-09-25 16:42:39 +02:00
key:
description: "An additional cache key that is added alongside the automatic `job`-based cache key and can be used to further differentiate jobs."
2020-09-25 16:42:39 +02:00
required: false
add-job-id-key:
description: "If the automatic `job`-based cache key should include the job id. Defaults to true."
required: false
default: "true"
add-rust-environment-hash-key:
description: "Weather the a hash of the rust environment should be included in the cache key. This includes a hash of all Cargo.toml/Cargo.lock files, rust-toolchain files, and .cargo/config.toml files (if present), as well as the specified 'env-vars'. Defaults to true."
required: false
default: "true"
2022-07-16 12:38:38 +02:00
env-vars:
description: "Additional environment variables to include in the cache key, separated by spaces."
required: false
2022-07-09 15:19:29 +02:00
workspaces:
description: "Paths to multiple Cargo workspaces and their target directories, separated by newlines."
required: false
cache-directories:
description: "Additional non workspace directories to be cached, separated by newlines."
required: false
cache-targets:
description: "Determines whether workspace targets are cached. If `false`, only the cargo registry will be cached."
required: false
default: "true"
2021-06-28 22:18:07 +01:00
cache-on-failure:
description: "Cache even if the build fails. Defaults to false."
2021-06-28 22:18:07 +01:00
required: false
cache-all-crates:
description: "Determines which crates are cached. If `true` all crates will be cached, otherwise only dependent crates will be cached."
required: false
default: "false"
cache-workspace-crates:
description: "Similar to cache-all-crates. If `true` the workspace crates will be cached."
required: false
default: "false"
save-if:
description: "Determiners whether the cache should be saved. If `false`, the cache is only restored."
required: false
default: "true"
2023-08-01 00:01:11 -07:00
cache-provider:
description: "Determines which provider to use for caching. Options are github, or warpbuild. Defaults to github."
2023-08-01 00:01:11 -07:00
required: false
default: "github"
cache-bin:
description: "Determines whether to cache ${CARGO_HOME}/bin."
required: false
default: "true"
lookup-only:
description: "Check if a cache entry exists without downloading the cache"
required: false
default: "false"
cmd-format:
description: "A format string used to format commands to be run, i.e. `rustc` and `cargo`."
required: false
default: "{0}"
2020-12-21 21:56:41 -05:00
outputs:
cache-hit:
description: "A boolean value that indicates an exact match was found."
2020-09-25 16:42:39 +02:00
runs:
2026-03-11 16:02:38 +09:00
using: "node24"
main: "dist/restore.js"
post: "dist/save.js"
2021-06-28 22:18:07 +01:00
post-if: "success() || env.CACHE_ON_FAILURE == 'true'"
2020-09-25 16:42:39 +02:00
branding:
icon: "archive"
color: "gray-dark"