From 2f6f1b19e77692a09b71dbe11a019cda2509bb16 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Tue, 1 Jul 2025 23:17:27 -0600 Subject: [PATCH] fix: prevent removal of current directory in deployment logs - Updated the removeLastTenDeployments function to check if logPath is not the current directory before executing the removal command. - Enhanced the unlink operation to ensure it only attempts to delete valid log paths. --- packages/server/src/services/deployment.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/server/src/services/deployment.ts b/packages/server/src/services/deployment.ts index bc7ef42fa..fb91c1c26 100644 --- a/packages/server/src/services/deployment.ts +++ b/packages/server/src/services/deployment.ts @@ -538,9 +538,11 @@ const removeLastTenDeployments = async ( await removeRollbackById(oldDeployment.rollbackId); } - command += ` - rm -rf ${logPath}; - `; + if (logPath !== ".") { + command += ` + rm -rf ${logPath}; + `; + } await removeDeployment(oldDeployment.deploymentId); } @@ -551,7 +553,11 @@ const removeLastTenDeployments = async ( await removeRollbackById(oldDeployment.rollbackId); } const logPath = path.join(oldDeployment.logPath); - if (existsSync(logPath) && !oldDeployment.errorMessage) { + if ( + existsSync(logPath) && + !oldDeployment.errorMessage && + logPath !== "." + ) { await fsPromises.unlink(logPath); } await removeDeployment(oldDeployment.deploymentId);