mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
ci: skip emulator boot/verify on arm64 (same-arch TCG can't run backend)
The Start/Verify/Stop emulator steps boot the freshly-built qcow2 and wait for all services — including the Next.js backend — to respond on their ports. Under same-arch TCG on ubuntu-24.04-arm there's no KVM, so the backend can't come up within any reasonable window (this is the same reason the build-time smoke test is already skipped on arm64). Today the step just burns the 53-minute EMULATOR_READY_TIMEOUT and fails. Gate those three steps to amd64. The build step still fully produces and validates the arm64 image; it just doesn't try to run it under emulation. The amd64 job continues to prove the image's service stack end-to-end, and the arm64 artifact is trusted to be equivalent since real arm64 hardware has KVM.
This commit is contained in:
parent
8146d359a8
commit
1910ea0ebf
9
.github/workflows/qemu-emulator-build.yaml
vendored
9
.github/workflows/qemu-emulator-build.yaml
vendored
@ -80,7 +80,13 @@ jobs:
|
||||
- name: Generate emulator env
|
||||
run: node docker/local-emulator/generate-env-development.mjs
|
||||
|
||||
# VM boot + service verification is amd64-only. Under same-arch TCG on
|
||||
# the arm64 runner there's no KVM, and the Next.js backend can't come
|
||||
# up within any reasonable window under software emulation — same
|
||||
# reason the build-time smoke test is skipped on arm64. The arm64
|
||||
# image is built and uploaded blind; it runs on real arm64 hardware.
|
||||
- name: Start emulator and verify
|
||||
if: matrix.arch == 'amd64'
|
||||
run: |
|
||||
chmod +x docker/local-emulator/qemu/run-emulator.sh
|
||||
EMULATOR_ARCH=${{ matrix.arch }} \
|
||||
@ -88,12 +94,13 @@ jobs:
|
||||
docker/local-emulator/qemu/run-emulator.sh start
|
||||
|
||||
- name: Verify services are healthy
|
||||
if: matrix.arch == 'amd64'
|
||||
run: |
|
||||
EMULATOR_ARCH=${{ matrix.arch }} \
|
||||
docker/local-emulator/qemu/run-emulator.sh status
|
||||
|
||||
- name: Stop emulator
|
||||
if: always()
|
||||
if: always() && matrix.arch == 'amd64'
|
||||
run: |
|
||||
EMULATOR_ARCH=${{ matrix.arch }} \
|
||||
docker/local-emulator/qemu/run-emulator.sh stop
|
||||
|
||||
Loading…
Reference in New Issue
Block a user