mirror of
				https://gitea.com/actions/cache.git
				synced 2025-11-02 07:47:08 +00:00 
			
		
		
		
	Compare commits
	
		
			8 Commits
		
	
	
		
			releases/v
			...
			dhadka/exi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					aa08592228 | ||
| 
						 | 
					0b0791e3bf | ||
| 
						 | 
					eed9cfe64d | ||
| 
						 | 
					b773382817 | ||
| 
						 | 
					984ce638f0 | ||
| 
						 | 
					ff937cc950 | ||
| 
						 | 
					d60d2bef10 | ||
| 
						 | 
					e561127c3e | 
							
								
								
									
										33
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,23 +1,29 @@
 | 
				
			|||||||
name: "Code Scanning - Action"
 | 
					name: "Code scanning - action"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
  schedule:
 | 
					  schedule:
 | 
				
			||||||
    - cron: '0 0 * * 0'
 | 
					    - cron: '0 19 * * 0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  CodeQL-Build:
 | 
					  CodeQL-Build:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    strategy:
 | 
					    # CodeQL runs on ubuntu-latest and windows-latest
 | 
				
			||||||
      fail-fast: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # CodeQL runs on ubuntu-latest, windows-latest, and macos-latest
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
    - name: Checkout repository
 | 
					    - name: Checkout repository
 | 
				
			||||||
      uses: actions/checkout@v2
 | 
					      uses: actions/checkout@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        # We must fetch at least the immediate parents so that if this is
 | 
				
			||||||
 | 
					        # a pull request then we can checkout the head.
 | 
				
			||||||
 | 
					        fetch-depth: 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # If this run was triggered by a pull request event, then checkout
 | 
				
			||||||
 | 
					    # the head of the pull request instead of the merge commit.
 | 
				
			||||||
 | 
					    - run: git checkout HEAD^2
 | 
				
			||||||
 | 
					      if: ${{ github.event_name == 'pull_request' }}
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
    # Initializes the CodeQL tools for scanning.
 | 
					    # Initializes the CodeQL tools for scanning.
 | 
				
			||||||
    - name: Initialize CodeQL
 | 
					    - name: Initialize CodeQL
 | 
				
			||||||
@@ -27,9 +33,20 @@ jobs:
 | 
				
			|||||||
      #   languages: go, javascript, csharp, python, cpp, java
 | 
					      #   languages: go, javascript, csharp, python, cpp, java
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
 | 
					    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
 | 
				
			||||||
    # If this step fails, then you should remove it and run the build manually (see below).
 | 
					    # If this step fails, then you should remove it and run the build manually (see below)
 | 
				
			||||||
    - name: Autobuild
 | 
					    - name: Autobuild
 | 
				
			||||||
      uses: github/codeql-action/autobuild@v1
 | 
					      uses: github/codeql-action/autobuild@v1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # ℹ️ Command-line programs to run using the OS shell.
 | 
				
			||||||
 | 
					    # 📚 https://git.io/JvXDl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
 | 
				
			||||||
 | 
					    #    and modify them (or add more) to build your code if your project
 | 
				
			||||||
 | 
					    #    uses a compiled language
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #- run: |
 | 
				
			||||||
 | 
					    #   make bootstrap
 | 
				
			||||||
 | 
					    #   make release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    - name: Perform CodeQL Analysis
 | 
					    - name: Perform CodeQL Analysis
 | 
				
			||||||
      uses: github/codeql-action/analyze@v1
 | 
					      uses: github/codeql-action/analyze@v1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,9 +2,16 @@ import * as core from "@actions/core";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { Events, Outputs, RefKey, State } from "../src/constants";
 | 
					import { Events, Outputs, RefKey, State } from "../src/constants";
 | 
				
			||||||
