From 0807b1498774c2bdc127b25ed2c3ece56809976b Mon Sep 17 00:00:00 2001 From: Emilien Escalle Date: Thu, 30 Jan 2025 19:02:26 +0100 Subject: [PATCH] fix: print docker compose output to debug only Signed-off-by: Emilien Escalle --- dist/index.js | 5 +++-- dist/post.js | 6 ++++-- src/index-runner.test.ts | 2 ++ src/index-runner.ts | 1 + src/index.test.ts | 1 + src/post-runner.test.ts | 4 ++++ src/post-runner.ts | 2 ++ src/post.test.ts | 2 ++ src/services/docker-compose.service.test.ts | 13 +++++++++---- src/services/docker-compose.service.ts | 4 +++- 10 files changed, 31 insertions(+), 9 deletions(-) diff --git a/dist/index.js b/dist/index.js index 122182a..053e9c2 100644 --- a/dist/index.js +++ b/dist/index.js @@ -33177,6 +33177,7 @@ async function run() { cwd: inputs.cwd, upFlags: inputs.upFlags, services: inputs.services, + debug: loggerService.debug, }); loggerService.info("docker compose service(s) are up"); } @@ -33312,12 +33313,12 @@ class DockerComposeService { output: out, }; } - getCommonOptions({ composeFiles, composeFlags, cwd, }) { + getCommonOptions({ composeFiles, composeFlags, cwd, debug, }) { return { config: composeFiles, - log: true, composeOptions: composeFlags, cwd: cwd, + callback: (chunk) => debug(chunk.toString()), }; } } diff --git a/dist/post.js b/dist/post.js index d1c2148..b36364b 100644 --- a/dist/post.js +++ b/dist/post.js @@ -26339,6 +26339,7 @@ async function run() { composeFlags: inputs.composeFlags, cwd: inputs.cwd, services: inputs.services, + debug: loggerService.debug, }); if (error) { loggerService.debug("docker compose error:\n" + error); @@ -26349,6 +26350,7 @@ async function run() { composeFlags: inputs.composeFlags, cwd: inputs.cwd, downFlags: inputs.downFlags, + debug: loggerService.debug, }); loggerService.info("docker compose is down"); } @@ -26399,12 +26401,12 @@ class DockerComposeService { output: out, }; } - getCommonOptions({ composeFiles, composeFlags, cwd, }) { + getCommonOptions({ composeFiles, composeFlags, cwd, debug, }) { return { config: composeFiles, - log: true, composeOptions: composeFlags, cwd: cwd, + callback: (chunk) => debug(chunk.toString()), }; } } diff --git a/src/index-runner.test.ts b/src/index-runner.test.ts index accac2f..7b6083a 100644 --- a/src/index-runner.test.ts +++ b/src/index-runner.test.ts @@ -64,6 +64,7 @@ describe("run", () => { cwd: "/current/working/dir", upFlags: [], services: [], + debug: debugMock, }); expect(setFailedMock).not.toHaveBeenCalled(); @@ -92,6 +93,7 @@ describe("run", () => { cwd: "/current/working/dir", upFlags: [], services: ["web"], + debug: debugMock, }); expect(setFailedMock).not.toHaveBeenCalled(); }); diff --git a/src/index-runner.ts b/src/index-runner.ts index 988adff..3646b24 100644 --- a/src/index-runner.ts +++ b/src/index-runner.ts @@ -41,6 +41,7 @@ export async function run(): Promise { cwd: inputs.cwd, upFlags: inputs.upFlags, services: inputs.services, + debug: loggerService.debug, }); loggerService.info("docker compose service(s) are up"); } catch (error) { diff --git a/src/index.test.ts b/src/index.test.ts index 1613dec..8410d2a 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -59,6 +59,7 @@ describe("index", () => { composeFlags: [], upFlags: [], cwd: "/current/working/dir", + debug: debugMock, }); expect(setFailedMock).not.toHaveBeenCalled(); diff --git a/src/post-runner.test.ts b/src/post-runner.test.ts index 55849d7..5cbc43a 100644 --- a/src/post-runner.test.ts +++ b/src/post-runner.test.ts @@ -50,6 +50,7 @@ describe("run", () => { composeFlags: [], cwd: "/current/working/dir", services: [], + debug: debugMock, }); expect(downMock).toHaveBeenCalledWith({ @@ -57,6 +58,7 @@ describe("run", () => { composeFlags: [], cwd: "/current/working/dir", downFlags: [], + debug: debugMock, }); expect(debugMock).toHaveBeenCalledWith("docker compose logs:\ntest logs"); @@ -95,6 +97,7 @@ describe("run", () => { composeFlags: [], cwd: "/current/working/dir", services: [], + debug: debugMock, }); expect(downMock).toHaveBeenCalledWith({ @@ -102,6 +105,7 @@ describe("run", () => { composeFlags: [], cwd: "/current/working/dir", downFlags: [], + debug: debugMock, }); expect(debugMock).toHaveBeenCalledWith("docker compose error:\ntest logs error"); diff --git a/src/post-runner.ts b/src/post-runner.ts index 1ce14f0..ddbe22d 100644 --- a/src/post-runner.ts +++ b/src/post-runner.ts @@ -20,6 +20,7 @@ export async function run(): Promise { composeFlags: inputs.composeFlags, cwd: inputs.cwd, services: inputs.services, + debug: loggerService.debug, }); if (error) { @@ -33,6 +34,7 @@ export async function run(): Promise { composeFlags: inputs.composeFlags, cwd: inputs.cwd, downFlags: inputs.downFlags, + debug: loggerService.debug, }); loggerService.info("docker compose is down"); diff --git a/src/post.test.ts b/src/post.test.ts index a18c7ba..126d463 100644 --- a/src/post.test.ts +++ b/src/post.test.ts @@ -46,6 +46,7 @@ describe("post", () => { composeFlags: [], cwd: "/current/working/dir", services: [], + debug: debugMock, }); expect(downMock).toHaveBeenCalledWith({ @@ -53,6 +54,7 @@ describe("post", () => { composeFlags: [], cwd: "/current/working/dir", downFlags: [], + debug: debugMock, }); expect(debugMock).toHaveBeenNthCalledWith(1, "docker compose logs:\ntest logs"); diff --git a/src/services/docker-compose.service.test.ts b/src/services/docker-compose.service.test.ts index 9c7e665..b1a167d 100644 --- a/src/services/docker-compose.service.test.ts +++ b/src/services/docker-compose.service.test.ts @@ -30,6 +30,7 @@ describe("DockerComposeService", () => { composeFlags: [], upFlags: [], cwd: "/current/working/dir", + debug: jest.fn(), }; await service.up(upInputs); @@ -38,8 +39,8 @@ describe("DockerComposeService", () => { composeOptions: [], commandOptions: [], config: ["docker-compose.yml"], - log: true, cwd: "/current/working/dir", + callback: expect.any(Function), }); }); @@ -50,6 +51,7 @@ describe("DockerComposeService", () => { composeFlags: [], upFlags: ["--build"], cwd: "/current/working/dir", + debug: jest.fn(), }; await service.up(upInputs); @@ -58,8 +60,8 @@ describe("DockerComposeService", () => { composeOptions: [], commandOptions: ["--build"], config: ["docker-compose.yml"], - log: true, cwd: "/current/working/dir", + callback: expect.any(Function), }); }); }); @@ -71,6 +73,7 @@ describe("DockerComposeService", () => { composeFlags: [], downFlags: ["--volumes", "--remove-orphans"], cwd: "/current/working/dir", + debug: jest.fn(), }; await service.down(downInputs); @@ -79,19 +82,21 @@ describe("DockerComposeService", () => { composeOptions: [], commandOptions: ["--volumes", "--remove-orphans"], config: [], - log: true, cwd: "/current/working/dir", + callback: expect.any(Function), }); }); }); describe("logs", () => { it("should call logs with correct options", async () => { + const debugMock = jest.fn(); const logsInputs: LogsInputs = { composeFiles: ["docker-compose.yml"], services: ["helloworld2", "helloworld3"], composeFlags: [], cwd: "/current/working/dir", + debug: debugMock, }; logsMock.mockResolvedValue({ exitCode: 0, err: "", out: "logs" }); @@ -101,9 +106,9 @@ describe("DockerComposeService", () => { expect(dockerCompose.logs).toHaveBeenCalledWith(["helloworld2", "helloworld3"], { composeOptions: [], config: ["docker-compose.yml"], - log: true, cwd: "/current/working/dir", follow: false, + callback: expect.any(Function), }); }); }); diff --git a/src/services/docker-compose.service.ts b/src/services/docker-compose.service.ts index f467ae1..55bf368 100644 --- a/src/services/docker-compose.service.ts +++ b/src/services/docker-compose.service.ts @@ -12,6 +12,7 @@ type OptionsInputs = { composeFiles: Inputs["composeFiles"]; composeFlags: Inputs["composeFlags"]; cwd: Inputs["cwd"]; + debug: (message: string) => void; }; export type UpInputs = OptionsInputs & { upFlags: Inputs["upFlags"]; services: Inputs["services"] }; @@ -63,12 +64,13 @@ export class DockerComposeService { composeFiles, composeFlags, cwd, + debug, }: OptionsInputs): IDockerComposeOptions { return { config: composeFiles, - log: true, composeOptions: composeFlags, cwd: cwd, + callback: (chunk) => debug(chunk.toString()), }; } }