Compare commits

..

4 Commits

9 changed files with 31 additions and 15 deletions

View File

@ -34,7 +34,7 @@ If you are using this inside a container, a POSIX-compliant `tar` needs to be in
* `path` - A list of files, directories, and wildcard patterns to cache and restore. See [`@actions/glob`](https://github.com/actions/toolkit/tree/main/packages/glob) for supported patterns.
* `key` - An explicit key for restoring and saving the cache
* `restore-keys` - An ordered list of prefix-matched keys to use for restoring stale cache if no cache hit occurred for key. Note
* `restore-keys` - An ordered list of keys to use for restoring stale cache if no cache hit occurred for key. Note
`cache-hit` returns false in this case.
#### Environment Variables

View File

@ -32,7 +32,3 @@
### 3.0.9
- Enhanced the warning message for cache unavailablity in case of GHES.
### 3.0.10
- Fix a bug with sorting inputs.
- Update definition for restore-keys in README.md

View File

@ -215,6 +215,23 @@ test("getInputAsArray handles empty lines correctly", () => {
expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]);
});
test("getInputAsArray sorts files correctly", () => {
testUtils.setInput(
"foo",
"bar\n!baz\nwaldo\nqux\nquux\ncorge\ngrault\ngarply"
);
expect(actionUtils.getInputAsArray("foo")).toEqual([
"!baz",
"bar",
"corge",
"garply",
"grault",
"quux",
"qux",
"waldo"
]);
});
test("getInputAsArray removes spaces after ! at the beginning", () => {
testUtils.setInput(
"foo",
@ -223,11 +240,11 @@ test("getInputAsArray removes spaces after ! at the beginning", () => {
expect(actionUtils.getInputAsArray("foo")).toEqual([
"!bar",
"!baz",
"!qux",
"!quux",
"!qux",
"!waldo",
"corge",
"grault! garply",
"!waldo"
"grault! garply"
]);
});

View File

@ -147,7 +147,7 @@ test("restore with no key", async () => {
test("restore with too many keys should fail", async () => {
const path = "node_modules";
const key = "node-test";
const restoreKeys = [...Array(20).keys()].map(x => x.toString());
const restoreKeys = [...Array(20).keys()].map(x => x.toString()).sort();
testUtils.setInputs({
path: path,
key,

View File

@ -38437,7 +38437,8 @@ function getInputAsArray(name, options) {
.getInput(name, options)
.split("\n")
.map(s => s.replace(/^!\s+/, "!").trim())
.filter(x => x !== "");
.filter(x => x !== "")
.sort();
}
exports.getInputAsArray = getInputAsArray;
function getInputAsInt(name, options) {

3
dist/save/index.js vendored
View File

@ -38437,7 +38437,8 @@ function getInputAsArray(name, options) {
.getInput(name, options)
.split("\n")
.map(s => s.replace(/^!\s+/, "!").trim())
.filter(x => x !== "");
.filter(x => x !== "")
.sort();
}
exports.getInputAsArray = getInputAsArray;
function getInputAsInt(name, options) {

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "cache",
"version": "3.0.10",
"version": "3.0.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "cache",
"version": "3.0.10",
"version": "3.0.9",
"license": "MIT",
"dependencies": {
"@actions/cache": "^3.0.4",

View File

@ -1,6 +1,6 @@
{
"name": "cache",
"version": "3.0.10",
"version": "3.0.9",
"private": true,
"description": "Cache dependencies and build outputs",
"main": "dist/restore/index.js",

View File

@ -62,7 +62,8 @@ export function getInputAsArray(
.getInput(name, options)
.split("\n")
.map(s => s.replace(/^!\s+/, "!").trim())
.filter(x => x !== "");
.filter(x => x !== "")
.sort();
}
export function getInputAsInt(