From 3606843e44f685964c0a0164c54ebe509ab14428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 5 Sep 2024 14:50:41 +0200 Subject: [PATCH] fixup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/rich-cheetahs-vanish.md | 6 ++++++ .../deprecated/util/DockerContainerRunner.ts | 20 +++++++++++++------ .../stages/generate/DockerContainerRunner.ts | 17 ++++++++++------ 3 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 .changeset/rich-cheetahs-vanish.md diff --git a/.changeset/rich-cheetahs-vanish.md b/.changeset/rich-cheetahs-vanish.md new file mode 100644 index 0000000000..26cc55b917 --- /dev/null +++ b/.changeset/rich-cheetahs-vanish.md @@ -0,0 +1,6 @@ +--- +'@backstage/backend-common': patch +'@backstage/plugin-techdocs-node': patch +--- + +Internal fixes to match `testcontainers` update diff --git a/packages/backend-common/src/deprecated/util/DockerContainerRunner.ts b/packages/backend-common/src/deprecated/util/DockerContainerRunner.ts index ea576e4a3a..a9f5fb0432 100644 --- a/packages/backend-common/src/deprecated/util/DockerContainerRunner.ts +++ b/packages/backend-common/src/deprecated/util/DockerContainerRunner.ts @@ -64,11 +64,19 @@ export class DockerContainerRunner implements ContainerRunner { if (pullImage) { await new Promise((resolve, reject) => { this.dockerClient.pull(imageName, pullOptions, (err, stream) => { - if (err) return reject(err); - stream.pipe(logStream, { end: false }); - stream.on('end', () => resolve()); - stream.on('error', (error: Error) => reject(error)); - return undefined; + if (err) { + reject(err); + } else if (!stream) { + reject( + new Error( + 'Unexpeected error: no stream returned from Docker while pulling image', + ), + ); + } else { + stream.pipe(logStream, { end: false }); + stream.on('end', () => resolve()); + stream.on('error', (error: Error) => reject(error)); + } }); }); } @@ -99,7 +107,7 @@ export class DockerContainerRunner implements ContainerRunner { } // Create docker environment variables array - const Env = []; + const Env = new Array(); for (const [key, value] of Object.entries(envVars)) { Env.push(`${key}=${value}`); } diff --git a/plugins/techdocs-node/src/stages/generate/DockerContainerRunner.ts b/plugins/techdocs-node/src/stages/generate/DockerContainerRunner.ts index b7cb7f1c86..a9fe55d85f 100644 --- a/plugins/techdocs-node/src/stages/generate/DockerContainerRunner.ts +++ b/plugins/techdocs-node/src/stages/generate/DockerContainerRunner.ts @@ -76,12 +76,17 @@ export class DockerContainerRunner { this.dockerClient.pull(imageName, {}, (err, stream) => { if (err) { reject(err); - return; + } else if (!stream) { + reject( + new Error( + 'Unexpeected error: no stream returned from Docker while pulling image', + ), + ); + } else { + pipeline(stream, logStream, { end: false }) + .then(resolve) + .catch(reject); } - - pipeline(stream, logStream, { end: false }) - .then(resolve) - .catch(reject); }); }); } @@ -112,7 +117,7 @@ export class DockerContainerRunner { } // Create docker environment variables array - const Env = []; + const Env = new Array(); for (const [key, value] of Object.entries(envVars)) { Env.push(`${key}=${value}`); }