Skip AWS cleanup formation - linear runner doesn't often get stuck - recommend garbage collection mode for game-ci
							parent
							
								
									2d1c67732b
								
							
						
					
					
						commit
						2037184670
					
				|  | @ -1106,25 +1106,6 @@ exports.AWSError = AWSError; | |||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||||
| }) : (function(o, m, k, k2) { | ||||
|     if (k2 === undefined) k2 = k; | ||||
|     o[k2] = m[k]; | ||||
| })); | ||||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||||
|     Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||||
| }) : function(o, v) { | ||||
|     o["default"] = v; | ||||
| }); | ||||
| var __importStar = (this && this.__importStar) || function (mod) { | ||||
|     if (mod && mod.__esModule) return mod; | ||||
|     var result = {}; | ||||
|     if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||||
|     __setModuleDefault(result, mod); | ||||
|     return result; | ||||
| }; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|  | @ -1141,7 +1122,6 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); | |||
| exports.AWSJobStack = void 0; | ||||
| const aws_templates_1 = __webpack_require__(6436); | ||||
| const cloud_runner_logger_1 = __importDefault(__webpack_require__(22855)); | ||||
| const fs = __importStar(__webpack_require__(35747)); | ||||
| const aws_error_1 = __webpack_require__(83683); | ||||
| class AWSJobStack { | ||||
|     constructor(baseStackName) { | ||||
|  | @ -1151,8 +1131,6 @@ class AWSJobStack { | |||
|         return __awaiter(this, void 0, void 0, function* () { | ||||
|             const taskDefStackName = `${this.baseStackName}-${buildGuid}`; | ||||
|             let taskDefCloudFormation = aws_templates_1.AWSTemplates.readTaskCloudFormationTemplate(); | ||||
|             const cleanupTaskDefStackName = `${taskDefStackName}-cleanup`; | ||||
|             const cleanupCloudFormation = fs.readFileSync(`${__dirname}/cloud-formations/cloudformation-stack-ttl.yml`, 'utf8'); | ||||
|             for (const secret of secrets) { | ||||
|                 secret.ParameterKey = `${buildGuid.replace(/[^\dA-Za-z]/g, '')}${secret.ParameterKey.replace(/[^\dA-Za-z]/g, '')}`; | ||||
|                 if (typeof secret.ParameterValue == 'number') { | ||||
|  | @ -1223,29 +1201,6 @@ class AWSJobStack { | |||
|                     Parameters: parameters, | ||||
|                 }).promise(); | ||||
|                 cloud_runner_logger_1.default.log('Creating cloud runner job'); | ||||
|                 yield CF.createStack({ | ||||
|                     StackName: cleanupTaskDefStackName, | ||||
|                     TemplateBody: cleanupCloudFormation, | ||||
|                     Capabilities: ['CAPABILITY_IAM'], | ||||
|                     Parameters: [ | ||||
|                         { | ||||
|                             ParameterKey: 'StackName', | ||||
|                             ParameterValue: taskDefStackName, | ||||
|                         }, | ||||
|                         { | ||||
|                             ParameterKey: 'DeleteStackName', | ||||
|                             ParameterValue: cleanupTaskDefStackName, | ||||
|                         }, | ||||
|                         { | ||||
|                             ParameterKey: 'TTL', | ||||
|                             ParameterValue: '100', | ||||
|                         }, | ||||
|                         { | ||||
|                             ParameterKey: 'EnvironmentName', | ||||
|                             ParameterValue: this.baseStackName, | ||||
|                         }, | ||||
|                     ], | ||||
|                 }).promise(); | ||||
|                 yield CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise(); | ||||
|             } | ||||
|             catch (error) { | ||||
|  | @ -1259,8 +1214,6 @@ class AWSJobStack { | |||
|             return { | ||||
|                 taskDefStackName, | ||||
|                 taskDefCloudFormation, | ||||
|                 taskDefStackNameTTL: cleanupTaskDefStackName, | ||||
|                 ttlCloudFormation: cleanupCloudFormation, | ||||
|                 taskDefResources, | ||||
|                 baseResources, | ||||
|             }; | ||||
|  | @ -1655,16 +1608,10 @@ class AWSBuildEnvironment { | |||
|             yield CF.deleteStack({ | ||||
|                 StackName: taskDef.taskDefStackName, | ||||
|             }).promise(); | ||||
|             yield CF.deleteStack({ | ||||
|                 StackName: taskDef.taskDefStackNameTTL, | ||||
|             }).promise(); | ||||
|             yield CF.waitFor('stackDeleteComplete', { | ||||
|                 StackName: taskDef.taskDefStackName, | ||||
|             }).promise(); | ||||
|             yield CF.waitFor('stackDeleteComplete', { | ||||
|                 StackName: taskDef.taskDefStackNameTTL, | ||||
|             }).promise(); | ||||
|             cloud_runner_logger_1.default.log(`Deleted Stacks: ${taskDef.taskDefStackName}, ${taskDef.taskDefStackNameTTL}`); | ||||
|             cloud_runner_logger_1.default.log(`Deleted Stack: ${taskDef.taskDefStackName}`); | ||||
|             cloud_runner_logger_1.default.log('Cleanup complete'); | ||||
|         }); | ||||
|     } | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -3,7 +3,6 @@ import CloudRunnerAWSTaskDef from './cloud-runner-aws-task-def'; | |||
| import CloudRunnerSecret from '../services/cloud-runner-secret'; | ||||
| import { AWSTemplates } from './aws-templates'; | ||||
| import CloudRunnerLogger from '../services/cloud-runner-logger'; | ||||
| import * as fs from 'fs'; | ||||
| import { AWSError } from './aws-error'; | ||||
| 
 | ||||
| export class AWSJobStack { | ||||
|  | @ -24,8 +23,6 @@ export class AWSJobStack { | |||
|   ): Promise<CloudRunnerAWSTaskDef> { | ||||
|     const taskDefStackName = `${this.baseStackName}-${buildGuid}`; | ||||
|     let taskDefCloudFormation = AWSTemplates.readTaskCloudFormationTemplate(); | ||||
|     const cleanupTaskDefStackName = `${taskDefStackName}-cleanup`; | ||||
|     const cleanupCloudFormation = fs.readFileSync(`${__dirname}/cloud-formations/cloudformation-stack-ttl.yml`, 'utf8'); | ||||
|     for (const secret of secrets) { | ||||
|       secret.ParameterKey = `${buildGuid.replace(/[^\dA-Za-z]/g, '')}${secret.ParameterKey.replace( | ||||
|         /[^\dA-Za-z]/g, | ||||
|  | @ -113,29 +110,6 @@ export class AWSJobStack { | |||
|         Parameters: parameters, | ||||
|       }).promise(); | ||||
|       CloudRunnerLogger.log('Creating cloud runner job'); | ||||
|       await CF.createStack({ | ||||
|         StackName: cleanupTaskDefStackName, | ||||
|         TemplateBody: cleanupCloudFormation, | ||||
|         Capabilities: ['CAPABILITY_IAM'], | ||||
|         Parameters: [ | ||||
|           { | ||||
|             ParameterKey: 'StackName', | ||||
|             ParameterValue: taskDefStackName, | ||||
|           }, | ||||
|           { | ||||
|             ParameterKey: 'DeleteStackName', | ||||
|             ParameterValue: cleanupTaskDefStackName, | ||||
|           }, | ||||
|           { | ||||
|             ParameterKey: 'TTL', | ||||
|             ParameterValue: '100', | ||||
|           }, | ||||
|           { | ||||
|             ParameterKey: 'EnvironmentName', | ||||
|             ParameterValue: this.baseStackName, | ||||
|           }, | ||||
|         ], | ||||
|       }).promise(); | ||||
|       await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise(); | ||||
|     } catch (error) { | ||||
|       await AWSError.handleStackCreationFailure( | ||||
|  | @ -160,8 +134,6 @@ export class AWSJobStack { | |||
|     return { | ||||
|       taskDefStackName, | ||||
|       taskDefCloudFormation, | ||||
|       taskDefStackNameTTL: cleanupTaskDefStackName, | ||||
|       ttlCloudFormation: cleanupCloudFormation, | ||||
|       taskDefResources, | ||||
|       baseResources, | ||||
|     }; | ||||
|  |  | |||
|  | @ -3,8 +3,6 @@ import * as AWS from 'aws-sdk'; | |||
| class CloudRunnerAWSTaskDef { | ||||
|   public taskDefStackName!: string; | ||||
|   public taskDefCloudFormation!: string; | ||||
|   public taskDefStackNameTTL!: string; | ||||
|   public ttlCloudFormation!: string; | ||||
|   public taskDefResources: AWS.CloudFormation.StackResources | undefined; | ||||
|   public baseResources: AWS.CloudFormation.StackResources | undefined; | ||||
| } | ||||
|  |  | |||
|  | @ -87,17 +87,11 @@ class AWSBuildEnvironment implements CloudRunnerProviderInterface { | |||
|     await CF.deleteStack({ | ||||
|       StackName: taskDef.taskDefStackName, | ||||
|     }).promise(); | ||||
|     await CF.deleteStack({ | ||||
|       StackName: taskDef.taskDefStackNameTTL, | ||||
|     }).promise(); | ||||
| 
 | ||||
|     await CF.waitFor('stackDeleteComplete', { | ||||
|       StackName: taskDef.taskDefStackName, | ||||
|     }).promise(); | ||||
|     await CF.waitFor('stackDeleteComplete', { | ||||
|       StackName: taskDef.taskDefStackNameTTL, | ||||
|     }).promise(); | ||||
|     CloudRunnerLogger.log(`Deleted Stacks: ${taskDef.taskDefStackName}, ${taskDef.taskDefStackNameTTL}`); | ||||
|     CloudRunnerLogger.log(`Deleted Stack: ${taskDef.taskDefStackName}`); | ||||
|     CloudRunnerLogger.log('Cleanup complete'); | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue