ci: keep the fastfetch receipt greppable

The payload's stdout is a serial console, so fastfetch reads a tty
and decorates its output with cursor escapes; the ^OS: anchor
matched nothing and would have failed a green run. --pipe --logo
none prints a plain key-value list, and a sed strips anything left
before the grep. SPEC records the first measured apt wall time: 24 s
cache-warm, boot included.
This commit is contained in:
vhaudiquet committed 2026-10-30 23:51:37 +01:00
1 parent 4128092be3
commit a879631c73
2 files changed
+19 -8

No files matched your search

+9 -2
View File
@@ -151,6 +151,13 @@ jobs:
- name: apt update && install fastfetch
run: |
set -euo pipefail
# --pipe --logo none: the payload's stdout is a serial
# console, which fastfetch reads as a tty and decorates with
# cursor escapes (a first local run grepped nothing); plain
# output keeps the receipt readable.
timeout 35m ecrou run --quiet -e DEBIAN_FRONTEND=noninteractive ubuntu -- \
"apt update && apt install -y fastfetch && fastfetch" | tee /tmp/e2e.log
grep -E "^OS:" /tmp/e2e.log
"apt update && apt install -y fastfetch && fastfetch --pipe --logo none" \
| tee /tmp/e2e.log
# Insurance, not the primary check: strip any escape
# sequences before anchoring on the fastfetch key.
sed -e 's/\x1b\[[0-9;?]*[A-Za-z]//g' /tmp/e2e.log | grep -E "^OS:"
+10 -6
View File
@@ -271,12 +271,16 @@ stop:
included; a published port is reachable from the host.
- **T8, snap e2e.** CI builds the snap and runs `ecrou run --quiet -e
DEBIAN_FRONTEND=noninteractive ubuntu -- "apt update && apt install
-y fastfetch && fastfetch"` inside it: strict confinement, KVM
through the plug, the staged e2fsprogs, apt across the TSI proxy,
and the payload's exit code back through the control file. A boot
of alpine (`uname -r` differing from the host's) runs before it so
a broken environment fails fast. The apt wall time is the standing
re-measurement of the ln driver's throughput.
-y fastfetch && fastfetch --pipe --logo none"` inside it: strict
confinement, KVM through the plug, the staged e2fsprogs, apt across
the TSI proxy, and the payload's exit code back through the control
file. `--pipe --logo none` keeps the receipt greppable; the console
is a serial port and fastfetch decorates a tty with cursor escapes.
A boot of alpine (`uname -r` differing from the host's) runs before
it so a broken environment fails fast. The apt wall time is the
standing re-measurement of the ln driver's throughput. First data
point: 24 s end to end, boot and apt included, cache-warm (snap
0.1.0 engine, October 2026).
## Snap packaging