style: format aws-task-runner.ts to satisfy Prettier
parent
c62465ad70
commit
0876bd4321
|
@ -343,6 +343,12 @@ class BuildParameters {
|
|||
githubRepo: (input_1.default.githubRepo ?? (await git_repo_1.GitRepoReader.GetRemote())) || 'game-ci/unity-builder',
|
||||
isCliMode: cli_1.Cli.isCliMode,
|
||||
awsStackName: cloud_runner_options_1.default.awsStackName,
|
||||
awsEndpoint: cloud_runner_options_1.default.awsEndpoint,
|
||||
awsCloudFormationEndpoint: cloud_runner_options_1.default.awsCloudFormationEndpoint,
|
||||
awsEcsEndpoint: cloud_runner_options_1.default.awsEcsEndpoint,
|
||||
awsKinesisEndpoint: cloud_runner_options_1.default.awsKinesisEndpoint,
|
||||
awsCloudWatchLogsEndpoint: cloud_runner_options_1.default.awsCloudWatchLogsEndpoint,
|
||||
awsS3Endpoint: cloud_runner_options_1.default.awsS3Endpoint,
|
||||
gitSha: input_1.default.gitSha,
|
||||
logId: (0, nanoid_1.customAlphabet)(cloud_runner_constants_1.default.alphabet, 9)(),
|
||||
buildGuid: cloud_runner_guid_1.default.generateGuid(input_1.default.runNumber, input_1.default.targetPlatform),
|
||||
|
@ -1270,6 +1276,24 @@ class CloudRunnerOptions {
|
|||
static get awsStackName() {
|
||||
return CloudRunnerOptions.getInput('awsStackName') || 'game-ci';
|
||||
}
|
||||
static get awsEndpoint() {
|
||||
return CloudRunnerOptions.getInput('awsEndpoint');
|
||||
}
|
||||
static get awsCloudFormationEndpoint() {
|
||||
return CloudRunnerOptions.getInput('awsCloudFormationEndpoint') || CloudRunnerOptions.awsEndpoint;
|
||||
}
|
||||
static get awsEcsEndpoint() {
|
||||
return CloudRunnerOptions.getInput('awsEcsEndpoint') || CloudRunnerOptions.awsEndpoint;
|
||||
}
|
||||
static get awsKinesisEndpoint() {
|
||||
return CloudRunnerOptions.getInput('awsKinesisEndpoint') || CloudRunnerOptions.awsEndpoint;
|
||||
}
|
||||
static get awsCloudWatchLogsEndpoint() {
|
||||
return CloudRunnerOptions.getInput('awsCloudWatchLogsEndpoint') || CloudRunnerOptions.awsEndpoint;
|
||||
}
|
||||
static get awsS3Endpoint() {
|
||||
return CloudRunnerOptions.getInput('awsS3Endpoint') || CloudRunnerOptions.awsEndpoint;
|
||||
}
|
||||
// ### ### ###
|
||||
// K8s
|
||||
// ### ### ###
|
||||
|
@ -1575,6 +1599,76 @@ class AWSBaseStack {
|
|||
exports.AWSBaseStack = AWSBaseStack;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 30161:
|
||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.AwsClientFactory = void 0;
|
||||
const client_cloudformation_1 = __nccwpck_require__(15650);
|
||||
const client_ecs_1 = __nccwpck_require__(18209);
|
||||
const client_kinesis_1 = __nccwpck_require__(25474);
|
||||
const client_cloudwatch_logs_1 = __nccwpck_require__(31573);
|
||||
const client_s3_1 = __nccwpck_require__(19250);
|
||||
const __1 = __nccwpck_require__(41359);
|
||||
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(66965));
|
||||
class AwsClientFactory {
|
||||
static getCloudFormation() {
|
||||
if (!this.cloudFormation) {
|
||||
this.cloudFormation = new client_cloudformation_1.CloudFormation({
|
||||
region: __1.Input.region,
|
||||
endpoint: cloud_runner_options_1.default.awsCloudFormationEndpoint,
|
||||
});
|
||||
}
|
||||
return this.cloudFormation;
|
||||
}
|
||||
static getECS() {
|
||||
if (!this.ecs) {
|
||||
this.ecs = new client_ecs_1.ECS({
|
||||
region: __1.Input.region,
|
||||
endpoint: cloud_runner_options_1.default.awsEcsEndpoint,
|
||||
});
|
||||
}
|
||||
return this.ecs;
|
||||
}
|
||||
static getKinesis() {
|
||||
if (!this.kinesis) {
|
||||
this.kinesis = new client_kinesis_1.Kinesis({
|
||||
region: __1.Input.region,
|
||||
endpoint: cloud_runner_options_1.default.awsKinesisEndpoint,
|
||||
});
|
||||
}
|
||||
return this.kinesis;
|
||||
}
|
||||
static getCloudWatchLogs() {
|
||||
if (!this.cloudWatchLogs) {
|
||||
this.cloudWatchLogs = new client_cloudwatch_logs_1.CloudWatchLogs({
|
||||
region: __1.Input.region,
|
||||
endpoint: cloud_runner_options_1.default.awsCloudWatchLogsEndpoint,
|
||||
});
|
||||
}
|
||||
return this.cloudWatchLogs;
|
||||
}
|
||||
static getS3() {
|
||||
if (!this.s3) {
|
||||
this.s3 = new client_s3_1.S3({
|
||||
region: __1.Input.region,
|
||||
endpoint: cloud_runner_options_1.default.awsS3Endpoint,
|
||||
forcePathStyle: true,
|
||||
});
|
||||
}
|
||||
return this.s3;
|
||||
}
|
||||
}
|
||||
exports.AwsClientFactory = AwsClientFactory;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 54837:
|
||||
|
@ -1901,6 +1995,7 @@ const command_hook_service_1 = __nccwpck_require__(96159);
|
|||
const follow_log_stream_service_1 = __nccwpck_require__(40266);
|
||||
const cloud_runner_options_1 = __importDefault(__nccwpck_require__(66965));
|
||||
const github_1 = __importDefault(__nccwpck_require__(83654));
|
||||
const aws_client_factory_1 = __nccwpck_require__(30161);
|
||||
class AWSTaskRunner {
|
||||
static async runTask(taskDef, environment, commands) {
|
||||
const cluster = taskDef.baseResources?.find((x) => x.LogicalResourceId === 'ECSCluster')?.PhysicalResourceId || '';
|
||||
|
@ -1935,7 +2030,7 @@ class AWSTaskRunner {
|
|||
cloud_runner_logger_1.default.log(JSON.stringify(runParameters.overrides.containerOverrides, undefined, 4));
|
||||
throw new Error(`Container Overrides length must be at most 8192`);
|
||||
}
|
||||
const task = await AWSTaskRunner.ECS.send(new client_ecs_1.RunTaskCommand(runParameters));
|
||||
const task = await aws_client_factory_1.AwsClientFactory.getECS().send(new client_ecs_1.RunTaskCommand(runParameters));
|
||||
const taskArn = task.tasks?.[0].taskArn || '';
|
||||
cloud_runner_logger_1.default.log('Cloud runner job is starting');
|
||||
await AWSTaskRunner.waitUntilTaskRunning(taskArn, cluster);
|
||||
|
@ -1978,7 +2073,7 @@ class AWSTaskRunner {
|
|||
static async waitUntilTaskRunning(taskArn, cluster) {
|
||||
try {
|
||||
await (0, client_ecs_1.waitUntilTasksRunning)({
|
||||
client: AWSTaskRunner.ECS,
|
||||
client: aws_client_factory_1.AwsClientFactory.getECS(),
|
||||
maxWaitTime: 300,
|
||||
minDelay: 5,
|
||||
maxDelay: 30,
|
||||
|
@ -1999,7 +2094,7 @@ class AWSTaskRunner {
|
|||
const maxDelayMs = 60000;
|
||||
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
||||
try {
|
||||
const tasks = await AWSTaskRunner.ECS.send(new client_ecs_1.DescribeTasksCommand({ cluster: clusterName, tasks: [taskArn] }));
|
||||
const tasks = await aws_client_factory_1.AwsClientFactory.getECS().send(new client_ecs_1.DescribeTasksCommand({ cluster: clusterName, tasks: [taskArn] }));
|
||||
if (tasks.tasks?.[0]) {
|
||||
return tasks.tasks?.[0];
|
||||
}
|
||||
|
@ -2044,7 +2139,7 @@ class AWSTaskRunner {
|
|||
static async handleLogStreamIteration(iterator, shouldReadLogs, output, shouldCleanup) {
|
||||
let records;
|
||||
try {
|
||||
records = await AWSTaskRunner.Kinesis.send(new client_kinesis_1.GetRecordsCommand({ ShardIterator: iterator }));
|
||||
records = await aws_client_factory_1.AwsClientFactory.getKinesis().send(new client_kinesis_1.GetRecordsCommand({ ShardIterator: iterator }));
|
||||
}
|
||||
catch (error) {
|
||||
const isThrottle = error?.name === 'ThrottlingException' || /rate exceeded/i.test(String(error?.message));
|
||||
|
@ -2093,10 +2188,10 @@ class AWSTaskRunner {
|
|||
return { shouldReadLogs, output, shouldCleanup };
|
||||
}
|
||||
static async getLogStream(kinesisStreamName) {
|
||||
return await AWSTaskRunner.Kinesis.send(new client_kinesis_1.DescribeStreamCommand({ StreamName: kinesisStreamName }));
|
||||
return await aws_client_factory_1.AwsClientFactory.getKinesis().send(new client_kinesis_1.DescribeStreamCommand({ StreamName: kinesisStreamName }));
|
||||
}
|
||||
static async getLogIterator(stream) {
|
||||
return ((await AWSTaskRunner.Kinesis.send(new client_kinesis_1.GetShardIteratorCommand({
|
||||
return ((await aws_client_factory_1.AwsClientFactory.getKinesis().send(new client_kinesis_1.GetShardIteratorCommand({
|
||||
ShardIteratorType: 'TRIM_HORIZON',
|
||||
StreamName: stream.StreamDescription?.StreamName ?? '',
|
||||
ShardId: stream.StreamDescription?.Shards?.[0]?.ShardId || '',
|
||||
|
@ -2869,8 +2964,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
const client_cloudformation_1 = __nccwpck_require__(15650);
|
||||
const client_ecs_1 = __nccwpck_require__(18209);
|
||||
const client_kinesis_1 = __nccwpck_require__(25474);
|
||||
const aws_task_runner_1 = __importDefault(__nccwpck_require__(15518));
|
||||
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(42864));
|
||||
const aws_job_stack_1 = __nccwpck_require__(70633);
|
||||
|
@ -2879,6 +2972,7 @@ 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__(66965));
|
||||
const aws_client_factory_1 = __nccwpck_require__(30161);
|
||||
class AWSBuildEnvironment {
|
||||
constructor(buildParameters) {
|
||||
this.baseStackName = buildParameters.awsStackName;
|
||||
|
@ -2926,15 +3020,14 @@ class AWSBuildEnvironment {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
defaultSecretsArray) {
|
||||
process.env.AWS_REGION = __1.Input.region;
|
||||
const CF = new client_cloudformation_1.CloudFormation({ region: __1.Input.region });
|
||||
const CF = aws_client_factory_1.AwsClientFactory.getCloudFormation();
|
||||
await new aws_base_stack_1.AWSBaseStack(this.baseStackName).setupBaseStack(CF);
|
||||
}
|
||||
async runTaskInWorkflow(buildGuid, image, commands, mountdir, workingdir, environment, secrets) {
|
||||
process.env.AWS_REGION = __1.Input.region;
|
||||
const ECS = new client_ecs_1.ECS({ region: __1.Input.region });
|
||||
const CF = new client_cloudformation_1.CloudFormation({ region: __1.Input.region });
|
||||
aws_task_runner_1.default.ECS = ECS;
|
||||
aws_task_runner_1.default.Kinesis = new client_kinesis_1.Kinesis({ region: __1.Input.region });
|
||||
aws_client_factory_1.AwsClientFactory.getECS();
|
||||
const CF = aws_client_factory_1.AwsClientFactory.getCloudFormation();
|
||||
aws_client_factory_1.AwsClientFactory.getKinesis();
|
||||
cloud_runner_logger_1.default.log(`AWS Region: ${CF.config.region}`);
|
||||
const entrypoint = ['/bin/sh'];
|
||||
const startTimeMs = Date.now();
|
||||
|
@ -3003,6 +3096,7 @@ const client_ecs_1 = __nccwpck_require__(18209);
|
|||
const input_1 = __importDefault(__nccwpck_require__(91933));
|
||||
const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(42864));
|
||||
const task_service_1 = __nccwpck_require__(67205);
|
||||
const aws_client_factory_1 = __nccwpck_require__(30161);
|
||||
class GarbageCollectionService {
|
||||
static isOlderThan1day(date) {
|
||||
const ageDate = new Date(date.getTime() - Date.now());
|
||||
|
@ -3010,9 +3104,9 @@ class GarbageCollectionService {
|
|||
}
|
||||
static async cleanup(deleteResources = false, OneDayOlderOnly = false) {
|
||||
process.env.AWS_REGION = input_1.default.region;
|
||||
const CF = new client_cloudformation_1.CloudFormation({ region: input_1.default.region });
|
||||
const ecs = new client_ecs_1.ECS({ region: input_1.default.region });
|
||||
const cwl = new client_cloudwatch_logs_1.CloudWatchLogs({ region: input_1.default.region });
|
||||
const CF = aws_client_factory_1.AwsClientFactory.getCloudFormation();
|
||||
const ecs = aws_client_factory_1.AwsClientFactory.getECS();
|
||||
const cwl = aws_client_factory_1.AwsClientFactory.getCloudWatchLogs();
|
||||
const taskDefinitionsInUse = new Array();
|
||||
const tasks = await task_service_1.TaskService.getTasks();
|
||||
for (const task of tasks) {
|
||||
|
@ -3036,8 +3130,7 @@ class GarbageCollectionService {
|
|||
return;
|
||||
}
|
||||
cloud_runner_logger_1.default.log(`Deleting ${element.StackName}`);
|
||||
const deleteStackInput = { StackName: element.StackName };
|
||||
await CF.send(new client_cloudformation_1.DeleteStackCommand(deleteStackInput));
|
||||
await CF.send(new client_cloudformation_1.DeleteStackCommand({ StackName: element.StackName }));
|
||||
}
|
||||
}
|
||||
const logGroups = await task_service_1.TaskService.getLogGroups();
|
||||
|
@ -3078,6 +3171,7 @@ const cloud_runner_logger_1 = __importDefault(__nccwpck_require__(42864));
|
|||
const base_stack_formation_1 = __nccwpck_require__(29643);
|
||||
const aws_task_runner_1 = __importDefault(__nccwpck_require__(15518));
|
||||
const cloud_runner_1 = __importDefault(__nccwpck_require__(79144));
|
||||
const aws_client_factory_1 = __nccwpck_require__(30161);
|
||||
class TaskService {
|
||||
static async watch() {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
|
@ -3089,7 +3183,7 @@ class TaskService {
|
|||
cloud_runner_logger_1.default.log(``);
|
||||
cloud_runner_logger_1.default.log(`List Cloud Formation Stacks`);
|
||||
process.env.AWS_REGION = input_1.default.region;
|
||||
const CF = new client_cloudformation_1.CloudFormation({ region: input_1.default.region });
|
||||
const CF = aws_client_factory_1.AwsClientFactory.getCloudFormation();
|
||||
const stacks = (await CF.send(new client_cloudformation_1.ListStacksCommand({}))).StackSummaries?.filter((_x) => _x.StackStatus !== 'DELETE_COMPLETE' && _x.TemplateDescription !== base_stack_formation_1.BaseStackFormation.baseStackDecription) || [];
|
||||
cloud_runner_logger_1.default.log(``);
|
||||
cloud_runner_logger_1.default.log(`Cloud Formation Stacks ${stacks.length}`);
|
||||
|
@ -3120,7 +3214,7 @@ class TaskService {
|
|||
cloud_runner_logger_1.default.log(``);
|
||||
cloud_runner_logger_1.default.log(`List Tasks`);
|
||||
process.env.AWS_REGION = input_1.default.region;
|
||||
const ecs = new client_ecs_1.ECS({ region: input_1.default.region });
|
||||
const ecs = aws_client_factory_1.AwsClientFactory.getECS();
|
||||
const clusters = (await ecs.send(new client_ecs_1.ListClustersCommand({}))).clusterArns || [];
|
||||
cloud_runner_logger_1.default.log(`Task Clusters ${clusters.length}`);
|
||||
for (const element of clusters) {
|
||||
|
@ -3155,7 +3249,7 @@ class TaskService {
|
|||
}
|
||||
static async awsDescribeJob(job) {
|
||||
process.env.AWS_REGION = input_1.default.region;
|
||||
const CF = new client_cloudformation_1.CloudFormation({ region: input_1.default.region });
|
||||
const CF = aws_client_factory_1.AwsClientFactory.getCloudFormation();
|
||||
try {
|
||||
const stack = (await CF.send(new client_cloudformation_1.ListStacksCommand({}))).StackSummaries?.find((_x) => _x.StackName === job) || undefined;
|
||||
const stackInfo = (await CF.send(new client_cloudformation_1.DescribeStackResourcesCommand({ StackName: job }))) || undefined;
|
||||
|
@ -3185,7 +3279,7 @@ class TaskService {
|
|||
static async getLogGroups() {
|
||||
const result = [];
|
||||
process.env.AWS_REGION = input_1.default.region;
|
||||
const ecs = new client_cloudwatch_logs_1.CloudWatchLogs();
|
||||
const ecs = aws_client_factory_1.AwsClientFactory.getCloudWatchLogs();
|
||||
let logStreamInput = {
|
||||
/* logGroupNamePrefix: 'game-ci' */
|
||||
};
|
||||
|
@ -3210,7 +3304,7 @@ class TaskService {
|
|||
}
|
||||
static async getLocks() {
|
||||
process.env.AWS_REGION = input_1.default.region;
|
||||
const s3 = new client_s3_1.S3({ region: input_1.default.region });
|
||||
const s3 = aws_client_factory_1.AwsClientFactory.getS3();
|
||||
const listRequest = {
|
||||
Bucket: cloud_runner_1.default.buildParameters.awsStackName,
|
||||
};
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue