@@ -11,7 +11,7 @@ import {
1111} from '@aws-sdk/client-codebuild' ;
1212import { SpanStatusCode , trace } from '@opentelemetry/api' ;
1313import type { Prisma } from '@prisma/client' ;
14- import { AWSCommon } from './common ' ;
14+ import { AWSVars } from './vars ' ;
1515import { S3 } from './s3' ;
1616import {
1717 type BuildForPrefix ,
@@ -48,19 +48,10 @@ export type BuildForCodeBuild = Prisma.buildGetPayload<{
4848
4949const tracer = trace . getTracer ( 'CodeBuild' ) ;
5050
51- export class CodeBuild extends AWSCommon {
51+ export class CodeBuild {
5252 public codeBuildClient ;
5353 public constructor ( ) {
54- super ( ) ;
55- this . codeBuildClient = CodeBuild . getCodeBuildClient ( ) ;
56- }
57-
58- /**
59- * Configure and get the CodeBuild Client
60- * @return \Aws\CodeBuild\CodeBuildClient
61- */
62- public static getCodeBuildClient ( ) {
63- return new CodeBuildClient ( { region : AWSCommon . getArtifactsBucketRegion ( ) } ) ;
54+ this . codeBuildClient = new CodeBuildClient ( { region : AWSVars . artifactsRegion ( ) } ) ;
6455 }
6556
6657 /**
@@ -93,9 +84,9 @@ export class CodeBuild extends AWSCommon {
9384 'code-build.build-id' : build . id ,
9485 'code-build.version-code' : versionCode
9586 } ) ;
96- const artifacts_bucket = CodeBuild . getArtifactsBucket ( ) ;
97- const secretsBucket = CodeBuild . getSecretsBucket ( ) ;
98- const buildApp = CodeBuild . getCodeBuildProjectName ( 'build_app' ) ;
87+ const artifacts_bucket = AWSVars . artifacts ( ) ;
88+ const secretsBucket = AWSVars . secrets ( ) ;
89+ const buildApp = AWSVars . projectName ( 'build_app' ) ;
9990 const buildPath = this . getBuildPath ( job ) ;
10091 const artifactPath = getArtifactPath ( job , 'codebuild-output' ) ;
10192 span . setAttribute ( 'code-build.artifact-path' , artifactPath ) ;
@@ -182,7 +173,7 @@ export class CodeBuild extends AWSCommon {
182173 } ,
183174 {
184175 name : 'SCRIPT_S3' ,
185- value : S3 . getBuildScriptPath ( )
176+ value : AWSVars . scriptsPath ( )
186177 }
187178 ] ;
188179 const adjustedEnvironmentArray = this . addEnvironmentToArray (
@@ -206,7 +197,7 @@ export class CodeBuild extends AWSCommon {
206197 environmentVariablesOverride : adjustedEnvironmentArray ,
207198 sourceTypeOverride : 'NO_SOURCE' ,
208199 computeTypeOverride : computeType ,
209- imageOverride : CodeBuild . getCodeBuildImageRepo ( ) + ':' + imageTag
200+ imageOverride : AWSVars . imageRepo ( ) + ':' + imageTag
210201 } )
211202 ) ;
212203 const buildId = result . build ?. id ;
@@ -340,11 +331,11 @@ export class CodeBuild extends AWSCommon {
340331 const build = release . build ;
341332 const job = build . job ;
342333 const buildPath = this . getBuildPath ( job ) ;
343- const artifacts_bucket = CodeBuild . getArtifactsBucket ( ) ;
334+ const artifacts_bucket = AWSVars . artifacts ( ) ;
344335 const artifactPath = getArtifactPath ( job , 'codebuild-output' , true ) ;
345- const secretsBucket = CodeBuild . getSecretsBucket ( ) ;
346- const scriptureEarthKey = CodeBuild . getScriptureEarthKey ( ) ;
347- const publishApp = CodeBuild . getCodeBuildProjectName ( 'publish_app' ) ;
336+ const secretsBucket = AWSVars . secrets ( ) ;
337+ const scriptureEarthKey = AWSVars . scriptureEarthKey ( ) ;
338+ const publishApp = AWSVars . projectName ( 'publish_app' ) ;
348339 const promoteFrom = release . promote_from ?? '' ;
349340
350341 const sourceLocation = this . getSourceLocation ( build ) ;
@@ -404,7 +395,7 @@ export class CodeBuild extends AWSCommon {
404395 } ,
405396 {
406397 name : 'SCRIPT_S3' ,
407- value : S3 . getBuildScriptPath ( )
398+ value : AWSVars . scriptsPath ( )
408399 } ,
409400 {
410401 name : 'SCRIPTURE_EARTH_KEY' ,
@@ -462,7 +453,7 @@ export class CodeBuild extends AWSCommon {
462453 select : { id : true ; artifact_files : true ; job : { select : { id : true ; app_id : true } } } ;
463454 } >
464455 ) {
465- const appEnv = S3 . getAppEnv ( ) ;
456+ const appEnv = AWSVars . appEnv ( ) ;
466457 const apkFilename = getArtifactFilename ( / \. a p k $ / , build . artifact_files ) ;
467458 const sourceLocation = S3 . getS3Arn ( build , appEnv , apkFilename ) ;
468459 return sourceLocation ;
@@ -474,8 +465,8 @@ export class CodeBuild extends AWSCommon {
474465 * @return string - s3:// url format for s3 artifacts folder
475466 */
476467 private getArtifactsLocation ( build : BuildForPrefix ) {
477- const artifactsBucket = CodeBuild . getArtifactsBucket ( ) ;
478- const artifactFolder = getBasePrefixUrl ( build , CodeBuild . getAppEnv ( ) ) ;
468+ const artifactsBucket = AWSVars . artifacts ( ) ;
469+ const artifactFolder = getBasePrefixUrl ( build , AWSVars . appEnv ( ) ) ;
479470 return `s3://${ artifactsBucket } /${ artifactFolder } ` ;
480471 }
481472
@@ -494,8 +485,8 @@ export class CodeBuild extends AWSCommon {
494485 cache : ProjectCache ,
495486 source : ProjectSource
496487 ) {
497- const project_name = CodeBuild . getCodeBuildProjectName ( base_name ) ;
498- const artifacts_bucket = CodeBuild . getArtifactsBucket ( ) ;
488+ const project_name = AWSVars . projectName ( base_name ) ;
489+ const artifacts_bucket = AWSVars . artifacts ( ) ;
499490 return await this . codeBuildClient . send (
500491 new CreateProjectCommand ( {
501492 artifacts : {
@@ -511,7 +502,7 @@ export class CodeBuild extends AWSCommon {
511502 environment : {
512503 // REQUIRED
513504 computeType : 'BUILD_GENERAL1_SMALL' , // REQUIRED
514- image : CodeBuild . getCodeBuildImageRepo ( ) + ':' + CodeBuild . getCodeBuildImageTag ( ) , // REQUIRED
505+ image : AWSVars . imageRepo ( ) + ':' + AWSVars . imageTag ( ) , // REQUIRED
515506 privilegedMode : false ,
516507 type : 'LINUX_CONTAINER' // REQUIRED
517508 } ,
@@ -523,15 +514,15 @@ export class CodeBuild extends AWSCommon {
523514 }
524515
525516 public static getConsoleTextUrl ( baseName : string , guid : string ) {
526- const projectName = CodeBuild . getCodeBuildProjectName ( baseName ) ;
527- const region = AWSCommon . getArtifactsBucketRegion ( ) ?? 'us-east-1' ;
517+ const projectName = AWSVars . projectName ( baseName ) ;
518+ const region = AWSVars . artifactsRegion ( ) ?? 'us-east-1' ;
528519 const regionUrl = `https://console.aws.amazon.com/cloudwatch/home?region=${ region } ` ;
529520 const taskExtension = `#logEvent:group=/aws/codebuild/${ projectName } ;stream=${ guid } ` ;
530521 return `${ regionUrl } ${ taskExtension } ` ;
531522 }
532523 public static getCodeBuildUrl ( baseName : string , guid : string ) {
533- const projectName = CodeBuild . getCodeBuildProjectName ( baseName ) ;
534- const region = AWSCommon . getArtifactsBucketRegion ( ) ?? 'us-east-1' ;
524+ const projectName = AWSVars . projectName ( baseName ) ;
525+ const region = AWSVars . artifactsRegion ( ) ?? 'us-east-1' ;
535526 const regionUrl = `https://console.aws.amazon.com/codebuild/home?region=${ region } ` ;
536527 const taskExtension = `#/builds/${ projectName } :${ guid } /view/new` ;
537528 return `${ regionUrl } ${ taskExtension } ` ;
@@ -545,7 +536,7 @@ export class CodeBuild extends AWSCommon {
545536 public async projectExists ( baseName : string ) {
546537 let exists = false ;
547538 try {
548- const projectName = CodeBuild . getCodeBuildProjectName ( baseName ) ;
539+ const projectName = AWSVars . projectName ( baseName ) ;
549540 trace ?. getActiveSpan ( ) ?. setAttribute ( 'code-build.project-name' , projectName ) ;
550541 const result = await this . codeBuildClient . send (
551542 new BatchGetProjectsCommand ( {
@@ -590,7 +581,7 @@ export class CodeBuild extends AWSCommon {
590581 private getImageTag ( environmentVariables : { name : string ; value : string } [ ] ) {
591582 return (
592583 environmentVariables . find ( ( { name } ) => name === 'BUILD_IMAGE_TAG' ) ?. value ??
593- CodeBuild . getCodeBuildImageTag ( )
584+ AWSVars . imageTag ( )
594585 ) ;
595586 }
596587
0 commit comments