|
66 | 66 | - stable |
67 | 67 | - dev |
68 | 68 | - 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. |
72 | 80 |
|
73 | 81 | jobs: |
74 | 82 | build: |
@@ -109,9 +117,9 @@ jobs: |
109 | 117 | .armbian-build/output/debs |
110 | 118 | .armbian-build/cache/rootfs |
111 | 119 | .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/**') }} |
113 | 121 | 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 }}- |
115 | 123 | armbian-${{ github.event.inputs.board }}-${{ github.event.inputs.release }}- |
116 | 124 |
|
117 | 125 | # Bake the release's manager+gateway container images INTO the rootfs so the |
@@ -186,9 +194,12 @@ jobs: |
186 | 194 | BOARD: ${{ github.event.inputs.board }} |
187 | 195 | RELEASE: ${{ github.event.inputs.release }} |
188 | 196 | BRANCH: ${{ github.event.inputs.branch }} |
| 197 | + ARMBIAN_BUILD_TAG: ${{ github.event.inputs.armbian_tag }} |
189 | 198 | COLUMNS: "160" |
190 | 199 | 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" |
192 | 203 |
|
193 | 204 | - name: List output |
194 | 205 | run: ls -lh .armbian-build/output/images/ 2>/dev/null || echo "No images found" |
|
0 commit comments