From 8e23964750a7ad96d2763838a726b33ca746bdbb Mon Sep 17 00:00:00 2001 From: Akshay Kumar Date: Mon, 21 Jul 2025 11:08:33 +0530 Subject: [PATCH 1/4] checking php files recursively --- .../Providers/WebAppDeploymentProvider.js | 17 +++++++++++++--- .../Providers/WebAppDeploymentProvider.ts | 20 ++++++++++++++++--- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js index 11ce6fd4..b7775baa 100644 --- a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js +++ b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js @@ -124,6 +124,7 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp const releaseZipPath = path_1.default.join(webPackage, 'release.zip'); // Ignore if the app is not a Linux app or if release.zip does not exist if (!this.actionParams.isLinux || !fs_1.default.existsSync(releaseZipPath)) { + core.info(`release.zip does not exist or not a Linux app, skipping deletion: ${releaseZipPath}`); return; } let isPhpApp = yield this.checkIfTheAppIsPhpApp(webPackage); @@ -134,7 +135,7 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp // Delete release.zip if it exists try { yield fs_1.default.promises.unlink(releaseZipPath); - core.debug(`Deleted release.zip`); + core.info(`Deleted release.zip`); } catch (error) { core.debug(`Error while deleting release.zip for Linux PHP app: ${error}`); @@ -147,14 +148,24 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp // Check if the webPackage folder contains a composer.json file const composerFile = 'composer.json'; if (fs_1.default.existsSync(path_1.default.join(webPackage, composerFile))) { + core.info(`Detected PHP app by presence of ${composerFile}`); return true; } // Check if the webPackage folder contains a .php file - const hasPhpFiles = fs_1.default.readdirSync(webPackage).some(file => file.endsWith('.php')); + core.info(`Checking for .php files in the web package directory: ${webPackage}`); + const hasPhpFiles = fs_1.default.readdirSync(webPackage, { withFileTypes: true, recursive: true }).some(file => file.isFile() && file.name.endsWith('.php')); + // const entries = fs.readdirSync(webPackage, { withFileTypes: true, recursive: true }); + // return entries.some(entry => entry.isFile() && entry.name.endsWith('.php')); + if (hasPhpFiles) { + core.info(`Detected PHP app by presence of .php files`); + } + else { + core.info(`No .php files found in the web package directory.`); + } return hasPhpFiles; } catch (error) { - core.debug(`Error while checking if the app is PHP: ${error}`); + core.info(`Error while checking if the app is PHP: ${error}`); } return false; }); diff --git a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts index 3bb37281..f6fc39e0 100644 --- a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts +++ b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts @@ -9,6 +9,7 @@ import { addAnnotation } from 'azure-actions-appservice-rest/Utilities/Annotatio import fs from 'fs'; import path from 'path'; +import { dir } from 'console'; export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { @@ -90,6 +91,7 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { // Ignore if the app is not a Linux app or if release.zip does not exist if (!this.actionParams.isLinux || !fs.existsSync(releaseZipPath)) { + core.info(`release.zip does not exist or not a Linux app, skipping deletion: ${releaseZipPath}`); return; } @@ -104,7 +106,7 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { try { await fs.promises.unlink(releaseZipPath); - core.debug(`Deleted release.zip`); + core.info(`Deleted release.zip`); } catch (error) { core.debug(`Error while deleting release.zip for Linux PHP app: ${error}`); } @@ -116,17 +118,29 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { // Check if the webPackage folder contains a composer.json file const composerFile = 'composer.json'; if (fs.existsSync(path.join(webPackage, composerFile))) { + core.info(`Detected PHP app by presence of ${composerFile}`); return true; } // Check if the webPackage folder contains a .php file - const hasPhpFiles = fs.readdirSync(webPackage).some(file => file.endsWith('.php')); + core.info(`Checking for .php files in the web package directory: ${webPackage}`); + const hasPhpFiles = fs.readdirSync(webPackage, {withFileTypes: true, recursive: true}).some(file => file.isFile() && file.name.endsWith('.php')); + + // const entries = fs.readdirSync(webPackage, { withFileTypes: true, recursive: true }); + // return entries.some(entry => entry.isFile() && entry.name.endsWith('.php')); + + if (hasPhpFiles) { + core.info(`Detected PHP app by presence of .php files`); + } else { + core.info(`No .php files found in the web package directory.`); + } return hasPhpFiles; } catch (error) { - core.debug(`Error while checking if the app is PHP: ${error}`); + core.info(`Error while checking if the app is PHP: ${error}`); } return false; } + } \ No newline at end of file From b226b26608f28f74b54a7407b08fbd38d6a5be9e Mon Sep 17 00:00:00 2001 From: Akshay Kumar Date: Mon, 21 Jul 2025 11:08:33 +0530 Subject: [PATCH 2/4] checking php files recursively --- .../Providers/WebAppDeploymentProvider.js | 16 +++++++++++++--- .../Providers/WebAppDeploymentProvider.ts | 18 +++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js index 11ce6fd4..1a6e8896 100644 --- a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js +++ b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js @@ -124,17 +124,19 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp const releaseZipPath = path_1.default.join(webPackage, 'release.zip'); // Ignore if the app is not a Linux app or if release.zip does not exist if (!this.actionParams.isLinux || !fs_1.default.existsSync(releaseZipPath)) { + core.info(`release.zip does not exist or not a Linux app, skipping deletion: ${releaseZipPath}`); return; } let isPhpApp = yield this.checkIfTheAppIsPhpApp(webPackage); // No need to delete release.zip for non-PHP apps if (!isPhpApp) { + core.info(`Not a PHP app, skipping deletion of release.zip: ${releaseZipPath}`); return; } // Delete release.zip if it exists try { yield fs_1.default.promises.unlink(releaseZipPath); - core.debug(`Deleted release.zip`); + core.info(`Deleted release.zip`); } catch (error) { core.debug(`Error while deleting release.zip for Linux PHP app: ${error}`); @@ -147,14 +149,22 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp // Check if the webPackage folder contains a composer.json file const composerFile = 'composer.json'; if (fs_1.default.existsSync(path_1.default.join(webPackage, composerFile))) { + core.info(`Detected PHP app by presence of ${composerFile}`); return true; } // Check if the webPackage folder contains a .php file - const hasPhpFiles = fs_1.default.readdirSync(webPackage).some(file => file.endsWith('.php')); + core.info(`Checking for .php files in the web package directory: ${webPackage}`); + const hasPhpFiles = fs_1.default.readdirSync(webPackage, { withFileTypes: true, recursive: true }).some(file => file.isFile() && file.name.endsWith('.php')); + if (hasPhpFiles) { + core.info(`Detected PHP app by presence of .php files`); + } + else { + core.info(`No .php files found in the web package directory.`); + } return hasPhpFiles; } catch (error) { - core.debug(`Error while checking if the app is PHP: ${error}`); + core.info(`Error while checking if the app is PHP: ${error}`); } return false; }); diff --git a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts index 3bb37281..680e1924 100644 --- a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts +++ b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts @@ -9,6 +9,7 @@ import { addAnnotation } from 'azure-actions-appservice-rest/Utilities/Annotatio import fs from 'fs'; import path from 'path'; +import { dir } from 'console'; export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { @@ -90,6 +91,7 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { // Ignore if the app is not a Linux app or if release.zip does not exist if (!this.actionParams.isLinux || !fs.existsSync(releaseZipPath)) { + core.info(`release.zip does not exist or not a Linux app, skipping deletion: ${releaseZipPath}`); return; } @@ -97,6 +99,7 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { // No need to delete release.zip for non-PHP apps if (!isPhpApp) { + core.info(`Not a PHP app, skipping deletion of release.zip: ${releaseZipPath}`); return; } @@ -104,7 +107,7 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { try { await fs.promises.unlink(releaseZipPath); - core.debug(`Deleted release.zip`); + core.info(`Deleted release.zip`); } catch (error) { core.debug(`Error while deleting release.zip for Linux PHP app: ${error}`); } @@ -116,17 +119,26 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { // Check if the webPackage folder contains a composer.json file const composerFile = 'composer.json'; if (fs.existsSync(path.join(webPackage, composerFile))) { + core.info(`Detected PHP app by presence of ${composerFile}`); return true; } // Check if the webPackage folder contains a .php file - const hasPhpFiles = fs.readdirSync(webPackage).some(file => file.endsWith('.php')); + core.info(`Checking for .php files in the web package directory: ${webPackage}`); + const hasPhpFiles = fs.readdirSync(webPackage, {withFileTypes: true, recursive: true}).some(file => file.isFile() && file.name.endsWith('.php')); + + if (hasPhpFiles) { + core.info(`Detected PHP app by presence of .php files`); + } else { + core.info(`No .php files found in the web package directory.`); + } return hasPhpFiles; } catch (error) { - core.debug(`Error while checking if the app is PHP: ${error}`); + core.info(`Error while checking if the app is PHP: ${error}`); } return false; } + } \ No newline at end of file From 85bbea90adc67e8fc04a2d0d0dafdbb2862dcc4e Mon Sep 17 00:00:00 2001 From: Akshay Kumar Date: Mon, 21 Jul 2025 11:20:52 +0530 Subject: [PATCH 3/4] adding a comment --- src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts index 680e1924..ae99c852 100644 --- a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts +++ b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts @@ -104,7 +104,6 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { } // Delete release.zip if it exists - try { await fs.promises.unlink(releaseZipPath); core.info(`Deleted release.zip`); From 35789b49a5e04f067655a9d3de6fe87cb4167e22 Mon Sep 17 00:00:00 2001 From: Akshay Kumar Date: Mon, 21 Jul 2025 11:55:26 +0530 Subject: [PATCH 4/4] adding logs --- .../Providers/WebAppDeploymentProvider.js | 10 +++++++--- .../Providers/WebAppDeploymentProvider.ts | 12 +++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js index 1a6e8896..390d5199 100644 --- a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js +++ b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js @@ -121,10 +121,14 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp } deleteReleaseZipForLinuxPhpApps(webPackage) { return __awaiter(this, void 0, void 0, function* () { - const releaseZipPath = path_1.default.join(webPackage, 'release.zip'); // Ignore if the app is not a Linux app or if release.zip does not exist - if (!this.actionParams.isLinux || !fs_1.default.existsSync(releaseZipPath)) { - core.info(`release.zip does not exist or not a Linux app, skipping deletion: ${releaseZipPath}`); + if (!this.actionParams.isLinux) { + core.info(`It's not a Linux app, skipping deletion of release.zip`); + return; + } + const releaseZipPath = path_1.default.join(webPackage, 'release.zip'); + if (!fs_1.default.existsSync(releaseZipPath)) { + core.info(`release.zip does not exist, skipping deletion: ${releaseZipPath}`); return; } let isPhpApp = yield this.checkIfTheAppIsPhpApp(webPackage); diff --git a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts index ae99c852..be8baf82 100644 --- a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts +++ b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts @@ -87,11 +87,17 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { } private async deleteReleaseZipForLinuxPhpApps(webPackage: string): Promise { - const releaseZipPath = path.join(webPackage, 'release.zip'); // Ignore if the app is not a Linux app or if release.zip does not exist - if (!this.actionParams.isLinux || !fs.existsSync(releaseZipPath)) { - core.info(`release.zip does not exist or not a Linux app, skipping deletion: ${releaseZipPath}`); + if (!this.actionParams.isLinux) { + core.info(`It's not a Linux app, skipping deletion of release.zip`); + return; + } + + const releaseZipPath = path.join(webPackage, 'release.zip'); + + if (!fs.existsSync(releaseZipPath)) { + core.info(`release.zip does not exist, skipping deletion: ${releaseZipPath}`); return; }