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 - name: apt update && install fastfetch
run: | run: |
set -euo pipefail 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 -- \ timeout 35m ecrou run --quiet -e DEBIAN_FRONTEND=noninteractive ubuntu -- \
"apt update && apt install -y fastfetch && fastfetch" | tee /tmp/e2e.log "apt update && apt install -y fastfetch && fastfetch --pipe --logo none" \
grep -E "^OS:" /tmp/e2e.log | 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. included; a published port is reachable from the host.
- **T8, snap e2e.** CI builds the snap and runs `ecrou run --quiet -e - **T8, snap e2e.** CI builds the snap and runs `ecrou run --quiet -e
DEBIAN_FRONTEND=noninteractive ubuntu -- "apt update && apt install DEBIAN_FRONTEND=noninteractive ubuntu -- "apt update && apt install
-y fastfetch && fastfetch"` inside it: strict confinement, KVM -y fastfetch && fastfetch --pipe --logo none"` inside it: strict
through the plug, the staged e2fsprogs, apt across the TSI proxy, confinement, KVM through the plug, the staged e2fsprogs, apt across
and the payload's exit code back through the control file. A boot the TSI proxy, and the payload's exit code back through the control
of alpine (`uname -r` differing from the host's) runs before it so file. `--pipe --logo none` keeps the receipt greppable; the console
a broken environment fails fast. The apt wall time is the standing is a serial port and fastfetch decorates a tty with cursor escapes.
re-measurement of the ln driver's throughput. 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 ## Snap packaging