Skip to content

Commit 2797b73

Browse files
kevinelliottclaude
andcommitted
ci: optional armbian_tag override for build-image-simple
Adds an optional armbian_tag workflow_dispatch input wired to ARMBIAN_BUILD_TAG (via `env` so it survives sudo) and folded into the cache key. Blank keeps the pinned default in armbian/build.sh, so this is backward-compatible; a non-blank value canaries a newer Armbian framework tag without editing build.sh, and the cache-key change forces a real kernel rebuild for that tag instead of reusing the pinned tag's debs. Used to evaluate whether bumping the Armbian pin past v26.2.1 unblocks the sunxi + mainline-rockchip boards that fail on kernel patch drift. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent a4fe14e commit 2797b73

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

.github/workflows/build-image-simple.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,17 @@ on:
6666
- stable
6767
- dev
6868
- beta
69-
70-
# The Armbian build framework tag is pinned in armbian/build.sh (single source
71-
# of truth); this workflow invokes build.sh, so no override is needed here.
69+
armbian_tag:
70+
description: "Override Armbian build framework tag (blank = pinned default in build.sh). Use to canary a newer tag."
71+
required: false
72+
default: ""
73+
type: string
74+
75+
# The Armbian build framework tag is normally pinned in armbian/build.sh (single
76+
# source of truth). The optional armbian_tag input overrides it per-dispatch
77+
# (via ARMBIAN_BUILD_TAG) so a newer tag can be canaried without editing build.sh;
78+
# it is also folded into the cache key so a canary rebuilds rather than reusing
79+
# the pinned tag's kernel debs.
7280

7381
jobs:
7482
build:
@@ -109,9 +117,9 @@ jobs:
109117
.armbian-build/output/debs
110118
.armbian-build/cache/rootfs
111119
.armbian-build/cache/ccache
112-
key: armbian-${{ github.event.inputs.board }}-${{ github.event.inputs.release }}-${{ github.event.inputs.branch }}-${{ hashFiles('armbian/build.sh', 'armbian/userpatches/**') }}
120+
key: armbian-${{ github.event.inputs.board }}-${{ github.event.inputs.release }}-${{ github.event.inputs.branch }}-${{ github.event.inputs.armbian_tag }}-${{ hashFiles('armbian/build.sh', 'armbian/userpatches/**') }}
113121
restore-keys: |
114-
armbian-${{ github.event.inputs.board }}-${{ github.event.inputs.release }}-${{ github.event.inputs.branch }}-
122+
armbian-${{ github.event.inputs.board }}-${{ github.event.inputs.release }}-${{ github.event.inputs.branch }}-${{ github.event.inputs.armbian_tag }}-
115123
armbian-${{ github.event.inputs.board }}-${{ github.event.inputs.release }}-
116124
117125
# Bake the release's manager+gateway container images INTO the rootfs so the
@@ -186,9 +194,12 @@ jobs:
186194
BOARD: ${{ github.event.inputs.board }}
187195
RELEASE: ${{ github.event.inputs.release }}
188196
BRANCH: ${{ github.event.inputs.branch }}
197+
ARMBIAN_BUILD_TAG: ${{ github.event.inputs.armbian_tag }}
189198
COLUMNS: "160"
190199
run: |
191-
sudo -E ./armbian/build.sh airwaves BOARD="$BOARD" BRANCH="$BRANCH" RELEASE="$RELEASE"
200+
# `env` guarantees ARMBIAN_BUILD_TAG reaches the command regardless of
201+
# sudo env handling; empty falls back to build.sh's pinned default (:-).
202+
sudo -E env ARMBIAN_BUILD_TAG="$ARMBIAN_BUILD_TAG" ./armbian/build.sh airwaves BOARD="$BOARD" BRANCH="$BRANCH" RELEASE="$RELEASE"
192203
193204
- name: List output
194205
run: ls -lh .armbian-build/output/images/ 2>/dev/null || echo "No images found"

0 commit comments

Comments
 (0)