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

View File

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

View File

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

View File

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