From 9692462ba3d65221a50793877508be0894a60cf2 Mon Sep 17 00:00:00 2001 From: Matthias Fehr Date: Wed, 19 Feb 2025 11:53:11 +0100 Subject: [PATCH] support binary data when copying secret files Signed-off-by: Matthias Fehr --- src/buildx/build.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/buildx/build.ts b/src/buildx/build.ts index e81b7d5..c6f8d83 100644 --- a/src/buildx/build.ts +++ b/src/buildx/build.ts @@ -139,16 +139,16 @@ export class Build { } public static resolveSecret(kvp: string, file: boolean): [string, string] { - const [key, _value] = Build.parseSecretKvp(kvp); - let value = _value; + const [key, value] = Build.parseSecretKvp(kvp); + const secretFile = Context.tmpName({tmpdir: Context.tmpDir()}); if (file) { if (!fs.existsSync(value)) { throw new Error(`secret file ${value} not found`); } - value = fs.readFileSync(value, {encoding: 'utf-8'}); + fs.copyFileSync(value, secretFile); + } else { + fs.writeFileSync(secretFile, value); } - const secretFile = Context.tmpName({tmpdir: Context.tmpDir()}); - fs.writeFileSync(secretFile, value); return [key, secretFile]; }