Compare commits

..

4 Commits

6 changed files with 28 additions and 8 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. * `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 * `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. `cache-hit` returns false in this case.
#### Environment Variables #### Environment Variables

View File

@ -215,6 +215,23 @@ test("getInputAsArray handles empty lines correctly", () => {
expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]); 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", () => { test("getInputAsArray removes spaces after ! at the beginning", () => {
testUtils.setInput( testUtils.setInput(
"foo", "foo",
@ -223,11 +240,11 @@ test("getInputAsArray removes spaces after ! at the beginning", () => {
expect(actionUtils.getInputAsArray("foo")).toEqual([ expect(actionUtils.getInputAsArray("foo")).toEqual([
"!bar", "!bar",
"!baz", "!baz",
"!qux",
"!quux", "!quux",
"!qux",
"!waldo",
"corge", "corge",
"grault! garply", "grault! garply"
"!waldo"
]); ]);
}); });

View File

@ -147,7 +147,7 @@ test("restore with no key", async () => {
test("restore with too many keys should fail", async () => { test("restore with too many keys should fail", async () => {
const path = "node_modules"; const path = "node_modules";
const key = "node-test"; 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({ testUtils.setInputs({
path: path, path: path,
key, key,

View File

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

3
dist/save/index.js vendored
View File

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

View File

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