@@ -83,21 +83,7 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp
8383 let tempPackagePath = utility . generateTemporaryFolderOrZipPath ( `${ process . env . RUNNER_TEMP } ` , false ) ;
8484 // exluding release.zip while creating zip for deployment.
8585 yield this . printFilesInDirectory ( webPackage ) ;
86- core . info ( "Print webPackage " + webPackage ) ;
87- core . info ( "Print tempPackagePath" + tempPackagePath ) ;
88- const releaseZipPath = path_1 . default . join ( webPackage , 'release.zip' ) ;
89- try {
90- yield ( 0 , promises_1 . unlink ) ( releaseZipPath ) ;
91- core . info ( `Deleted: ${ releaseZipPath } ` ) ;
92- }
93- catch ( err ) {
94- if ( err . code === 'ENOENT' ) {
95- core . info ( `File does not exist: ${ releaseZipPath } ` ) ;
96- }
97- else {
98- core . info ( "Not able to delete" ) ;
99- }
100- }
86+ yield this . deleteReleaseZip ( webPackage ) ;
10187 webPackage = ( yield zipUtility . archiveFolder ( webPackage , "" , tempPackagePath ) ) ;
10288 core . debug ( "Compressed folder into zip " + webPackage ) ;
10389 core . debug ( "Initiated deployment via kudu service for webapp package : " + webPackage ) ;
@@ -161,5 +147,46 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp
161147 core . setOutput ( 'webapp-url' , this . applicationURL ) ;
162148 } ) ;
163149 }
150+ deleteReleaseZip ( folderPath ) {
151+ return __awaiter ( this , void 0 , void 0 , function * ( ) {
152+ let isPhpApp = yield this . containsPhpFiles ( folderPath ) ;
153+ if ( ! isPhpApp ) {
154+ core . info ( "No PHP files found in the folder, skipping release.zip deletion." ) ;
155+ return ;
156+ }
157+ let releaseZipPath = path_1 . default . join ( folderPath , 'release.zip' ) ;
158+ try {
159+ yield ( 0 , promises_1 . unlink ) ( releaseZipPath ) ;
160+ core . info ( `Deleted: ${ releaseZipPath } ` ) ;
161+ }
162+ catch ( err ) {
163+ if ( err . code === 'ENOENT' ) {
164+ core . error ( `File does not exist: ${ releaseZipPath } ` ) ;
165+ }
166+ else {
167+ core . error ( `Error while deleting file ${ releaseZipPath } , Error: ${ err } ` ) ;
168+ }
169+ }
170+ } ) ;
171+ }
172+ containsPhpFiles ( directoryPath ) {
173+ return __awaiter ( this , void 0 , void 0 , function * ( ) {
174+ try {
175+ const files = fs . readdirSync ( directoryPath ) ;
176+ for ( const file of files ) {
177+ const fullPath = path_1 . default . join ( directoryPath , file ) ;
178+ const stat = fs . statSync ( fullPath ) ;
179+ if ( stat . isFile ( ) && path_1 . default . extname ( file ) . toLowerCase ( ) === '.php' ) {
180+ return true ;
181+ }
182+ }
183+ return false ;
184+ }
185+ catch ( error ) {
186+ console . error ( `Error checking directory: ${ error . message } ` ) ;
187+ return false ;
188+ }
189+ } ) ;
190+ }
164191}
165192exports . WebAppDeploymentProvider = WebAppDeploymentProvider ;
0 commit comments