@@ -478,16 +478,24 @@ class FullCloudFormationDeployment {
478478 const startTime = new Date ( ) ;
479479
480480 if ( this . update ) {
481- await this . cfn . updateStack ( {
482- StackName : this . stackName ,
483- ClientRequestToken : `update${ this . uuid } ` ,
484- ...this . commonPrepareOptions ( ) ,
485- ...this . commonExecuteOptions ( ) ,
486- } ) . promise ( ) ;
487-
488- const ret = await this . monitorDeployment ( startTime , undefined ) ;
489481 await this . updateTerminationProtection ( ) ;
490- return ret ;
482+
483+ try {
484+ await this . cfn . updateStack ( {
485+ StackName : this . stackName ,
486+ ClientRequestToken : `update${ this . uuid } ` ,
487+ ...this . commonPrepareOptions ( ) ,
488+ ...this . commonExecuteOptions ( ) ,
489+ } ) . promise ( ) ;
490+ } catch ( err : any ) {
491+ if ( err . message === 'No updates are to be performed.' ) {
492+ debug ( 'No updates are to be performed for stack %s' , this . stackName ) ;
493+ return { noOp : true , outputs : this . cloudFormationStack . outputs , stackArn : this . cloudFormationStack . stackId } ;
494+ }
495+ throw err ;
496+ }
497+
498+ return this . monitorDeployment ( startTime , undefined ) ;
491499 } else {
492500 // Take advantage of the fact that we can set termination protection during create
493501 const terminationProtection = this . stackArtifact . terminationProtection ?? false ;
0 commit comments