Avoid failing the workflow on a proxy post step

This commit is contained in:
Marco Gario 2024-12-11 13:41:23 +00:00
parent 4d64ab66ad
commit f327a84ce5
3 changed files with 41 additions and 47 deletions

View file

@ -46,39 +46,35 @@ const debug_artifacts_1 = require("./debug-artifacts");
const logging_1 = require("./logging");
const util_1 = require("./util");
async function runWrapper() {
const logger = (0, logging_1.getActionsLogger)();
try {
// Restore inputs from `start-proxy` Action.
actionsUtil.restoreInputs();
// Kill the running proxy
const pid = core.getState("proxy-process-pid");
if (pid) {
process.kill(Number(pid));
}
}
catch (error) {
core.setFailed(`start-proxy post-action step failed: ${(0, util_1.getErrorMessage)(error)}`);
}
const config = await configUtils.getConfig(actionsUtil.getTemporaryDirectory(), core);
if ((config && config.debugMode) || core.isDebug()) {
const logFilePath = core.getState("proxy-log-file");
core.info("Debug mode is on. Uploading proxy log as Actions debugging artifact...");
if (config?.gitHubVersion.type === undefined) {
core.warning(`Did not upload debug artifacts because cannot determine the GitHub variant running.`);
return;
}
const logger = (0, logging_1.getActionsLogger)();
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger);
try {
const config = await configUtils.getConfig(actionsUtil.getTemporaryDirectory(), logger);
if ((config && config.debugMode) || core.isDebug()) {
const logFilePath = core.getState("proxy-log-file");
logger.info("Debug mode is on. Uploading proxy log as Actions debugging artifact...");
if (config?.gitHubVersion.type === undefined) {
logger.warning(`Did not upload debug artifacts because cannot determine the GitHub variant running.`);
return;
}
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger);
const artifactUploader = await (0, debug_artifacts_1.getArtifactUploaderClient)(logger, gitHubVersion.type);
await artifactUploader.uploadArtifact("proxy-log-file", [logFilePath], actionsUtil.getTemporaryDirectory(), {
// ensure we don't keep the debug artifacts around for too long since they can be large.
retentionDays: 7,
});
}
catch (e) {
// A failure to upload debug artifacts should not fail the entire action.
core.warning(`Failed to upload debug artifacts: ${e}`);
}
}
catch (error) {
// A failure in the post step should not fail the entire action.
logger.warning(`start-proxy post-action step failed: ${(0, util_1.getErrorMessage)(error)}`);
}
}
void runWrapper();