Update github check with aws log

pull/479/head
Frostebite 2022-12-10 01:31:46 +00:00
parent f3f2d152ed
commit 0866c4fc97
6 changed files with 49 additions and 27 deletions

37
dist/index.js vendored
View File

@ -876,6 +876,9 @@ class CloudRunnerOptions {
static get useLz4Compression() { static get useLz4Compression() {
return (CloudRunnerOptions.getInput(`useLz4Compression`) || 'false') === 'true'; return (CloudRunnerOptions.getInput(`useLz4Compression`) || 'false') === 'true';
} }
static get useCleanupCron() {
return (CloudRunnerOptions.getInput(`useCleanupCron`) || 'true') === 'true';
}
// ### ### ### // ### ### ###
// Retained Workspace // Retained Workspace
// ### ### ### // ### ### ###
@ -1416,6 +1419,7 @@ const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(22855));
const aws_error_1 = __nccwpck_require__(94669); const aws_error_1 = __nccwpck_require__(94669);
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144)); const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
const cleanup_cron_formation_1 = __nccwpck_require__(26162); const cleanup_cron_formation_1 = __nccwpck_require__(26162);
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
class AWSJobStack { class AWSJobStack {
constructor(baseStackName) { constructor(baseStackName) {
this.baseStackName = baseStackName; this.baseStackName = baseStackName;
@ -1538,13 +1542,15 @@ class AWSJobStack {
}, },
], ],
}; };
try { if (cloud_runner_options_1.default.useCleanupCron) {
yield CF.createStack(createCleanupStackInput).promise(); try {
yield CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise(); yield CF.createStack(createCleanupStackInput).promise();
} yield CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
catch (error) { }
yield aws_error_1.AWSError.handleStackCreationFailure(error, CF, taskDefStackName); catch (error) {
throw error; yield aws_error_1.AWSError.handleStackCreationFailure(error, CF, taskDefStackName);
throw error;
}
} }
const taskDefResources = (yield CF.describeStackResources({ const taskDefResources = (yield CF.describeStackResources({
StackName: taskDefStackName, StackName: taskDefStackName,
@ -2570,6 +2576,7 @@ const aws_base_stack_1 = __nccwpck_require__(26112);
const __1 = __nccwpck_require__(41359); const __1 = __nccwpck_require__(41359);
const garbage_collection_service_1 = __nccwpck_require__(53859); const garbage_collection_service_1 = __nccwpck_require__(53859);
const task_service_1 = __nccwpck_require__(67205); const task_service_1 = __nccwpck_require__(67205);
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(96552));
class AWSBuildEnvironment { class AWSBuildEnvironment {
constructor(buildParameters) { constructor(buildParameters) {
this.baseStackName = buildParameters.awsBaseStackName; this.baseStackName = buildParameters.awsBaseStackName;
@ -2670,9 +2677,11 @@ class AWSBuildEnvironment {
yield CF.deleteStack({ yield CF.deleteStack({
StackName: taskDef.taskDefStackName, StackName: taskDef.taskDefStackName,
}).promise(); }).promise();
yield CF.deleteStack({ if (cloud_runner_options_1.default.useCleanupCron) {
StackName: `${taskDef.taskDefStackName}-cleanup`, yield CF.deleteStack({
}).promise(); StackName: `${taskDef.taskDefStackName}-cleanup`,
}).promise();
}
yield CF.waitFor('stackDeleteComplete', { yield CF.waitFor('stackDeleteComplete', {
StackName: taskDef.taskDefStackName, StackName: taskDef.taskDefStackName,
}).promise(); }).promise();
@ -6381,11 +6390,13 @@ class GitHub {
], ],
}, },
}; };
if (status === `completed` && GitHub.endedDate !== undefined) { if (status === `completed`) {
GitHub.endedDate = new Date().toISOString(); if (GitHub.endedDate !== undefined) {
data.conclusion = result; GitHub.endedDate = new Date().toISOString();
}
// eslint-disable-next-line camelcase // eslint-disable-next-line camelcase
data.completed_at = GitHub.endedDate || GitHub.startedDate; data.completed_at = GitHub.endedDate || GitHub.startedDate;
data.conclusion = result;
} }
yield octokit.request(`PATCH /repos/${owner}/${repo}/check-runs/${checkRunId}`, data); yield octokit.request(`PATCH /repos/${owner}/${repo}/check-runs/${checkRunId}`, data);
}); });

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -254,6 +254,10 @@ class CloudRunnerOptions {
return (CloudRunnerOptions.getInput(`useLz4Compression`) || 'false') === 'true'; return (CloudRunnerOptions.getInput(`useLz4Compression`) || 'false') === 'true';
} }
public static get useCleanupCron(): boolean {
return (CloudRunnerOptions.getInput(`useCleanupCron`) || 'true') === 'true';
}
// ### ### ### // ### ### ###
// Retained Workspace // Retained Workspace
// ### ### ### // ### ### ###

