From 9e634fed1357bcc16ee2f0a437c2b59a024dc2ad Mon Sep 17 00:00:00 2001 From: Carl Mercier Date: Thu, 6 Oct 2022 15:38:15 -0400 Subject: [PATCH 1/2] Inject GIT SHA into build process As discussed at https://github.com/docker/hub-feedback/issues/600 --- apps/api/src/lib/buildPacks/common.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/api/src/lib/buildPacks/common.ts b/apps/api/src/lib/buildPacks/common.ts index 98a387f2f..47a4526e3 100644 --- a/apps/api/src/lib/buildPacks/common.ts +++ b/apps/api/src/lib/buildPacks/common.ts @@ -596,7 +596,8 @@ export async function buildImage({ } const dockerFile = isCache ? `${dockerFileLocation}-cache` : `${dockerFileLocation}` const cache = `${applicationId}:${tag}${isCache ? '-cache' : ''}` - await executeDockerCmd({ debug, buildId, applicationId, dockerId, command: `docker build --progress plain -f ${workdir}/${dockerFile} -t ${cache} ${workdir}` }) + const git_sha = `git rev-parse HEAD` + await executeDockerCmd({ debug, buildId, applicationId, dockerId, command: `docker build --progress plain -f ${workdir}/${dockerFile} -t ${cache} --build-arg SOURCE_COMMIT=${git_sha} ${workdir}` }) const { status } = await prisma.build.findUnique({ where: { id: buildId } }) if (status === 'canceled') { throw new Error('Deployment canceled.') @@ -758,4 +759,4 @@ export async function buildCacheImageWithCargo(data, imageForBuild) { Dockerfile.push('RUN cargo chef cook --release --recipe-path recipe.json'); await fs.writeFile(`${workdir}/Dockerfile-cache`, Dockerfile.join('\n')); await buildImage({ ...data, isCache: true }); -} \ No newline at end of file +} From 7090c1657576287eee43c8a19e2ca2021b7b7a79 Mon Sep 17 00:00:00 2001 From: Carl Mercier Date: Thu, 6 Oct 2022 15:42:57 -0400 Subject: [PATCH 2/2] Update common.ts --- apps/api/src/lib/buildPacks/common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/src/lib/buildPacks/common.ts b/apps/api/src/lib/buildPacks/common.ts index 47a4526e3..3c04e0cb7 100644 --- a/apps/api/src/lib/buildPacks/common.ts +++ b/apps/api/src/lib/buildPacks/common.ts @@ -596,7 +596,7 @@ export async function buildImage({ } const dockerFile = isCache ? `${dockerFileLocation}-cache` : `${dockerFileLocation}` const cache = `${applicationId}:${tag}${isCache ? '-cache' : ''}` - const git_sha = `git rev-parse HEAD` + const { git_sha } = await asyncExecShell(`git rev-parse HEAD`) await executeDockerCmd({ debug, buildId, applicationId, dockerId, command: `docker build --progress plain -f ${workdir}/${dockerFile} -t ${cache} --build-arg SOURCE_COMMIT=${git_sha} ${workdir}` }) const { status } = await prisma.build.findUnique({ where: { id: buildId } }) if (status === 'canceled') {