import * as actionUtils from "../src/utils/actionUtils";
 | 
					import * as actionUtils from "../src/utils/actionUtils";
 | 
				
			||||||
 | 
					import * as testUtils from "../src/utils/testUtils";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jest.mock("@actions/core");
 | 
					jest.mock("@actions/core");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					beforeAll(() => {
 | 
				
			||||||
 | 
					    jest.spyOn(core, "getInput").mockImplementation((name, options) => {
 | 
				
			||||||
 | 
					        return jest.requireActual("@actions/core").getInput(name, options);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
afterEach(() => {
 | 
					afterEach(() => {
 | 
				
			||||||
    delete process.env[Events.Key];
 | 
					    delete process.env[Events.Key];
 | 
				
			||||||
    delete process.env[RefKey];
 | 
					    delete process.env[RefKey];
 | 
				
			||||||
@@ -157,3 +164,33 @@ test("isValidEvent returns true for event that has a ref", () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    expect(isValidEvent).toBe(true);
 | 
					    expect(isValidEvent).toBe(true);
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("getInputAsArray returns empty array if not required and missing", () => {
 | 
				
			||||||
 | 
					    expect(actionUtils.getInputAsArray("foo")).toEqual([]);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("getInputAsArray throws error if required and missing", () => {
 | 
				
			||||||
 | 
					    expect(() =>
 | 
				
			||||||
 | 
					        actionUtils.getInputAsArray("foo", { required: true })
 | 
				
			||||||
 | 
					    ).toThrowError();
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("getInputAsArray handles single line correctly", () => {
 | 
				
			||||||
 | 
					    testUtils.setInput("foo", "bar");
 | 
				
			||||||
 | 
					    expect(actionUtils.getInputAsArray("foo")).toEqual(["bar"]);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("getInputAsArray handles multiple lines correctly", () => {
 | 
				
			||||||
 | 
					    testUtils.setInput("foo", "bar\nbaz");
 | 
				
			||||||
 | 
					    expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("getInputAsArray handles different new lines correctly", () => {
 | 
				
			||||||
 | 
					    testUtils.setInput("foo", "bar\r\nbaz");
 | 
				
			||||||
 | 
					    expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("getInputAsArray handles empty lines correctly", () => {
 | 
				
			||||||
 | 
					    testUtils.setInput("foo", "\n\nbar\n\nbaz\n\n");
 | 
				
			||||||
 | 
					    expect(actionUtils.getInputAsArray("foo")).toEqual(["bar", "baz"]);
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,13 @@ beforeAll(() => {
 | 
				
			|||||||
        const actualUtils = jest.requireActual("../src/utils/actionUtils");
 | 
					        const actualUtils = jest.requireActual("../src/utils/actionUtils");
 | 
				
			||||||
        return actualUtils.isValidEvent();
 | 
					        return actualUtils.isValidEvent();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    jest.spyOn(actionUtils, "getInputAsArray").mockImplementation(
 | 
				
			||||||
 | 
					        (name, options) => {
 | 
				
			||||||
 | 
					            const actualUtils = jest.requireActual("../src/utils/actionUtils");
 | 
				
			||||||
 | 
					            return actualUtils.getInputAsArray(name, options);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
beforeEach(() => {
 | 
					beforeEach(() => {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,6 +19,14 @@ beforeAll(() => {
 | 
				
			|||||||
        return jest.requireActual("../src/utils/actionUtils").getCacheState();
 | 
					        return jest.requireActual("../src/utils/actionUtils").getCacheState();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    jest.spyOn(actionUtils, "getInputAsArray").mockImplementation(
 | 
				
			||||||
 | 
					        (name, options) => {
 | 
				
			||||||
 | 
					            return jest
 | 
				
			||||||
 | 
					                .requireActual("../src/utils/actionUtils")
 | 
				
			||||||
 | 
					                .getInputAsArray(name, options);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    jest.spyOn(actionUtils, "isExactKeyMatch").mockImplementation(
 | 
					    jest.spyOn(actionUtils, "isExactKeyMatch").mockImplementation(
 | 
				
			||||||
        (key, cacheResult) => {
 | 
					        (key, cacheResult) => {
 | 
				
			||||||
            return jest
 | 
					            return jest
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							@@ -5306,7 +5306,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
 | 
				
			|||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
					Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			||||||
exports.isValidEvent = exports.logWarning = exports.getCacheState = exports.setOutputAndState = exports.setCacheHitOutput = exports.setCacheState = exports.isExactKeyMatch = void 0;
 | 
					exports.getInputAsArray = exports.isValidEvent = exports.logWarning = exports.getCacheState = exports.setOutputAndState = exports.setCacheHitOutput = exports.setCacheState = exports.isExactKeyMatch = void 0;
 | 
				
			||||||
const core = __importStar(__webpack_require__(470));
 | 
					const core = __importStar(__webpack_require__(470));
 | 
				
			||||||
const constants_1 = __webpack_require__(694);
 | 
					const constants_1 = __webpack_require__(694);
 | 
				
			||||||
function isExactKeyMatch(key, cacheKey) {
 | 
					function isExactKeyMatch(key, cacheKey) {
 | 
				
			||||||
@@ -5350,6 +5350,14 @@ function isValidEvent() {
 | 
				
			|||||||
    return constants_1.RefKey in process.env && Boolean(process.env[constants_1.RefKey]);
 | 
					    return constants_1.RefKey in process.env && Boolean(process.env[constants_1.RefKey]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
exports.isValidEvent = isValidEvent;
 | 
					exports.isValidEvent = isValidEvent;
 | 
				
			||||||
 | 
					function getInputAsArray(name, options) {
 | 
				
			||||||
 | 
					    return core
 | 
				
			||||||
 | 
					        .getInput(name, options)
 | 
				
			||||||
 | 
					        .split("\n")
 | 
				
			||||||
 | 
					        .map(s => s.trim())
 | 
				
			||||||
 | 
					        .filter(x => x !== "");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					exports.getInputAsArray = getInputAsArray;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ }),
 | 
					/***/ }),
 | 
				
			||||||
@@ -6835,14 +6843,10 @@ function run() {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            const primaryKey = core.getInput(constants_1.Inputs.Key, { required: true });
 | 
					            const primaryKey = core.getInput(constants_1.Inputs.Key, { required: true });
 | 
				
			||||||
            core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
 | 
					            core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
 | 
				
			||||||
            const restoreKeys = core
 | 
					            const restoreKeys = utils.getInputAsArray(constants_1.Inputs.RestoreKeys);
 | 
				
			||||||
                .getInput(constants_1.Inputs.RestoreKeys)
 | 
					            const cachePaths = utils.getInputAsArray(constants_1.Inputs.Path, {
 | 
				
			||||||
                .split("\n")
 | 
					                required: true
 | 
				
			||||||
                .filter(x => x !== "");
 | 
					            });
 | 
				
			||||||
            const cachePaths = core
 | 
					 | 
				
			||||||
                .getInput(constants_1.Inputs.Path, { required: true })
 | 
					 | 
				
			||||||
                .split("\n")
 | 
					 | 
				
			||||||
                .filter(x => x !== "");
 | 
					 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                const cacheKey = yield cache.restoreCache(cachePaths, primaryKey, restoreKeys);
 | 
					                const cacheKey = yield cache.restoreCache(cachePaths, primaryKey, restoreKeys);
 | 
				
			||||||
                if (!cacheKey) {
 | 
					                if (!cacheKey) {
 | 
				
			||||||
@@ -6873,7 +6877,7 @@ function run() {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
run();
 | 
					run().then(() => process.exit());
 | 
				
			||||||
exports.default = run;
 | 
					exports.default = run;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							@@ -5306,7 +5306,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
 | 
				
			|||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
Object.defineProperty(exports, "__esModule", { value: true });
 | 
					Object.defineProperty(exports, "__esModule", { value: true });
 | 
				
			||||||
exports.isValidEvent = exports.logWarning = exports.getCacheState = exports.setOutputAndState = exports.setCacheHitOutput = exports.setCacheState = exports.isExactKeyMatch = void 0;
 | 
					exports.getInputAsArray = exports.isValidEvent = exports.logWarning = exports.getCacheState = exports.setOutputAndState = exports.setCacheHitOutput = exports.setCacheState = exports.isExactKeyMatch = void 0;
 | 
				
			||||||
const core = __importStar(__webpack_require__(470));
 | 
					const core = __importStar(__webpack_require__(470));
 | 
				
			||||||
const constants_1 = __webpack_require__(694);
 | 
					const constants_1 = __webpack_require__(694);
 | 
				
			||||||
function isExactKeyMatch(key, cacheKey) {
 | 
					function isExactKeyMatch(key, cacheKey) {
 | 
				
			||||||
@@ -5350,6 +5350,14 @@ function isValidEvent() {
 | 
				
			|||||||
    return constants_1.RefKey in process.env && Boolean(process.env[constants_1.RefKey]);
 | 
					    return constants_1.RefKey in process.env && Boolean(process.env[constants_1.RefKey]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
exports.isValidEvent = isValidEvent;
 | 
					exports.isValidEvent = isValidEvent;
 | 
				
			||||||
 | 
					function getInputAsArray(name, options) {
 | 
				
			||||||
 | 
					    return core
 | 
				
			||||||
 | 
					        .getInput(name, options)
 | 
				
			||||||
 | 
					        .split("\n")
 | 
				
			||||||
 | 
					        .map(s => s.trim())
 | 
				
			||||||
 | 
					        .filter(x => x !== "");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					exports.getInputAsArray = getInputAsArray;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/***/ }),
 | 
					/***/ }),
 | 
				
			||||||
@@ -6600,10 +6608,9 @@ function run() {
 | 
				
			|||||||
                core.info(`Cache hit occurred on the primary key ${primaryKey}, not saving cache.`);
 | 
					                core.info(`Cache hit occurred on the primary key ${primaryKey}, not saving cache.`);
 | 
				
			||||||
                return;
 | 
					                return;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            const cachePaths = core
 | 
					            const cachePaths = utils.getInputAsArray(constants_1.Inputs.Path, {
 | 
				
			||||||
                .getInput(constants_1.Inputs.Path, { required: true })
 | 
					                required: true
 | 
				
			||||||
                .split("\n")
 | 
					            });
 | 
				
			||||||
                .filter(x => x !== "");
 | 
					 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                yield cache.saveCache(cachePaths, primaryKey);
 | 
					                yield cache.saveCache(cachePaths, primaryKey);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -6624,7 +6631,7 @@ function run() {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
run();
 | 
					run().then(() => process.exit());
 | 
				
			||||||
exports.default = run;
 | 
					exports.default = run;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -120,8 +120,8 @@ steps:
 | 
				
			|||||||
We cache the elements of the Cabal store separately, as the entirety of `~/.cabal` can grow very large for projects with many dependencies.
 | 
					We cache the elements of the Cabal store separately, as the entirety of `~/.cabal` can grow very large for projects with many dependencies.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
- uses: actions/cache@v2
 | 
					- name: Cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle
 | 
				
			||||||
  name: Cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle
 | 
					  uses: actions/cache@v2
 | 
				
			||||||
  with:
 | 
					  with:
 | 
				
			||||||
    path: |
 | 
					    path: |
 | 
				
			||||||
      ~/.cabal/packages
 | 
					      ~/.cabal/packages
 | 
				
			||||||
@@ -144,7 +144,8 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba
 | 
				
			|||||||
## Java - Maven
 | 
					## Java - Maven
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
- uses: actions/cache@v2
 | 
					- name: Cache local Maven repository
 | 
				
			||||||
 | 
					  uses: actions/cache@v2
 | 
				
			||||||
  with:
 | 
					  with:
 | 
				
			||||||
    path: ~/.m2/repository
 | 
					    path: ~/.m2/repository
 | 
				
			||||||
    key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
 | 
					    key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
 | 
				
			||||||
@@ -156,6 +157,8 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` on Windows. See https://docs.npmjs.com/cli/cache#cache
 | 
					For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` on Windows. See https://docs.npmjs.com/cli/cache#cache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If using `npm config` to retrieve the cache directory, ensure you run [actions/setup-node](https://github.com/actions/setup-node) first to ensure your `npm` version is correct.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`
 | 
					>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### macOS and Ubuntu
 | 
					### macOS and Ubuntu
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,15 +19,10 @@ async function run(): Promise<void> {
 | 
				
			|||||||
        const primaryKey = core.getInput(Inputs.Key, { required: true });
 | 
					        const primaryKey = core.getInput(Inputs.Key, { required: true });
 | 
				
			||||||
        core.saveState(State.CachePrimaryKey, primaryKey);
 | 
					        core.saveState(State.CachePrimaryKey, primaryKey);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const restoreKeys = core
 | 
					        const restoreKeys = utils.getInputAsArray(Inputs.RestoreKeys);
 | 
				
			||||||
            .getInput(Inputs.RestoreKeys)
 | 
					        const cachePaths = utils.getInputAsArray(Inputs.Path, {
 | 
				
			||||||
            .split("\n")
 | 
					            required: true
 | 
				
			||||||
            .filter(x => x !== "");
 | 
					        });
 | 
				
			||||||
 | 
					 | 
				
			||||||
        const cachePaths = core
 | 
					 | 
				
			||||||
            .getInput(Inputs.Path, { required: true })
 | 
					 | 
				
			||||||
            .split("\n")
 | 
					 | 
				
			||||||
            .filter(x => x !== "");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            const cacheKey = await cache.restoreCache(
 | 
					            const cacheKey = await cache.restoreCache(
 | 
				
			||||||
@@ -65,6 +60,6 @@ async function run(): Promise<void> {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
run();
 | 
					run().then(() => process.exit());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default run;
 | 
					export default run;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,10 +31,9 @@ async function run(): Promise<void> {
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const cachePaths = core
 | 
					        const cachePaths = utils.getInputAsArray(Inputs.Path, {
 | 
				
			||||||
            .getInput(Inputs.Path, { required: true })
 | 
					            required: true
 | 
				
			||||||
            .split("\n")
 | 
					        });
 | 
				
			||||||
            .filter(x => x !== "");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            await cache.saveCache(cachePaths, primaryKey);
 | 
					            await cache.saveCache(cachePaths, primaryKey);
 | 
				
			||||||
@@ -52,6 +51,6 @@ async function run(): Promise<void> {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
run();
 | 
					run().then(() => process.exit());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default run;
 | 
					export default run;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,3 +45,14 @@ export function logWarning(message: string): void {
 | 
				
			|||||||
export function isValidEvent(): boolean {
 | 
					export function isValidEvent(): boolean {
 | 
				
			||||||
    return RefKey in process.env && Boolean(process.env[RefKey]);
 | 
					    return RefKey in process.env && Boolean(process.env[RefKey]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function getInputAsArray(
 | 
				
			||||||
 | 
					    name: string,
 | 
				
			||||||
 | 
					    options?: core.InputOptions
 | 
				
			||||||
 | 
					): string[] {
 | 
				
			||||||
 | 
					    return core
 | 
				
			||||||
 | 
					        .getInput(name, options)
 | 
				
			||||||
 | 
					        .split("\n")
 | 
				
			||||||
 | 
					        .map(s => s.trim())
 | 
				
			||||||
 | 
					        .filter(x => x !== "");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user