View File

@ -6,6 +6,7 @@ import CloudRunnerLogger from '../../services/cloud-runner-logger';
import { AWSError } from './aws-error'; import { AWSError } from './aws-error';
import CloudRunner from '../../cloud-runner'; import CloudRunner from '../../cloud-runner';
import { CleanupCronFormation } from './cloud-formations/cleanup-cron-formation'; import { CleanupCronFormation } from './cloud-formations/cleanup-cron-formation';
import CloudRunnerOptions from '../../cloud-runner-options';
export class AWSJobStack { export class AWSJobStack {
private baseStackName: string; private baseStackName: string;
@ -163,13 +164,14 @@ export class AWSJobStack {
}, },
], ],
}; };
if (CloudRunnerOptions.useCleanupCron) {
try { try {
await CF.createStack(createCleanupStackInput).promise(); await CF.createStack(createCleanupStackInput).promise();
await CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise(); await CF.waitFor('stackCreateComplete', { StackName: createCleanupStackInput.StackName }).promise();
} catch (error) { } catch (error) {
await AWSError.handleStackCreationFailure(error, CF, taskDefStackName); await AWSError.handleStackCreationFailure(error, CF, taskDefStackName);
throw error; throw error;
}
} }
const taskDefResources = ( const taskDefResources = (

View File

@ -13,6 +13,7 @@ import { GarbageCollectionService } from './services/garbage-collection-service'
import { ProviderResource } from '../provider-resource'; import { ProviderResource } from '../provider-resource';
import { ProviderWorkflow } from '../provider-workflow'; import { ProviderWorkflow } from '../provider-workflow';
import { TaskService } from './services/task-service'; import { TaskService } from './services/task-service';
import CloudRunnerOptions from '../../cloud-runner-options';
class AWSBuildEnvironment implements ProviderInterface { class AWSBuildEnvironment implements ProviderInterface {
private baseStackName: string; private baseStackName: string;
@ -133,9 +134,11 @@ class AWSBuildEnvironment implements ProviderInterface {
await CF.deleteStack({ await CF.deleteStack({
StackName: taskDef.taskDefStackName, StackName: taskDef.taskDefStackName,
}).promise(); }).promise();
await CF.deleteStack({ if (CloudRunnerOptions.useCleanupCron) {
StackName: `${taskDef.taskDefStackName}-cleanup`, await CF.deleteStack({
}).promise(); StackName: `${taskDef.taskDefStackName}-cleanup`,
}).promise();
}
await CF.waitFor('stackDeleteComplete', { await CF.waitFor('stackDeleteComplete', {
StackName: taskDef.taskDefStackName, StackName: taskDef.taskDefStackName,

View File

@ -91,11 +91,13 @@ class GitHub {
}, },
}; };
if (status === `completed` && GitHub.endedDate !== undefined) { if (status === `completed`) {
GitHub.endedDate = new Date().toISOString(); if (GitHub.endedDate !== undefined) {
data.conclusion = result; GitHub.endedDate = new Date().toISOString();
}
// eslint-disable-next-line camelcase // eslint-disable-next-line camelcase
data.completed_at = GitHub.endedDate || GitHub.startedDate; data.completed_at = GitHub.endedDate || GitHub.startedDate;
data.conclusion = result;
} }
await octokit.request(`PATCH /repos/${owner}/${repo}/check-runs/${checkRunId}`, data); await octokit.request(`PATCH /repos/${owner}/${repo}/check-runs/${checkRunId}`, data);