Skip to content

Commit 079d1e7

Browse files
committed
fix: adding secret envs for container builds
1 parent 7d363f3 commit 079d1e7

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

.github/workflows/build-multiarch.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ on:
5656
required: false
5757
default: ''
5858
type: string
59+
build_secret_envs:
60+
description: 'Env var names to mount as docker build secrets (multiline id=envname, e.g. GITHUB_NPM_TOKEN=GITHUB_TOKEN).'
61+
required: false
62+
default: ''
63+
type: string
5964
push_latest:
6065
description: 'Push a :latest tag when building from the main branch'
6166
required: false
@@ -132,6 +137,7 @@ jobs:
132137
${{ inputs.build_args }}
133138
${{ inputs.build_args_amd64 }}
134139
secrets: ${{ inputs.build_secrets }}
140+
secret-envs: ${{ inputs.build_secret_envs }}
135141

136142
build-arm64:
137143
if: contains(inputs.architectures, 'arm64')
@@ -179,6 +185,7 @@ jobs:
179185
${{ inputs.build_args }}
180186
${{ inputs.build_args_arm64 }}
181187
secrets: ${{ inputs.build_secrets }}
188+
secret-envs: ${{ inputs.build_secret_envs }}
182189

183190
build-armv7:
184191
# Cross-compile on amd64 — much faster than QEMU emulation on a native armv7 runner
@@ -230,6 +237,7 @@ jobs:
230237
${{ inputs.build_args }}
231238
${{ inputs.build_args_armv7 }}
232239
secrets: ${{ inputs.build_secrets }}
240+
secret-envs: ${{ inputs.build_secret_envs }}
233241

234242
# ============================================================================
235243
# Create multi-arch manifest combining all successfully built arch images

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ Builds a Docker image natively on amd64 and arm64 runners, cross-compiles armv7
8181
| `build_args_amd64` | no | `''` | Extra build args for the amd64 job only |
8282
| `build_args_arm64` | no | `''` | Extra build args for the arm64 job only |
8383
| `build_args_armv7` | no | `''` | Extra build args for the armv7 job only |
84-
| `build_secrets` | no | `''` | Docker build secrets (multiline `id=value`) passed to all arch builds |
84+
| `build_secrets` | no | `''` | Docker build secrets as literal `id=value` pairs — values cannot be secret references |
85+
| `build_secret_envs` | no | `''` | Mount env vars as docker build secrets (multiline `id=envname`). Use this for secrets — `GITHUB_TOKEN` is always available, others require `secrets: inherit` |
8586
| `push_latest` | no | `true` | Push a `:latest` tag alongside the version tag |
8687
| `runner_amd64` | no | `arc-runner-set-amd64` | Runner label for amd64 native builds |
8788
| `runner_arm64` | no | `arc-runner-set-arm64` | Runner label for arm64 native builds |
@@ -112,8 +113,9 @@ build:
112113
BASE_IMAGE=ghcr.io/myorg/base:latest-arm64
113114
build_args_armv7: |
114115
BASE_IMAGE=ghcr.io/myorg/base:latest-armv7
115-
build_secrets: |
116-
MY_SECRET=${{ secrets.MY_SECRET }}
116+
build_secret_envs: |
117+
GITHUB_NPM_TOKEN=GITHUB_TOKEN
118+
MY_SECRET=MY_SECRET
117119
```
118120

119121
---

0 commit comments

Comments
 (0)