From bfdef4064b4a172a2027f3813ab88f38728d61c0 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 20 Jul 2025 17:21:38 -0700 Subject: Fixes --- worker/scripts/build_docker_image.ts | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'worker/scripts/build_docker_image.ts') diff --git a/worker/scripts/build_docker_image.ts b/worker/scripts/build_docker_image.ts index f29bd61..31bd260 100755 --- a/worker/scripts/build_docker_image.ts +++ b/worker/scripts/build_docker_image.ts @@ -10,7 +10,7 @@ import { Command, } from '@emprespresso/pengueno'; import type { BuildDockerImageJob, BuildDockerImageJobProps } from '@emprespresso/ci_model'; -import { Bitwarden, type LoginItem } from '@emprespresso/ci_worker'; +import { Bitwarden, getPathOnHost, type LoginItem } from '@emprespresso/ci_worker'; import path from 'path'; const job = getRequiredEnvVars([ @@ -78,9 +78,14 @@ await LogMetricTraceable.ofLogTraceable(_logJob) .map(async (tEitherWithAuthdRegistryBuildJob) => { const eitherWithAuthdRegistryBuildJob = await tEitherWithAuthdRegistryBuildJob.get(); tEitherWithAuthdRegistryBuildJob.trace.trace('finally building the image~ (◕ᴗ◕✿)'); - const eitherBuiltImage = await eitherWithAuthdRegistryBuildJob.flatMapAsync((job) => + const context = await eitherWithAuthdRegistryBuildJob.flatMapAsync((j) => getPathOnHost(j.arguments.context)); + const buildJobArgs = eitherWithAuthdRegistryBuildJob.joinRight(context, (context, job) => ({ + ...job.arguments, + context, + })); + const eitherBuiltImage = await buildJobArgs.flatMapAsync((buildJobArgs) => tEitherWithAuthdRegistryBuildJob - .move(getBuildCommand(job.arguments)) + .move(getBuildCommand(buildJobArgs)) .map((tBuildCmd) => getStdout(tBuildCmd, { env: {}, @@ -123,18 +128,7 @@ function getDockerLoginCommand(username: string, registry: string): Command { } function getBuildCommand({ buildTarget, imageTag, dockerfile, context }: BuildDockerImageJobProps): Command { - return [ - 'cat', - path.join(context, dockerfile), - '|', - 'docker', - 'build', - '--target', - buildTarget, - '-t', - imageTag, - '-', - ]; + return ['docker', 'build', '--target', buildTarget, '-t', imageTag, '-f', dockerfile, context]; } function getPushCommand(tag: string): Command { -- cgit v1.2.3-70-g09d2