2 Commits

Author SHA1 Message Date
Arpad Borsos
359a70e43a 2.2.0 2022-11-09 20:14:41 +01:00
Lucas Fernandes Nogueira
ecee04e7b3 feat: add save-if option, closes #66 (#91) 2022-11-06 19:15:00 +01:00
7 changed files with 22 additions and 5 deletions

View File

@@ -1,5 +1,9 @@
# Changelog
## 2.2.0
- Add new `save-if` option to always restore, but only conditionally save the cache.
## 2.1.0
- Only hash `Cargo.{lock,toml}` files in the configured workspace directories.

View File

@@ -53,6 +53,12 @@ sensible defaults.
# Determines if the cache should be saved even when the workflow has failed.
# default: "false"
cache-on-failure: ""
# Determiners whether the cache should be saved.
# If `false`, the cache is only restored.
# Useful for jobs where the matrix is additive e.g. additional Cargo features.
# default: "true"
save-if: ""
```
Further examples are available in the [.github/workflows](./.github/workflows/) directory.

View File

@@ -28,6 +28,10 @@ inputs:
cache-on-failure:
description: "Cache even if the build fails. Defaults to false."
required: false
save-if:
description: "Determiners whether the cache should be saved. If `false`, the cache is only restored."
required: false
default: "true"
outputs:
cache-hit:
description: "A boolean value that indicates an exact match was found."

3
dist/save/index.js vendored
View File

@@ -64922,7 +64922,8 @@ process.on("uncaughtException", (e) => {
}
});
async function run() {
if (!cache.isFeatureAvailable()) {
const save = core.getInput("save-if").toLowerCase() || "true";
if (!(cache.isFeatureAvailable() && save === "true")) {
return;
}
try {

4
package-lock.json generated
View File

@@ -1,11 +1,11 @@
{
"name": "rust-cache",
"version": "2.1.0",
"version": "2.2.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "2.1.0",
"version": "2.2.0",
"license": "LGPL-3.0",
"dependencies": {
"@actions/cache": "^3.0.6",

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "rust-cache",
"version": "2.1.0",
"version": "2.2.0",
"description": "A GitHub Action that implements smart caching for rust/cargo projects with sensible defaults.",
"keywords": [
"actions",

View File

@@ -13,7 +13,9 @@ process.on("uncaughtException", (e) => {
});
async function run() {
if (!cache.isFeatureAvailable()) {
const save = core.getInput("save-if").toLowerCase() || "true";
if (!(cache.isFeatureAvailable() && save === "true")) {
return;
}