mirror of
https://github.com/golangci/golangci-lint-action.git
synced 2026-02-25 17:11:55 +00:00
Better env failover.
I have been jumping through way too many hoops to make the non-standard checks on origin behave properly, oh well.
This commit is contained in:
parent
4c15f47e78
commit
db5738640c
4 changed files with 171 additions and 114 deletions
70
dist/post_run/index.js
vendored
70
dist/post_run/index.js
vendored
|
|
@ -6903,37 +6903,43 @@ function resolveCheckRunId(checkRunIdent) {
|
||||||
function prepareEnv() {
|
function prepareEnv() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const startedAt = Date.now();
|
const startedAt = Date.now();
|
||||||
// Resolve Check Run ID
|
const checkRunPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
const prepareCheckRunIdentPromise = prepareCheckRunIdent();
|
let checkRunIdent;
|
||||||
|
try {
|
||||||
|
checkRunIdent = JSON.parse(core.getState(constants_1.Env.CheckRunIdent));
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
checkRunIdent = undefined;
|
||||||
|
}
|
||||||
|
if (!checkRunIdent) {
|
||||||
|
core.saveState(constants_1.Env.CheckRunIdent, JSON.stringify((checkRunIdent = yield prepareCheckRunIdent())));
|
||||||
|
}
|
||||||
|
return checkRunIdent;
|
||||||
|
}))();
|
||||||
|
const prepareLintPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let lintPath = core.getState(constants_1.Env.LintPath);
|
||||||
|
if (!lintPath) {
|
||||||
|
core.saveState(constants_1.Env.LintPath, (lintPath = yield prepareLint()));
|
||||||
|
}
|
||||||
|
return lintPath;
|
||||||
|
}))();
|
||||||
|
const patchPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let patchPath = core.getState(constants_1.Env.PatchPath);
|
||||||
|
if (!patchPath) {
|
||||||
|
core.saveState(constants_1.Env.PatchPath, (patchPath = yield fetchPatch()));
|
||||||
|
}
|
||||||
|
return patchPath;
|
||||||
|
}))();
|
||||||
// Prepare cache, lint and go in parallel.
|
// Prepare cache, lint and go in parallel.
|
||||||
const restoreCachePromise = cache_1.restoreCache();
|
const restoreCachePromise = cache_1.restoreCache();
|
||||||
const prepareLintPromise = prepareLint();
|
|
||||||
const installGoPromise = install_1.installGo();
|
const installGoPromise = install_1.installGo();
|
||||||
const patchPromise = fetchPatch();
|
const lintPath = yield prepareLintPromise;
|
||||||
core.saveState(constants_1.Env.LintPath, yield prepareLintPromise);
|
const patchPath = yield patchPromise;
|
||||||
|
const checkRunIdent = yield checkRunPromise;
|
||||||
yield installGoPromise;
|
yield installGoPromise;
|
||||||
yield restoreCachePromise;
|
yield restoreCachePromise;
|
||||||
core.saveState(constants_1.Env.PatchPath, yield patchPromise);
|
|
||||||
core.saveState(constants_1.Env.CheckRunIdent, JSON.stringify(yield prepareCheckRunIdentPromise));
|
|
||||||
core.info(`Prepared env in ${Date.now() - startedAt}ms`);
|
core.info(`Prepared env in ${Date.now() - startedAt}ms`);
|
||||||
});
|
return { lintPath, patchPath, checkRunIdent };
|
||||||
}
|
|
||||||
function restoreEnv() {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
const startedAt = Date.now();
|
|
||||||
const lintPath = core.getState(constants_1.Env.LintPath);
|
|
||||||
const patchPath = core.getState(constants_1.Env.PatchPath);
|
|
||||||
let checkRunId;
|
|
||||||
try {
|
|
||||||
const checkRunIdent = JSON.parse(core.getState(constants_1.Env.CheckRunIdent));
|
|
||||||
checkRunId = yield resolveCheckRunId(checkRunIdent);
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
core.info(`::error::Error Resolving Check Run ID: ${e}`);
|
|
||||||
checkRunId = -1;
|
|
||||||
}
|
|
||||||
core.info(`Restored env in ${Date.now() - startedAt}ms`);
|
|
||||||
return { lintPath, patchPath, checkRunId };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var LintSeverity;
|
var LintSeverity;
|
||||||
|
|
@ -7200,10 +7206,10 @@ function runLint(lintPath, patchPath, checkRunId) {
|
||||||
function setup() {
|
function setup() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
yield core.group(`prepare environment`, prepareEnv);
|
yield core.group(`pre-prepare environment`, prepareEnv);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.error(`Failed to prepare: ${error}, ${error.stack}`);
|
core.error(`Failed to pre-prepare: ${error}, ${error.stack}`);
|
||||||
core.setFailed(error.message);
|
core.setFailed(error.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -7212,8 +7218,16 @@ exports.setup = setup;
|
||||||
function run() {
|
function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
const { lintPath, patchPath, checkRunId } = yield core.group(`restore environment`, restoreEnv);
|
const { lintPath, patchPath, checkRunIdent } = yield core.group(`prepare environment`, prepareEnv);
|
||||||
core.addPath(path.dirname(lintPath));
|
core.addPath(path.dirname(lintPath));
|
||||||
|
let checkRunId;
|
||||||
|
try {
|
||||||
|
checkRunId = yield resolveCheckRunId(checkRunIdent);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
core.info(`::error::Error Resolving Check Run ID: ${e}`);
|
||||||
|
checkRunId = -1;
|
||||||
|
}
|
||||||
yield core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId));
|
yield core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId));
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
|
|
||||||
70
dist/pre/index.js
vendored
70
dist/pre/index.js
vendored
|
|
@ -6903,37 +6903,43 @@ function resolveCheckRunId(checkRunIdent) {
|
||||||
function prepareEnv() {
|
function prepareEnv() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const startedAt = Date.now();
|
const startedAt = Date.now();
|
||||||
// Resolve Check Run ID
|
const checkRunPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
const prepareCheckRunIdentPromise = prepareCheckRunIdent();
|
let checkRunIdent;
|
||||||
|
try {
|
||||||
|
checkRunIdent = JSON.parse(core.getState(constants_1.Env.CheckRunIdent));
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
checkRunIdent = undefined;
|
||||||
|
}
|
||||||
|
if (!checkRunIdent) {
|
||||||
|
core.saveState(constants_1.Env.CheckRunIdent, JSON.stringify((checkRunIdent = yield prepareCheckRunIdent())));
|
||||||
|
}
|
||||||
|
return checkRunIdent;
|
||||||
|
}))();
|
||||||
|
const prepareLintPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let lintPath = core.getState(constants_1.Env.LintPath);
|
||||||
|
if (!lintPath) {
|
||||||
|
core.saveState(constants_1.Env.LintPath, (lintPath = yield prepareLint()));
|
||||||
|
}
|
||||||
|
return lintPath;
|
||||||
|
}))();
|
||||||
|
const patchPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let patchPath = core.getState(constants_1.Env.PatchPath);
|
||||||
|
if (!patchPath) {
|
||||||
|
core.saveState(constants_1.Env.PatchPath, (patchPath = yield fetchPatch()));
|
||||||
|
}
|
||||||
|
return patchPath;
|
||||||
|
}))();
|
||||||
// Prepare cache, lint and go in parallel.
|
// Prepare cache, lint and go in parallel.
|
||||||
const restoreCachePromise = cache_1.restoreCache();
|
const restoreCachePromise = cache_1.restoreCache();
|
||||||
const prepareLintPromise = prepareLint();
|
|
||||||
const installGoPromise = install_1.installGo();
|
const installGoPromise = install_1.installGo();
|
||||||
const patchPromise = fetchPatch();
|
const lintPath = yield prepareLintPromise;
|
||||||
core.saveState(constants_1.Env.LintPath, yield prepareLintPromise);
|
const patchPath = yield patchPromise;
|
||||||
|
const checkRunIdent = yield checkRunPromise;
|
||||||
yield installGoPromise;
|
yield installGoPromise;
|
||||||
yield restoreCachePromise;
|
yield restoreCachePromise;
|
||||||
core.saveState(constants_1.Env.PatchPath, yield patchPromise);
|
|
||||||
core.saveState(constants_1.Env.CheckRunIdent, JSON.stringify(yield prepareCheckRunIdentPromise));
|
|
||||||
core.info(`Prepared env in ${Date.now() - startedAt}ms`);
|
core.info(`Prepared env in ${Date.now() - startedAt}ms`);
|
||||||
});
|
return { lintPath, patchPath, checkRunIdent };
|
||||||
}
|
|
||||||
function restoreEnv() {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
const startedAt = Date.now();
|
|
||||||
const lintPath = core.getState(constants_1.Env.LintPath);
|
|
||||||
const patchPath = core.getState(constants_1.Env.PatchPath);
|
|
||||||
let checkRunId;
|
|
||||||
try {
|
|
||||||
const checkRunIdent = JSON.parse(core.getState(constants_1.Env.CheckRunIdent));
|
|
||||||
checkRunId = yield resolveCheckRunId(checkRunIdent);
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
core.info(`::error::Error Resolving Check Run ID: ${e}`);
|
|
||||||
checkRunId = -1;
|
|
||||||
}
|
|
||||||
core.info(`Restored env in ${Date.now() - startedAt}ms`);
|
|
||||||
return { lintPath, patchPath, checkRunId };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var LintSeverity;
|
var LintSeverity;
|
||||||
|
|
@ -7200,10 +7206,10 @@ function runLint(lintPath, patchPath, checkRunId) {
|
||||||
function setup() {
|
function setup() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
yield core.group(`prepare environment`, prepareEnv);
|
yield core.group(`pre-prepare environment`, prepareEnv);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.error(`Failed to prepare: ${error}, ${error.stack}`);
|
core.error(`Failed to pre-prepare: ${error}, ${error.stack}`);
|
||||||
core.setFailed(error.message);
|
core.setFailed(error.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -7212,8 +7218,16 @@ exports.setup = setup;
|
||||||
function run() {
|
function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
const { lintPath, patchPath, checkRunId } = yield core.group(`restore environment`, restoreEnv);
|
const { lintPath, patchPath, checkRunIdent } = yield core.group(`prepare environment`, prepareEnv);
|
||||||
core.addPath(path.dirname(lintPath));
|
core.addPath(path.dirname(lintPath));
|
||||||
|
let checkRunId;
|
||||||
|
try {
|
||||||
|
checkRunId = yield resolveCheckRunId(checkRunIdent);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
core.info(`::error::Error Resolving Check Run ID: ${e}`);
|
||||||
|
checkRunId = -1;
|
||||||
|
}
|
||||||
yield core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId));
|
yield core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId));
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
|
|
||||||
70
dist/run/index.js
vendored
70
dist/run/index.js
vendored
|
|
@ -6913,37 +6913,43 @@ function resolveCheckRunId(checkRunIdent) {
|
||||||
function prepareEnv() {
|
function prepareEnv() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const startedAt = Date.now();
|
const startedAt = Date.now();
|
||||||
// Resolve Check Run ID
|
const checkRunPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
const prepareCheckRunIdentPromise = prepareCheckRunIdent();
|
let checkRunIdent;
|
||||||
|
try {
|
||||||
|
checkRunIdent = JSON.parse(core.getState(constants_1.Env.CheckRunIdent));
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
checkRunIdent = undefined;
|
||||||
|
}
|
||||||
|
if (!checkRunIdent) {
|
||||||
|
core.saveState(constants_1.Env.CheckRunIdent, JSON.stringify((checkRunIdent = yield prepareCheckRunIdent())));
|
||||||
|
}
|
||||||
|
return checkRunIdent;
|
||||||
|
}))();
|
||||||
|
const prepareLintPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let lintPath = core.getState(constants_1.Env.LintPath);
|
||||||
|
if (!lintPath) {
|
||||||
|
core.saveState(constants_1.Env.LintPath, (lintPath = yield prepareLint()));
|
||||||
|
}
|
||||||
|
return lintPath;
|
||||||
|
}))();
|
||||||
|
const patchPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let patchPath = core.getState(constants_1.Env.PatchPath);
|
||||||
|
if (!patchPath) {
|
||||||
|
core.saveState(constants_1.Env.PatchPath, (patchPath = yield fetchPatch()));
|
||||||
|
}
|
||||||
|
return patchPath;
|
||||||
|
}))();
|
||||||
// Prepare cache, lint and go in parallel.
|
// Prepare cache, lint and go in parallel.
|
||||||
const restoreCachePromise = cache_1.restoreCache();
|
const restoreCachePromise = cache_1.restoreCache();
|
||||||
const prepareLintPromise = prepareLint();
|
|
||||||
const installGoPromise = install_1.installGo();
|
const installGoPromise = install_1.installGo();
|
||||||
const patchPromise = fetchPatch();
|
const lintPath = yield prepareLintPromise;
|
||||||
core.saveState(constants_1.Env.LintPath, yield prepareLintPromise);
|
const patchPath = yield patchPromise;
|
||||||
|
const checkRunIdent = yield checkRunPromise;
|
||||||
yield installGoPromise;
|
yield installGoPromise;
|
||||||
yield restoreCachePromise;
|
yield restoreCachePromise;
|
||||||
core.saveState(constants_1.Env.PatchPath, yield patchPromise);
|
|
||||||
core.saveState(constants_1.Env.CheckRunIdent, JSON.stringify(yield prepareCheckRunIdentPromise));
|
|
||||||
core.info(`Prepared env in ${Date.now() - startedAt}ms`);
|
core.info(`Prepared env in ${Date.now() - startedAt}ms`);
|
||||||
});
|
return { lintPath, patchPath, checkRunIdent };
|
||||||
}
|
|
||||||
function restoreEnv() {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
const startedAt = Date.now();
|
|
||||||
const lintPath = core.getState(constants_1.Env.LintPath);
|
|
||||||
const patchPath = core.getState(constants_1.Env.PatchPath);
|
|
||||||
let checkRunId;
|
|
||||||
try {
|
|
||||||
const checkRunIdent = JSON.parse(core.getState(constants_1.Env.CheckRunIdent));
|
|
||||||
checkRunId = yield resolveCheckRunId(checkRunIdent);
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
core.info(`::error::Error Resolving Check Run ID: ${e}`);
|
|
||||||
checkRunId = -1;
|
|
||||||
}
|
|
||||||
core.info(`Restored env in ${Date.now() - startedAt}ms`);
|
|
||||||
return { lintPath, patchPath, checkRunId };
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var LintSeverity;
|
var LintSeverity;
|
||||||
|
|
@ -7210,10 +7216,10 @@ function runLint(lintPath, patchPath, checkRunId) {
|
||||||
function setup() {
|
function setup() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
yield core.group(`prepare environment`, prepareEnv);
|
yield core.group(`pre-prepare environment`, prepareEnv);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
core.error(`Failed to prepare: ${error}, ${error.stack}`);
|
core.error(`Failed to pre-prepare: ${error}, ${error.stack}`);
|
||||||
core.setFailed(error.message);
|
core.setFailed(error.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -7222,8 +7228,16 @@ exports.setup = setup;
|
||||||
function run() {
|
function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
const { lintPath, patchPath, checkRunId } = yield core.group(`restore environment`, restoreEnv);
|
const { lintPath, patchPath, checkRunIdent } = yield core.group(`prepare environment`, prepareEnv);
|
||||||
core.addPath(path.dirname(lintPath));
|
core.addPath(path.dirname(lintPath));
|
||||||
|
let checkRunId;
|
||||||
|
try {
|
||||||
|
checkRunId = yield resolveCheckRunId(checkRunIdent);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
core.info(`::error::Error Resolving Check Run ID: ${e}`);
|
||||||
|
checkRunId = -1;
|
||||||
|
}
|
||||||
yield core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId));
|
yield core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId));
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
|
|
||||||
75
src/run.ts
75
src/run.ts
|
|
@ -80,7 +80,7 @@ async function fetchPatch(): Promise<string> {
|
||||||
type Env = {
|
type Env = {
|
||||||
lintPath: string
|
lintPath: string
|
||||||
patchPath: string
|
patchPath: string
|
||||||
checkRunId: number
|
checkRunIdent: CheckRunIdent
|
||||||
}
|
}
|
||||||
|
|
||||||
type CheckRunIdent = {
|
type CheckRunIdent = {
|
||||||
|
|
@ -270,44 +270,52 @@ async function resolveCheckRunId(checkRunIdent: CheckRunIdent): Promise<number>
|
||||||
return checkRunId
|
return checkRunId
|
||||||
}
|
}
|
||||||
|
|
||||||
async function prepareEnv(): Promise<void> {
|
async function prepareEnv(): Promise<Env> {
|
||||||
const startedAt = Date.now()
|
const startedAt = Date.now()
|
||||||
|
|
||||||
// Resolve Check Run ID
|
const checkRunPromise = (async () => {
|
||||||
const prepareCheckRunIdentPromise = prepareCheckRunIdent()
|
let checkRunIdent: CheckRunIdent | undefined
|
||||||
|
try {
|
||||||
|
checkRunIdent = JSON.parse(core.getState(EnvKey.CheckRunIdent))
|
||||||
|
} catch (e) {
|
||||||
|
checkRunIdent = undefined
|
||||||
|
}
|
||||||
|
if (!checkRunIdent) {
|
||||||
|
core.saveState(EnvKey.CheckRunIdent, JSON.stringify((checkRunIdent = await prepareCheckRunIdent())))
|
||||||
|
}
|
||||||
|
|
||||||
|
return checkRunIdent
|
||||||
|
})()
|
||||||
|
|
||||||
|
const prepareLintPromise = (async () => {
|
||||||
|
let lintPath = core.getState(EnvKey.LintPath)
|
||||||
|
if (!lintPath) {
|
||||||
|
core.saveState(EnvKey.LintPath, (lintPath = await prepareLint()))
|
||||||
|
}
|
||||||
|
return lintPath
|
||||||
|
})()
|
||||||
|
|
||||||
|
const patchPromise = (async () => {
|
||||||
|
let patchPath = core.getState(EnvKey.PatchPath)
|
||||||
|
if (!patchPath) {
|
||||||
|
core.saveState(EnvKey.PatchPath, (patchPath = await fetchPatch()))
|
||||||
|
}
|
||||||
|
return patchPath
|
||||||
|
})()
|
||||||
|
|
||||||
// Prepare cache, lint and go in parallel.
|
// Prepare cache, lint and go in parallel.
|
||||||
const restoreCachePromise = restoreCache()
|
const restoreCachePromise = restoreCache()
|
||||||
const prepareLintPromise = prepareLint()
|
|
||||||
const installGoPromise = installGo()
|
const installGoPromise = installGo()
|
||||||
const patchPromise = fetchPatch()
|
|
||||||
|
|
||||||
core.saveState(EnvKey.LintPath, await prepareLintPromise)
|
const lintPath = await prepareLintPromise
|
||||||
|
const patchPath = await patchPromise
|
||||||
|
const checkRunIdent = await checkRunPromise
|
||||||
await installGoPromise
|
await installGoPromise
|
||||||
await restoreCachePromise
|
await restoreCachePromise
|
||||||
core.saveState(EnvKey.PatchPath, await patchPromise)
|
|
||||||
core.saveState(EnvKey.CheckRunIdent, JSON.stringify(await prepareCheckRunIdentPromise))
|
|
||||||
|
|
||||||
core.info(`Prepared env in ${Date.now() - startedAt}ms`)
|
core.info(`Prepared env in ${Date.now() - startedAt}ms`)
|
||||||
}
|
|
||||||
|
|
||||||
async function restoreEnv(): Promise<Env> {
|
return { lintPath, patchPath, checkRunIdent }
|
||||||
const startedAt = Date.now()
|
|
||||||
|
|
||||||
const lintPath = core.getState(EnvKey.LintPath)
|
|
||||||
const patchPath = core.getState(EnvKey.PatchPath)
|
|
||||||
let checkRunId: number
|
|
||||||
try {
|
|
||||||
const checkRunIdent: CheckRunIdent = JSON.parse(core.getState(EnvKey.CheckRunIdent))
|
|
||||||
checkRunId = await resolveCheckRunId(checkRunIdent)
|
|
||||||
} catch (e) {
|
|
||||||
core.info(`::error::Error Resolving Check Run ID: ${e}`)
|
|
||||||
checkRunId = -1
|
|
||||||
}
|
|
||||||
|
|
||||||
core.info(`Restored env in ${Date.now() - startedAt}ms`)
|
|
||||||
|
|
||||||
return { lintPath, patchPath, checkRunId }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ExecRes = {
|
type ExecRes = {
|
||||||
|
|
@ -664,17 +672,24 @@ async function runLint(lintPath: string, patchPath: string, checkRunId: number):
|
||||||
|
|
||||||
export async function setup(): Promise<void> {
|
export async function setup(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
await core.group(`prepare environment`, prepareEnv)
|
await core.group(`pre-prepare environment`, prepareEnv)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.error(`Failed to prepare: ${error}, ${error.stack}`)
|
core.error(`Failed to pre-prepare: ${error}, ${error.stack}`)
|
||||||
core.setFailed(error.message)
|
core.setFailed(error.message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function run(): Promise<void> {
|
export async function run(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const { lintPath, patchPath, checkRunId } = await core.group(`restore environment`, restoreEnv)
|
const { lintPath, patchPath, checkRunIdent } = await core.group(`prepare environment`, prepareEnv)
|
||||||
core.addPath(path.dirname(lintPath))
|
core.addPath(path.dirname(lintPath))
|
||||||
|
let checkRunId: number
|
||||||
|
try {
|
||||||
|
checkRunId = await resolveCheckRunId(checkRunIdent)
|
||||||
|
} catch (e) {
|
||||||
|
core.info(`::error::Error Resolving Check Run ID: ${e}`)
|
||||||
|
checkRunId = -1
|
||||||
|
}
|
||||||
await core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId))
|
await core.group(`run golangci-lint`, () => runLint(lintPath, patchPath, checkRunId))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.error(`Failed to run: ${error}, ${error.stack}`)
|
core.error(`Failed to run: ${error}, ${error.stack}`)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue