Skip to content

Commit 0807b14

Browse files
committed
fix: print docker compose output to debug only
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
1 parent 765986d commit 0807b14

10 files changed

+31
-9
lines changed

dist/index.js

+3-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/post.js

+4-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index-runner.test.ts

+2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ describe("run", () => {
6464
cwd: "/current/working/dir",
6565
upFlags: [],
6666
services: [],
67+
debug: debugMock,
6768
});
6869

6970
expect(setFailedMock).not.toHaveBeenCalled();
@@ -92,6 +93,7 @@ describe("run", () => {
9293
cwd: "/current/working/dir",
9394
upFlags: [],
9495
services: ["web"],
96+
debug: debugMock,
9597
});
9698
expect(setFailedMock).not.toHaveBeenCalled();
9799
});

src/index-runner.ts

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export async function run(): Promise<void> {
4141
cwd: inputs.cwd,
4242
upFlags: inputs.upFlags,
4343
services: inputs.services,
44+
debug: loggerService.debug,
4445
});
4546
loggerService.info("docker compose service(s) are up");
4647
} catch (error) {

src/index.test.ts

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ describe("index", () => {
5959
composeFlags: [],
6060
upFlags: [],
6161
cwd: "/current/working/dir",
62+
debug: debugMock,
6263
});
6364

6465
expect(setFailedMock).not.toHaveBeenCalled();

src/post-runner.test.ts

+4
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,15 @@ describe("run", () => {
5050
composeFlags: [],
5151
cwd: "/current/working/dir",
5252
services: [],
53+
debug: debugMock,
5354
});
5455

5556
expect(downMock).toHaveBeenCalledWith({
5657
composeFiles: ["docker-compose.yml"],
5758
composeFlags: [],
5859
cwd: "/current/working/dir",
5960
downFlags: [],
61+
debug: debugMock,
6062
});
6163

6264
expect(debugMock).toHaveBeenCalledWith("docker compose logs:\ntest logs");
@@ -95,13 +97,15 @@ describe("run", () => {
9597
composeFlags: [],
9698
cwd: "/current/working/dir",
9799
services: [],
100+
debug: debugMock,
98101
});
99102

100103
expect(downMock).toHaveBeenCalledWith({
101104
composeFiles: ["docker-compose.yml"],
102105
composeFlags: [],
103106
cwd: "/current/working/dir",
104107
downFlags: [],
108+
debug: debugMock,
105109
});
106110

107111
expect(debugMock).toHaveBeenCalledWith("docker compose error:\ntest logs error");

src/post-runner.ts

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export async function run(): Promise<void> {
2020
composeFlags: inputs.composeFlags,
2121
cwd: inputs.cwd,
2222
services: inputs.services,
23+
debug: loggerService.debug,
2324
});
2425

2526
if (error) {
@@ -33,6 +34,7 @@ export async function run(): Promise<void> {
3334
composeFlags: inputs.composeFlags,
3435
cwd: inputs.cwd,
3536
downFlags: inputs.downFlags,
37+
debug: loggerService.debug,
3638
});
3739

3840
loggerService.info("docker compose is down");

src/post.test.ts

+2
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,15 @@ describe("post", () => {
4646
composeFlags: [],
4747
cwd: "/current/working/dir",
4848
services: [],
49+
debug: debugMock,
4950
});
5051

5152
expect(downMock).toHaveBeenCalledWith({
5253
composeFiles: ["docker-compose.yml"],
5354
composeFlags: [],
5455
cwd: "/current/working/dir",
5556
downFlags: [],
57+
debug: debugMock,
5658
});
5759

5860
expect(debugMock).toHaveBeenNthCalledWith(1, "docker compose logs:\ntest logs");

src/services/docker-compose.service.test.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ describe("DockerComposeService", () => {
3030
composeFlags: [],
3131
upFlags: [],
3232
cwd: "/current/working/dir",
33+
debug: jest.fn(),
3334
};
3435

3536
await service.up(upInputs);
@@ -38,8 +39,8 @@ describe("DockerComposeService", () => {
3839
composeOptions: [],
3940
commandOptions: [],
4041
config: ["docker-compose.yml"],
41-
log: true,
4242
cwd: "/current/working/dir",
43+
callback: expect.any(Function),
4344
});
4445
});
4546

@@ -50,6 +51,7 @@ describe("DockerComposeService", () => {
5051
composeFlags: [],
5152
upFlags: ["--build"],
5253
cwd: "/current/working/dir",
54+
debug: jest.fn(),
5355
};
5456

5557
await service.up(upInputs);
@@ -58,8 +60,8 @@ describe("DockerComposeService", () => {
5860
composeOptions: [],
5961
commandOptions: ["--build"],
6062
config: ["docker-compose.yml"],
61-
log: true,
6263
cwd: "/current/working/dir",
64+
callback: expect.any(Function),
6365
});
6466
});
6567
});
@@ -71,6 +73,7 @@ describe("DockerComposeService", () => {
7173
composeFlags: [],
7274
downFlags: ["--volumes", "--remove-orphans"],
7375
cwd: "/current/working/dir",
76+
debug: jest.fn(),
7477
};
7578

7679
await service.down(downInputs);
@@ -79,19 +82,21 @@ describe("DockerComposeService", () => {
7982
composeOptions: [],
8083
commandOptions: ["--volumes", "--remove-orphans"],
8184
config: [],
82-
log: true,
8385
cwd: "/current/working/dir",
86+
callback: expect.any(Function),
8487
});
8588
});
8689
});
8790

8891
describe("logs", () => {
8992
it("should call logs with correct options", async () => {
93+
const debugMock = jest.fn();
9094
const logsInputs: LogsInputs = {
9195
composeFiles: ["docker-compose.yml"],
9296
services: ["helloworld2", "helloworld3"],
9397
composeFlags: [],
9498
cwd: "/current/working/dir",
99+
debug: debugMock,
95100
};
96101

97102
logsMock.mockResolvedValue({ exitCode: 0, err: "", out: "logs" });
@@ -101,9 +106,9 @@ describe("DockerComposeService", () => {
101106
expect(dockerCompose.logs).toHaveBeenCalledWith(["helloworld2", "helloworld3"], {
102107
composeOptions: [],
103108
config: ["docker-compose.yml"],
104-
log: true,
105109
cwd: "/current/working/dir",
106110
follow: false,
111+
callback: expect.any(Function),
107112
});
108113
});
109114
});

src/services/docker-compose.service.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ type OptionsInputs = {
1212
composeFiles: Inputs["composeFiles"];
1313
composeFlags: Inputs["composeFlags"];
1414
cwd: Inputs["cwd"];
15+
debug: (message: string) => void;
1516
};
1617

1718
export type UpInputs = OptionsInputs & { upFlags: Inputs["upFlags"]; services: Inputs["services"] };
@@ -63,12 +64,13 @@ export class DockerComposeService {
6364
composeFiles,
6465
composeFlags,
6566
cwd,
67+
debug,
6668
}: OptionsInputs): IDockerComposeOptions {
6769
return {
6870
config: composeFiles,
69-
log: true,
7071
composeOptions: composeFlags,
7172
cwd: cwd,
73+
callback: (chunk) => debug(chunk.toString()),
7274
};
7375
}
7476
}

0 commit comments

Comments
 (0)