From 8c9e473b4eb23f6b02d7f4ed42632f32c83bb86c Mon Sep 17 00:00:00 2001 From: Yash Kumar Date: Wed, 2 Sep 2026 16:59:57 +0530 Subject: [PATCH 1/2] test: fix CI failures and improve local test robustness --- .../__test__/compose/env-file-literals.test.ts | 11 ++++++++++- .../__test__/setup/monitoring-setup.real.test.ts | 11 ++++++++++- packages/server/src/utils/builders/docker-file.ts | 8 ++++++-- packages/server/src/utils/filesystem/directory.ts | 6 +++++- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/apps/dokploy/__test__/compose/env-file-literals.test.ts b/apps/dokploy/__test__/compose/env-file-literals.test.ts index b7223ca4a..1c7ee65b0 100644 --- a/apps/dokploy/__test__/compose/env-file-literals.test.ts +++ b/apps/dokploy/__test__/compose/env-file-literals.test.ts @@ -54,7 +54,16 @@ const inputEncoding: Record = { DB_HOST: '"${UNDEFINED_HOST:-localhost}"', }; -describe("getCreateEnvFileCommand", () => { +const hasDocker = () => { + try { + execFileSync("docker", ["info"], { stdio: "ignore" }); + return true; + } catch { + return false; + } +}; + +describe.skipIf(!hasDocker())("getCreateEnvFileCommand", () => { it("writes special environment values that Docker Compose reads back literally", () => { mkdirSync(codePath, { recursive: true }); diff --git a/apps/dokploy/__test__/setup/monitoring-setup.real.test.ts b/apps/dokploy/__test__/setup/monitoring-setup.real.test.ts index 89b8b390d..590d67b21 100644 --- a/apps/dokploy/__test__/setup/monitoring-setup.real.test.ts +++ b/apps/dokploy/__test__/setup/monitoring-setup.real.test.ts @@ -154,7 +154,16 @@ const hasRealMonitoring = () => { ); }; -describe.skipIf(hasRealMonitoring())( +const hasDocker = () => { + try { + execSync("docker info", { stdio: "ignore" }); + return true; + } catch { + return false; + } +}; + +describe.skipIf(!hasDocker() || hasRealMonitoring() || !process.env.CI)( "setupMonitoring - legacy container cleanup (real docker)", () => { beforeEach(async () => { diff --git a/packages/server/src/utils/builders/docker-file.ts b/packages/server/src/utils/builders/docker-file.ts index b02156ee8..12cee9aa9 100644 --- a/packages/server/src/utils/builders/docker-file.ts +++ b/packages/server/src/utils/builders/docker-file.ts @@ -26,9 +26,13 @@ export const getDockerCommand = (application: ApplicationNested) => { try { const image = `${appName}`; - const dockerContextPath = getDockerContextPath(application); + const defaultContextPath = + dockerFilePath.substring(0, dockerFilePath.lastIndexOf("/") + 1) || "."; - const commandArgs = ["build", "-t", image, "-f", dockerFilePath, "."]; + const dockerContextPath = + getDockerContextPath(application) || defaultContextPath; + + const commandArgs = ["build", "-t", image, "-f", dockerFilePath, dockerContextPath]; if (dockerBuildStage) { commandArgs.push("--target", dockerBuildStage); diff --git a/packages/server/src/utils/filesystem/directory.ts b/packages/server/src/utils/filesystem/directory.ts index c5e354ac8..edbc77d67 100644 --- a/packages/server/src/utils/filesystem/directory.ts +++ b/packages/server/src/utils/filesystem/directory.ts @@ -138,10 +138,14 @@ export const getDockerContextPath = (application: Application) => { const { APPLICATIONS_PATH } = paths(!!application.serverId); const { appName, dockerContextPath } = application; + if (!dockerContextPath) { + return null; + } + return path.join( APPLICATIONS_PATH, appName, "code", - dockerContextPath || ".", + dockerContextPath, ); }; From c901260d81e12e216f3a3e93207f40fd0b0fdcbe Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 11:35:17 +0000 Subject: [PATCH 2/2] [autofix.ci] apply automated fixes --- packages/server/src/utils/builders/docker-file.ts | 9 ++++++++- packages/server/src/utils/filesystem/directory.ts | 7 +------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/server/src/utils/builders/docker-file.ts b/packages/server/src/utils/builders/docker-file.ts index 12cee9aa9..13bc05fc6 100644 --- a/packages/server/src/utils/builders/docker-file.ts +++ b/packages/server/src/utils/builders/docker-file.ts @@ -32,7 +32,14 @@ export const getDockerCommand = (application: ApplicationNested) => { const dockerContextPath = getDockerContextPath(application) || defaultContextPath; - const commandArgs = ["build", "-t", image, "-f", dockerFilePath, dockerContextPath]; + const commandArgs = [ + "build", + "-t", + image, + "-f", + dockerFilePath, + dockerContextPath, + ]; if (dockerBuildStage) { commandArgs.push("--target", dockerBuildStage); diff --git a/packages/server/src/utils/filesystem/directory.ts b/packages/server/src/utils/filesystem/directory.ts index edbc77d67..6865c576d 100644 --- a/packages/server/src/utils/filesystem/directory.ts +++ b/packages/server/src/utils/filesystem/directory.ts @@ -142,10 +142,5 @@ export const getDockerContextPath = (application: Application) => { return null; } - return path.join( - APPLICATIONS_PATH, - appName, - "code", - dockerContextPath, - ); + return path.join(APPLICATIONS_PATH, appName, "code", dockerContextPath); };