Четыре workflow по образу и подобию runner-tests/examples, уровень C:
- 01-smoke — runner жив, какие инструменты/либы есть в образе
- 02-guardrails — grep-страж жёстких правил CLAUDE.md (rate 1920000,
header_len=12 на TX и RX, только local:, static/ARM-флаги, нет тяжёлых
зависимостей); логика в scripts/ci_guardrails.sh, гоняется и локально
- 03-gftest — make gftest: нативная (не кросс-) сборка group_fec.c
с -DGF_SELFTEST, 774 400 кейсов GF(256)
- 04-cross-build — make check-env && make all под armhf; приёмка
ARM-тулчейна проверяется реальной компиляцией + разбором e_machine
из ELF-заголовка (od), а не command -v — на Alpine/musl наличие
файла ничего не доказывает, если это glibc-бинарь без ld-linux
E2E по радио и деплой на платы сознательно вне CI — нужны две живые
Pluto-платы, это остаётся ручным чек-листом (scripts/test_file_link.sh).