From 80de47047cfadbb4d15d09d0176ac6582552fe9f Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Mon, 1 Dec 2025 20:42:52 -0600 Subject: [PATCH] bci2: Add buildArgs argument The `buildArgs` argument to `buildContainerImage2` accepts a list of arguments that will be passed as `--build-arg` values to the `buildah build` command. For example, ```groovy buildContainerImage2(buildArgs: ['FOO=bar']) ``` Would result in a command like ```sh buildah build --build-arg FOO=bar ... ``` --- vars/buildContainerImage2.groovy | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/vars/buildContainerImage2.groovy b/vars/buildContainerImage2.groovy index 478d917..73c0448 100644 --- a/vars/buildContainerImage2.groovy +++ b/vars/buildContainerImage2.groovy @@ -10,6 +10,7 @@ def call(args) { def defaultBranch = args?.defaultBranch def pi = args?.pi def resources = args?.resources + def buildArgs = args?.buildArgs properties([ pipelineTriggers([cron(schedule ?: 'H H H * *')]) @@ -47,6 +48,7 @@ def call(args) { registry: registry, arch: arch, resources: resources, + buildArgs: buildArgs, ) } } @@ -95,13 +97,18 @@ def buildStage(args) { def registry = args.registry def arch = args.arch def resources = args?.resources + def buildArgs = args?.buildArgs ?: [] + + def build_command = "buildah build -t '${full_name}'" + buildArgs.each { build_command += " --build-arg '${it}'" } + build_command += ' .' runInPod(arch: arch, resources: resources) { checkout scm container('buildah') { withBuildahCreds(registry) { - sh "buildah build -t '${full_name}' ." + sh build_command sh "buildah push '${full_name}' oci-archive:\${PWD}/${escapeImageName(name)}-${arch}.tar:${full_name}" stash name: arch, includes: "${escapeImageName(name)}-*.tar" }