mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-06 01:00:18 +02:00
Fake Frame on arm64: use Valve's Holo Core image, and show failed builds
The menci/archlinuxarm base failed `pacman -Syu` on GitHub's arm64 runner. Valve's Holo Core aarch64 preview is the base the Frame's SteamOS is built on, the iPhone app's frame-container already uses it, and its repos carry every package the fake needs. A failed image build now reruns with the full log. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
19b9bc2dbe
commit
e1d138470f
3 files changed
+11
-7
No files matched your search
+1
-1
@@ -48,7 +48,7 @@ its guards want.
|
||||
|
||||
| On the fake Frame | |
|
||||
|---|---|
|
||||
| Arch Linux (`archlinux:base`, or `menci/archlinuxarm:base` on arm64), user `steamos`, `/etc/os-release` with BUILD_ID 20260922.6101926 | Real OS, Frame's identity |
|
||||
| Arch Linux (`archlinux:base`, or Valve's Holo Core aarch64 preview on arm64), user `steamos`, `/etc/os-release` with BUILD_ID 20260922.6101926 | Real OS, Frame's identity |
|
||||
| `sshd` with key and password logins, `rsync`, `python3` | Real |
|
||||
| Valve's steamos-devkit-service on port 32000 and its hooks, vendored unmodified in `tests/fakeframe/steamos-devkit-service` | Real; only its `dbus` import (for mDNS through systemd-resolved) is a stand-in that logs the registration |
|
||||
| Valve's devkit-utils, copied over by Frame Control itself | Real |
|
||||
|
||||
+6
-4
@@ -6,7 +6,7 @@
|
||||
# harness itself didn't come up). See docs/testing.md.
|
||||
#
|
||||
# Usage: scripts/e2e.sh [TEST...] e.g. scripts/e2e.sh test_titles test_faults.Faults.test_disk_full
|
||||
# Env: FAKEFRAME_BASE base image (default: archlinux:base, or menci/archlinuxarm:base on arm64)
|
||||
# Env: FAKEFRAME_BASE base image (default: archlinux:base, or Valve's Holo Core aarch64 on arm64)
|
||||
# FAKEFRAME_KEEP=1 leave the containers running afterwards
|
||||
set -uo pipefail
|
||||
|
||||
@@ -14,7 +14,7 @@ root=${0:A:h:h}
|
||||
cd "$root" || exit 2
|
||||
case $(uname -m) in
|
||||
x86_64|amd64) base=archlinux:base ;;
|
||||
aarch64|arm64) base=menci/archlinuxarm:base ;;
|
||||
aarch64|arm64) base=registry.gitlab.steamos.cloud/holo/holo-core-aarch64-preview/base-devel:latest ;;
|
||||
*) print -u2 "No Arch Linux base image known for $(uname -m); set FAKEFRAME_BASE"; exit 2 ;;
|
||||
esac
|
||||
base=${FAKEFRAME_BASE:-$base}
|
||||
@@ -22,8 +22,10 @@ compose=(docker compose -p fakeframe-e2e -f tests/fakeframe/compose.yaml)
|
||||
started=$SECONDS
|
||||
|
||||
print "==> Building fakeframe-frame (from $base) and fakeframe-host"
|
||||
docker build -q --build-arg BASE="$base" -t fakeframe-frame -f tests/fakeframe/Containerfile tests/fakeframe || exit 2
|
||||
docker build -q -t fakeframe-host -f tests/fakeframe/host.Containerfile tests/fakeframe || exit 2
|
||||
# Quiet when it works; if a build fails, build again with the full log so CI shows why.
|
||||
build() { docker build -q "$@" >/dev/null || { docker build --progress=plain "$@"; exit 2 } }
|
||||
build --build-arg BASE="$base" -t fakeframe-frame -f tests/fakeframe/Containerfile tests/fakeframe
|
||||
build -t fakeframe-host -f tests/fakeframe/host.Containerfile tests/fakeframe
|
||||
|
||||
logs() {
|
||||
print "\n==> Fake Frame logs"
|
||||
|
||||
@@ -2,8 +2,10 @@
|
||||
# Valve's steamos-devkit-service and hooks, a fake Steam client and stubs for
|
||||
# the Frame-only commands Frame Control runs. See docs/testing.md.
|
||||
#
|
||||
# BASE: archlinux:base on x86_64, menci/archlinuxarm:base on arm64 (a daily
|
||||
# Arch Linux ARM build); scripts/e2e.sh picks one from `uname -m`.
|
||||
# BASE: archlinux:base on x86_64; on arm64, Valve's Holo Core aarch64 preview
|
||||
# (registry.gitlab.steamos.cloud/holo/holo-core-aarch64-preview/base-devel), the
|
||||
# Arch Linux ARM64 port the Frame's SteamOS is built on (docs/recovery-and-images.md).
|
||||
# scripts/e2e.sh picks one from `uname -m`.
|
||||
ARG BASE=archlinux:base
|
||||
FROM ${BASE}
|
||||
|
||||
|
||||
Reference in new issue
Block a user