use highlevel actions cache api for save
This commit is contained in:
parent
d8dfea6c6d
commit
caeb593a24
|
@ -36,92 +36,14 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.downloadFileFromActionsCache = void 0;
|
exports.downloadFileFromActionsCache = void 0;
|
||||||
const cache = __importStar(__nccwpck_require__(7799));
|
const cache = __importStar(__nccwpck_require__(7799));
|
||||||
const path_1 = __importDefault(__nccwpck_require__(1017));
|
const path_1 = __importDefault(__nccwpck_require__(1017));
|
||||||
const downloadFileFromActionsCache = (destFileName, cacheKey, cacheVersion) => cache.restoreCache([path_1.default.dirname(destFileName)], cacheKey, [
|
const downloadFileFromActionsCache = (destFileName, cacheKey,
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
cacheVersion) => cache.restoreCache([path_1.default.dirname(destFileName)], cacheKey, [
|
||||||
cacheKey
|
cacheKey
|
||||||
]);
|
]);
|
||||||
exports.downloadFileFromActionsCache = downloadFileFromActionsCache;
|
exports.downloadFileFromActionsCache = downloadFileFromActionsCache;
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ 5970:
|
|
||||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
||||||
exports.uploadFileToActionsCache = void 0;
|
|
||||||
const fs_1 = __importDefault(__nccwpck_require__(7147));
|
|
||||||
const core = __importStar(__nccwpck_require__(2186));
|
|
||||||
const cache = __importStar(__nccwpck_require__(7799));
|
|
||||||
const github_1 = __nccwpck_require__(5438);
|
|
||||||
const plugin_retry_1 = __nccwpck_require__(6298);
|
|
||||||
const resetCacheWithOctokit = (cacheKey) => __awaiter(void 0, void 0, void 0, function* () {
|
|
||||||
const token = core.getInput('repo-token');
|
|
||||||
const client = (0, github_1.getOctokit)(token, undefined, plugin_retry_1.retry);
|
|
||||||
// TODO: better way to get repository?
|
|
||||||
const repo = process.env['GITHUB_REPOSITORY'];
|
|
||||||
core.debug(`remove cache "${cacheKey}"`);
|
|
||||||
try {
|
|
||||||
// TODO: replace with client.rest.
|
|
||||||
yield client.request(`DELETE /repos/${repo}/actions/caches?key=${cacheKey}`);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
if (error.status) {
|
|
||||||
core.debug(`Cache ${cacheKey} does not exist`);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
const uploadFileToActionsCache = (filePath, cacheKey, cacheVersion) => __awaiter(void 0, void 0, void 0, function* () {
|
|
||||||
yield resetCacheWithOctokit(cacheKey);
|
|
||||||
const fileSize = fs_1.default.statSync(filePath).size;
|
|
||||||
if (fileSize === 0) {
|
|
||||||
core.info(`the cache ${cacheKey} will be removed`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
cache.saveCache([filePath], cacheKey);
|
|
||||||
});
|
|
||||||
exports.uploadFileToActionsCache = uploadFileToActionsCache;
|
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 7236:
|
/***/ 7236:
|
||||||
|
@ -1677,13 +1599,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.StateCacheStorage = void 0;
|
exports.StateCacheStorage = exports.getCommandOutput = void 0;
|
||||||
const fs_1 = __importDefault(__nccwpck_require__(7147));
|
const fs_1 = __importDefault(__nccwpck_require__(7147));
|
||||||
const path_1 = __importDefault(__nccwpck_require__(1017));
|
const path_1 = __importDefault(__nccwpck_require__(1017));
|
||||||
const os_1 = __importDefault(__nccwpck_require__(2037));
|
const os_1 = __importDefault(__nccwpck_require__(2037));
|
||||||
const core = __importStar(__nccwpck_require__(2186));
|
const core = __importStar(__nccwpck_require__(2186));
|
||||||
const download_1 = __nccwpck_require__(8802);
|
const download_1 = __nccwpck_require__(8802);
|
||||||
const upload_1 = __nccwpck_require__(5970);
|
const exec = __importStar(__nccwpck_require__(1514));
|
||||||
|
const github_1 = __nccwpck_require__(5438);
|
||||||
|
const plugin_retry_1 = __nccwpck_require__(6298);
|
||||||
|
const cache = __importStar(__nccwpck_require__(7799));
|
||||||
/*
|
/*
|
||||||
import {uploadFileToActionsCache} from '../actions-cache-internal/upload';
|
import {uploadFileToActionsCache} from '../actions-cache-internal/upload';
|
||||||
import {downloadFileFromActionsCache} from '../actions-cache-internal/download';
|
import {downloadFileFromActionsCache} from '../actions-cache-internal/download';
|
||||||
|
@ -1691,26 +1616,93 @@ import {downloadFileFromActionsCache} from '../actions-cache-internal/download';
|
||||||
const CACHE_KEY = '_state';
|
const CACHE_KEY = '_state';
|
||||||
const CACHE_VERSION = '1';
|
const CACHE_VERSION = '1';
|
||||||
const STATE_FILE = 'state.txt';
|
const STATE_FILE = 'state.txt';
|
||||||
|
const STALE_DIR = '56acbeaa-1fef-4c79-8f84-7565e560fb03';
|
||||||
|
const mkTempDir = () => {
|
||||||
|
const tmpDir = path_1.default.join(os_1.default.tmpdir(), STALE_DIR);
|
||||||
|
fs_1.default.mkdirSync(tmpDir, { recursive: true });
|
||||||
|
return tmpDir;
|
||||||
|
};
|
||||||
|
const unlinkSafely = (filePath) => {
|
||||||
|
try {
|
||||||
|
fs_1.default.unlinkSync(filePath);
|
||||||
|
}
|
||||||
|
catch (foo) {
|
||||||
|
/* ignore */
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const getCommandOutput = (toolCommand, cwd) => __awaiter(void 0, void 0, void 0, function* () {
|
||||||
|
let { stdout, stderr, exitCode } = yield exec.getExecOutput(toolCommand, undefined, Object.assign({ ignoreReturnCode: true }, (cwd && { cwd })));
|
||||||
|
if (exitCode) {
|
||||||
|
stderr = !stderr.trim()
|
||||||
|
? `The '${toolCommand}' command failed with exit code: ${exitCode}`
|
||||||
|
: stderr;
|
||||||
|
throw new Error(stderr);
|
||||||
|
}
|
||||||
|
return stdout.trim();
|
||||||
|
});
|
||||||
|
exports.getCommandOutput = getCommandOutput;
|
||||||
|
function execCommands(commands, cwd) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
for (const command of commands) {
|
||||||
|
try {
|
||||||
|
yield exec.exec(command, undefined, { cwd });
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
throw new Error(`${command.split(' ')[0]} failed with error: ${error === null || error === void 0 ? void 0 : error.message}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const resetCacheWithOctokit = (cacheKey) => __awaiter(void 0, void 0, void 0, function* () {
|
||||||
|
const token = core.getInput('repo-token');
|
||||||
|
const client = (0, github_1.getOctokit)(token, undefined, plugin_retry_1.retry);
|
||||||
|
// TODO: better way to get repository?
|
||||||
|
const repo = process.env['GITHUB_REPOSITORY'];
|
||||||
|
core.debug(`remove cache "${cacheKey}"`);
|
||||||
|
try {
|
||||||
|
// TODO: replace with client.rest.
|
||||||
|
yield client.request(`DELETE /repos/${repo}/actions/caches?key=${cacheKey}`);
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
if (error.status) {
|
||||||
|
core.debug(`Cache ${cacheKey} does not exist`);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
class StateCacheStorage {
|
class StateCacheStorage {
|
||||||
save(serializedState) {
|
save(serializedState) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const tmpDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'state-'));
|
const tmpDir = mkTempDir();
|
||||||
const file = path_1.default.join(tmpDir, STATE_FILE);
|
const filePath = path_1.default.join(tmpDir, STATE_FILE);
|
||||||
fs_1.default.writeFileSync(file, serializedState);
|
fs_1.default.writeFileSync(filePath, serializedState);
|
||||||
try {
|
try {
|
||||||
yield (0, upload_1.uploadFileToActionsCache)(file, CACHE_KEY, CACHE_VERSION);
|
yield resetCacheWithOctokit(CACHE_KEY);
|
||||||
|
const fileSize = fs_1.default.statSync(filePath).size;
|
||||||
|
if (fileSize === 0) {
|
||||||
|
core.info(`the cache ${CACHE_KEY} will be removed`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
yield cache.saveCache([path_1.default.dirname(filePath)], CACHE_KEY);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.warning(`Saving the state was not successful due to "${error.message || 'unknown reason'}"`);
|
core.warning(`Saving the state was not successful due to "${error.message || 'unknown reason'}"`);
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
|
unlinkSafely(filePath);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
restore() {
|
restore() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const tmpDir = fs_1.default.mkdtempSync('state-');
|
const tmpDir = mkTempDir(); //fs.mkdtempSync('state-');
|
||||||
const fileName = path_1.default.join(tmpDir, STATE_FILE);
|
const fileName = path_1.default.join(tmpDir, STATE_FILE);
|
||||||
|
unlinkSafely(fileName);
|
||||||
try {
|
try {
|
||||||
yield (0, download_1.downloadFileFromActionsCache)(fileName, CACHE_KEY, CACHE_VERSION);
|
yield (0, download_1.downloadFileFromActionsCache)(fileName, CACHE_KEY, CACHE_VERSION);
|
||||||
|
yield execCommands([`ls -la ${path_1.default.dirname(fileName)}`]);
|
||||||
if (!fs_1.default.existsSync(fileName)) {
|
if (!fs_1.default.existsSync(fileName)) {
|
||||||
core.info('The stored state has not been found, probably because of the very first run or the previous run failed');
|
core.info('The stored state has not been found, probably because of the very first run or the previous run failed');
|
||||||
return '';
|
return '';
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": "^3.2.1",
|
"@actions/cache": "^3.2.1",
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/github": "^5.1.1",
|
"@actions/github": "^5.1.1",
|
||||||
"@actions/http-client": "^2.1.0",
|
"@actions/http-client": "^2.1.0",
|
||||||
"@octokit/core": "^4.2.0",
|
"@octokit/core": "^4.2.0",
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": "^3.2.1",
|
"@actions/cache": "^3.2.1",
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/github": "^5.1.1",
|
"@actions/github": "^5.1.1",
|
||||||
"@actions/http-client": "^2.1.0",
|
"@actions/http-client": "^2.1.0",
|
||||||
"@octokit/core": "^4.2.0",
|
"@octokit/core": "^4.2.0",
|
||||||
|
|
|
@ -4,6 +4,7 @@ import path from 'path';
|
||||||
export const downloadFileFromActionsCache = (
|
export const downloadFileFromActionsCache = (
|
||||||
destFileName: string,
|
destFileName: string,
|
||||||
cacheKey: string,
|
cacheKey: string,
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
cacheVersion: string
|
cacheVersion: string
|
||||||
): Promise<void> =>
|
): Promise<void> =>
|
||||||
cache.restoreCache([path.dirname(destFileName)], cacheKey, [
|
cache.restoreCache([path.dirname(destFileName)], cacheKey, [
|
||||||
|
|
|
@ -3,6 +3,7 @@ import * as core from '@actions/core';
|
||||||
import * as cache from '@actions/cache';
|
import * as cache from '@actions/cache';
|
||||||
import {getOctokit} from '@actions/github';
|
import {getOctokit} from '@actions/github';
|
||||||
import {retry as octokitRetry} from '@octokit/plugin-retry';
|
import {retry as octokitRetry} from '@octokit/plugin-retry';
|
||||||
|
import path from 'path';
|
||||||
|
|
||||||
const resetCacheWithOctokit = async (cacheKey: string): Promise<void> => {
|
const resetCacheWithOctokit = async (cacheKey: string): Promise<void> => {
|
||||||
const token = core.getInput('repo-token');
|
const token = core.getInput('repo-token');
|
||||||
|
@ -26,6 +27,7 @@ const resetCacheWithOctokit = async (cacheKey: string): Promise<void> => {
|
||||||
export const uploadFileToActionsCache = async (
|
export const uploadFileToActionsCache = async (
|
||||||
filePath: string,
|
filePath: string,
|
||||||
cacheKey: string,
|
cacheKey: string,
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
cacheVersion: string
|
cacheVersion: string
|
||||||
) => {
|
) => {
|
||||||
await resetCacheWithOctokit(cacheKey);
|
await resetCacheWithOctokit(cacheKey);
|
||||||
|
@ -36,5 +38,6 @@ export const uploadFileToActionsCache = async (
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cache.saveCache([filePath], cacheKey);
|
core.debug('content: ' + fs.readFileSync(filePath).toString());
|
||||||
|
cache.saveCache([path.dirname(filePath)], cacheKey);
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,6 +5,10 @@ import os from 'os';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
import {downloadFileFromActionsCache} from '../actions-cache-hilevel/download';
|
import {downloadFileFromActionsCache} from '../actions-cache-hilevel/download';
|
||||||
import {uploadFileToActionsCache} from '../actions-cache-hilevel/upload';
|
import {uploadFileToActionsCache} from '../actions-cache-hilevel/upload';
|
||||||
|
import * as exec from '@actions/exec';
|
||||||
|
import {getOctokit} from '@actions/github';
|
||||||
|
import {retry as octokitRetry} from '@octokit/plugin-retry';
|
||||||
|
import * as cache from '@actions/cache';
|
||||||
/*
|
/*
|
||||||
import {uploadFileToActionsCache} from '../actions-cache-internal/upload';
|
import {uploadFileToActionsCache} from '../actions-cache-internal/upload';
|
||||||
import {downloadFileFromActionsCache} from '../actions-cache-internal/download';
|
import {downloadFileFromActionsCache} from '../actions-cache-internal/download';
|
||||||
|
@ -13,28 +17,108 @@ import {downloadFileFromActionsCache} from '../actions-cache-internal/download';
|
||||||
const CACHE_KEY = '_state';
|
const CACHE_KEY = '_state';
|
||||||
const CACHE_VERSION = '1';
|
const CACHE_VERSION = '1';
|
||||||
const STATE_FILE = 'state.txt';
|
const STATE_FILE = 'state.txt';
|
||||||
|
const STALE_DIR = '56acbeaa-1fef-4c79-8f84-7565e560fb03';
|
||||||
|
|
||||||
|
const mkTempDir = (): string => {
|
||||||
|
const tmpDir = path.join(os.tmpdir(), STALE_DIR);
|
||||||
|
fs.mkdirSync(tmpDir, {recursive: true});
|
||||||
|
return tmpDir;
|
||||||
|
};
|
||||||
|
|
||||||
|
const unlinkSafely = (filePath: string) => {
|
||||||
|
try {
|
||||||
|
fs.unlinkSync(filePath);
|
||||||
|
} catch (foo) {
|
||||||
|
/* ignore */
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getCommandOutput = async (
|
||||||
|
toolCommand: string,
|
||||||
|
cwd?: string
|
||||||
|
): Promise<string> => {
|
||||||
|
let {stdout, stderr, exitCode} = await exec.getExecOutput(
|
||||||
|
toolCommand,
|
||||||
|
undefined,
|
||||||
|
{ignoreReturnCode: true, ...(cwd && {cwd})}
|
||||||
|
);
|
||||||
|
|
||||||
|
if (exitCode) {
|
||||||
|
stderr = !stderr.trim()
|
||||||
|
? `The '${toolCommand}' command failed with exit code: ${exitCode}`
|
||||||
|
: stderr;
|
||||||
|
throw new Error(stderr);
|
||||||
|
}
|
||||||
|
|
||||||
|
return stdout.trim();
|
||||||
|
};
|
||||||
|
async function execCommands(commands: string[], cwd?: string): Promise<void> {
|
||||||
|
for (const command of commands) {
|
||||||
|
try {
|
||||||
|
await exec.exec(command, undefined, {cwd});
|
||||||
|
} catch (error) {
|
||||||
|
throw new Error(
|
||||||
|
`${command.split(' ')[0]} failed with error: ${error?.message}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const resetCacheWithOctokit = async (cacheKey: string): Promise<void> => {
|
||||||
|
const token = core.getInput('repo-token');
|
||||||
|
const client = getOctokit(token, undefined, octokitRetry);
|
||||||
|
// TODO: better way to get repository?
|
||||||
|
const repo = process.env['GITHUB_REPOSITORY'];
|
||||||
|
core.debug(`remove cache "${cacheKey}"`);
|
||||||
|
try {
|
||||||
|
// TODO: replace with client.rest.
|
||||||
|
await client.request(
|
||||||
|
`DELETE /repos/${repo}/actions/caches?key=${cacheKey}`
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
if (error.status) {
|
||||||
|
core.debug(`Cache ${cacheKey} does not exist`);
|
||||||
|
} else {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
export class StateCacheStorage implements IStateStorage {
|
export class StateCacheStorage implements IStateStorage {
|
||||||
async save(serializedState: string): Promise<void> {
|
async save(serializedState: string): Promise<void> {
|
||||||
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'state-'));
|
const tmpDir = mkTempDir();
|
||||||
const file = path.join(tmpDir, STATE_FILE);
|
const filePath = path.join(tmpDir, STATE_FILE);
|
||||||
fs.writeFileSync(file, serializedState);
|
fs.writeFileSync(filePath, serializedState);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await uploadFileToActionsCache(file, CACHE_KEY, CACHE_VERSION);
|
await resetCacheWithOctokit(CACHE_KEY);
|
||||||
|
const fileSize = fs.statSync(filePath).size;
|
||||||
|
|
||||||
|
if (fileSize === 0) {
|
||||||
|
core.info(`the cache ${CACHE_KEY} will be removed`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await cache.saveCache([path.dirname(filePath)], CACHE_KEY);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.warning(
|
core.warning(
|
||||||
`Saving the state was not successful due to "${
|
`Saving the state was not successful due to "${
|
||||||
error.message || 'unknown reason'
|
error.message || 'unknown reason'
|
||||||
}"`
|
}"`
|
||||||
);
|
);
|
||||||
|
} finally {
|
||||||
|
unlinkSafely(filePath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async restore(): Promise<string> {
|
async restore(): Promise<string> {
|
||||||
const tmpDir = fs.mkdtempSync('state-');
|
const tmpDir = mkTempDir(); //fs.mkdtempSync('state-');
|
||||||
const fileName = path.join(tmpDir, STATE_FILE);
|
const fileName = path.join(tmpDir, STATE_FILE);
|
||||||
|
unlinkSafely(fileName);
|
||||||
try {
|
try {
|
||||||
await downloadFileFromActionsCache(fileName, CACHE_KEY, CACHE_VERSION);
|
await downloadFileFromActionsCache(fileName, CACHE_KEY, CACHE_VERSION);
|
||||||
|
|
||||||
|
await execCommands([`ls -la ${path.dirname(fileName)}`]);
|
||||||
|
|
||||||
if (!fs.existsSync(fileName)) {
|
if (!fs.existsSync(fileName)) {
|
||||||
core.info(
|
core.info(
|
||||||
'The stored state has not been found, probably because of the very first run or the previous run failed'
|
'The stored state has not been found, probably because of the very first run or the previous run failed'
|
||||||
|
|
Loading…
Reference in New Issue