From 551f5f70f9750afe1bc5e888c1a61782f48e9e6a Mon Sep 17 00:00:00 2001 From: Akshay Kumar Date: Wed, 23 Jul 2025 18:58:27 +0530 Subject: [PATCH] Release/v2 delete release archive for all linux apps --- .../Providers/WebAppDeploymentProvider.js | 43 +++-------------- .../Providers/WebAppDeploymentProvider.ts | 48 +++---------------- 2 files changed, 12 insertions(+), 79 deletions(-) diff --git a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js index 8b9cfa39..596af232 100644 --- a/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js +++ b/lib/DeploymentProvider/Providers/WebAppDeploymentProvider.js @@ -77,8 +77,8 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp break; case packageUtility_1.PackageType.folder: let tempPackagePath = utility.generateTemporaryFolderOrZipPath(`${process.env.RUNNER_TEMP}`, false); - // excluding release.zip while creating zip for deployment if it's a Linux PHP app - yield this.deleteReleaseZipForLinuxPhpApps(webPackage); + // Excluding release.zip while creating zip for deployment if it's a Linux app + yield this.deleteReleaseZipForLinuxApps(webPackage); webPackage = (yield zipUtility.archiveFolder(webPackage, "", tempPackagePath)); core.debug("Compressed folder into zip " + webPackage); core.debug("Initiated deployment via kudu service for webapp package : " + webPackage); @@ -119,58 +119,27 @@ class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider_1.BaseWebApp core.setOutput('webapp-url', this.applicationURL); }); } - deleteReleaseZipForLinuxPhpApps(webPackage) { + deleteReleaseZipForLinuxApps(webPackage) { return __awaiter(this, void 0, void 0, function* () { - // Ignore if the app is not a Linux app or if release.zip does not exist + // Ignore if the app is not a Linux app if (!this.actionParams.isLinux) { core.debug(`It's not a Linux app, skipping deletion of release.zip`); return; } const releaseZipPath = path_1.default.join(webPackage, 'release.zip'); + // Check if release.zip exists if (!fs_1.default.existsSync(releaseZipPath)) { core.debug(`release.zip does not exist, skipping deletion: ${releaseZipPath}`); return; } - let isPhpApp = yield this.checkIfTheAppIsPhpApp(webPackage); - // No need to delete release.zip for non-PHP apps - if (!isPhpApp) { - core.debug(`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`); } catch (error) { - core.debug(`Error while deleting release.zip for Linux PHP app: ${error}`); - } - }); - } - checkIfTheAppIsPhpApp(webPackage) { - return __awaiter(this, void 0, void 0, function* () { - try { - // 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.debug(`Detected PHP app by presence of ${composerFile}`); - return true; - } - // Check if the webPackage folder contains a .php file - core.debug(`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.debug(`Detected PHP app by presence of .php files`); - } - else { - core.debug(`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.debug(`Error while deleting release.zip for Linux app: ${error}`); } - return false; }); } } diff --git a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts index 1937ca96..8dc166df 100644 --- a/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts +++ b/src/DeploymentProvider/Providers/WebAppDeploymentProvider.ts @@ -40,8 +40,8 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { case PackageType.folder: let tempPackagePath = utility.generateTemporaryFolderOrZipPath(`${process.env.RUNNER_TEMP}`, false); - // excluding release.zip while creating zip for deployment if it's a Linux PHP app - await this.deleteReleaseZipForLinuxPhpApps(webPackage); + // Excluding release.zip while creating zip for deployment if it's a Linux app + await this.deleteReleaseZipForLinuxApps(webPackage); webPackage = await zipUtility.archiveFolder(webPackage, "", tempPackagePath) as string; core.debug("Compressed folder into zip " + webPackage); @@ -85,9 +85,9 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { core.setOutput('webapp-url', this.applicationURL); } - private async deleteReleaseZipForLinuxPhpApps(webPackage: string): Promise { + private async deleteReleaseZipForLinuxApps(webPackage: string): Promise { - // Ignore if the app is not a Linux app or if release.zip does not exist + // Ignore if the app is not a Linux app if (!this.actionParams.isLinux) { core.debug(`It's not a Linux app, skipping deletion of release.zip`); return; @@ -95,54 +95,18 @@ export class WebAppDeploymentProvider extends BaseWebAppDeploymentProvider { const releaseZipPath = path.join(webPackage, 'release.zip'); + // Check if release.zip exists if (!fs.existsSync(releaseZipPath)) { core.debug(`release.zip does not exist, skipping deletion: ${releaseZipPath}`); return; } - let isPhpApp = await this.checkIfTheAppIsPhpApp(webPackage); - - // No need to delete release.zip for non-PHP apps - if (!isPhpApp) { - core.debug(`Not a PHP app, skipping deletion of release.zip: ${releaseZipPath}`); - return; - } - // Delete release.zip if it exists try { await fs.promises.unlink(releaseZipPath); core.debug(`Deleted release.zip`); } catch (error) { - core.debug(`Error while deleting release.zip for Linux PHP app: ${error}`); + core.debug(`Error while deleting release.zip for Linux app: ${error}`); } } - - private async checkIfTheAppIsPhpApp(webPackage: string): Promise { - - try { - // Check if the webPackage folder contains a composer.json file - const composerFile = 'composer.json'; - if (fs.existsSync(path.join(webPackage, composerFile))) { - core.debug(`Detected PHP app by presence of ${composerFile}`); - return true; - } - - // Check if the webPackage folder contains a .php file - core.debug(`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.debug(`Detected PHP app by presence of .php files`); - } else { - core.debug(`No .php files found in the web package directory.`); - } - - return hasPhpFiles; - } catch (error) { - core.debug(`Error while checking if the app is PHP: ${error}`); - } - - return false; - } - } \ No newline at end of file