mirror of
https://github.com/BetterCorp/BetterFrame.git
synced 2026-05-26 17:56:34 +00:00
ci: bump action versions to latest + add QEMU arm64 binfmt for pi-gen
Real cause of last pi-gen failure was surfaced by verbose-output: WARNING: Only a native build environment is supported. arm64: not supported on this machine/kernel ubuntu-latest is x86_64; pi-gen builds an arm64 image and chroots into it during stages, requiring binfmt_misc handlers for arm64. Add docker/setup-qemu-action before the pi-gen step. While here, audit + bump every action version (pinned to current majors): actions/checkout v4 → v6 actions/upload-artifact v4 → v7 actions/download-artifact v4 → v8 softprops/action-gh-release v2 → v3 docker/setup-qemu-action @v4 (new) usimd/pi-gen-action @v1 (already current major) dtolnay/rust-toolchain @stable (rolling channel — keep)
This commit is contained in:
parent
0f664fe1c1
commit
3746f685be
2 changed files with 15 additions and 7 deletions
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
|
|
@ -62,7 +62,7 @@ jobs:
|
||||||
ca-certificates curl git build-essential pkg-config jq sudo
|
ca-certificates curl git build-essential pkg-config jq sudo
|
||||||
git config --global --add safe.directory '*'
|
git config --global --add safe.directory '*'
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ inputs.ref }}
|
ref: ${{ inputs.ref }}
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ jobs:
|
||||||
betterframe-kiosk-${{ inputs.version }}-${{ matrix.target }}
|
betterframe-kiosk-${{ inputs.version }}-${{ matrix.target }}
|
||||||
|
|
||||||
- name: Upload to GitHub Release (binary)
|
- name: Upload to GitHub Release (binary)
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v3
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ inputs.tag }}
|
tag_name: ${{ inputs.tag }}
|
||||||
files: kiosk/betterframe-kiosk-${{ inputs.version }}-${{ matrix.target }}
|
files: kiosk/betterframe-kiosk-${{ inputs.version }}-${{ matrix.target }}
|
||||||
|
|
@ -118,7 +118,7 @@ jobs:
|
||||||
"${BF_AUTOIMPORT_URL}/api/admin/firmware/import"
|
"${BF_AUTOIMPORT_URL}/api/admin/firmware/import"
|
||||||
|
|
||||||
- name: Upload artifact (always)
|
- name: Upload artifact (always)
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: betterframe-kiosk-${{ matrix.target }}
|
name: betterframe-kiosk-${{ matrix.target }}
|
||||||
path: kiosk/betterframe-kiosk-${{ inputs.version }}-${{ matrix.target }}
|
path: kiosk/betterframe-kiosk-${{ inputs.version }}-${{ matrix.target }}
|
||||||
|
|
@ -130,12 +130,12 @@ jobs:
|
||||||
needs: binary
|
needs: binary
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ inputs.ref }}
|
ref: ${{ inputs.ref }}
|
||||||
|
|
||||||
- name: Pull kiosk aarch64 binary from this run's artifact
|
- name: Pull kiosk aarch64 binary from this run's artifact
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v8
|
||||||
with:
|
with:
|
||||||
name: betterframe-kiosk-aarch64-unknown-linux-gnu
|
name: betterframe-kiosk-aarch64-unknown-linux-gnu
|
||||||
path: staging/
|
path: staging/
|
||||||
|
|
@ -168,6 +168,14 @@ jobs:
|
||||||
deploy/pi-gen/stage-betterframe-client/01-install-kiosk/files/
|
deploy/pi-gen/stage-betterframe-client/01-install-kiosk/files/
|
||||||
chmod +x deploy/pi-gen/stage-betterframe-client/01-install-kiosk/00-run-chroot.sh
|
chmod +x deploy/pi-gen/stage-betterframe-client/01-install-kiosk/00-run-chroot.sh
|
||||||
|
|
||||||
|
# x86 runner can't natively execute the arm64 binaries pi-gen drops
|
||||||
|
# into the chroot. Register QEMU binfmt_misc handlers so the chroot's
|
||||||
|
# arm64 dpkg / apt-get / etc work transparently.
|
||||||
|
- name: Register QEMU binfmt for arm64
|
||||||
|
uses: docker/setup-qemu-action@v4
|
||||||
|
with:
|
||||||
|
platforms: arm64
|
||||||
|
|
||||||
- name: Build Pi image (pi-gen)
|
- name: Build Pi image (pi-gen)
|
||||||
uses: usimd/pi-gen-action@v1
|
uses: usimd/pi-gen-action@v1
|
||||||
with:
|
with:
|
||||||
|
|
@ -189,7 +197,7 @@ jobs:
|
||||||
run: ls -la deploy/ || true
|
run: ls -la deploy/ || true
|
||||||
|
|
||||||
- name: Upload image to GitHub Release
|
- name: Upload image to GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v3
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ inputs.tag }}
|
tag_name: ${{ inputs.tag }}
|
||||||
files: |
|
files: |
|
||||||
|
|
|
||||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
|
@ -43,7 +43,7 @@ jobs:
|
||||||
ref: ${{ steps.compute.outputs.ref }}
|
ref: ${{ steps.compute.outputs.ref }}
|
||||||
build_image: ${{ steps.compute.outputs.build_image }}
|
build_image: ${{ steps.compute.outputs.build_image }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # need tags for git describe
|
fetch-depth: 0 # need tags for git describe
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue