fix: print docker compose output to debug only

Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
This commit is contained in:
Emilien Escalle 2025-01-30 19:02:26 +01:00 committed by Emilien Escalle
parent 765986dd3e
commit 0807b14987
10 changed files with 31 additions and 9 deletions

5
dist/index.js generated vendored
View File

@ -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()),
};
}
}

6
dist/post.js generated vendored
View File

@ -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()),
};
}
}

View File

@ -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();
});

View File

@ -41,6 +41,7 @@ export async function run(): Promise<void> {
cwd: inputs.cwd,
upFlags: inputs.upFlags,
services: inputs.services,
debug: loggerService.debug,
});
loggerService.info("docker compose service(s) are up");
} catch (error) {

View File

@ -59,6 +59,7 @@ describe("index", () => {
composeFlags: [],
upFlags: [],
cwd: "/current/working/dir",
debug: debugMock,
});
expect(setFailedMock).not.toHaveBeenCalled();

View File

@ -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");

View File

@ -20,6 +20,7 @@ export async function run(): Promise<void> {
composeFlags: inputs.composeFlags,
cwd: inputs.cwd,
services: inputs.services,
debug: loggerService.debug,
});
if (error) {
@ -33,6 +34,7 @@ export async function run(): Promise<void> {
composeFlags: inputs.composeFlags,
cwd: inputs.cwd,
downFlags: inputs.downFlags,
debug: loggerService.debug,
});
loggerService.info("docker compose is down");

View File

@ -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");

View File

@ -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),
});
});
});

View File

@ -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()),
};
}
}