2.5 KiB
Linux platform matrix
Workflow linux-platform-matrix.yml собирает те же self-contained release-архивы, которые устанавливает production bootstrap, отдельно для linux-x64 и linux-arm64.
Реальные Ubuntu VM
На GitHub-hosted VM проверяются:
- Ubuntu 22.04 x64;
- Ubuntu 24.04 x64;
- Ubuntu 22.04 arm64;
- Ubuntu 24.04 arm64.
Каждая VM выполняет preflight, проверяет checksum и содержимое архива, дважды устанавливает Control, проверяет emergency-команду, перезапускает systemd service и обращается к HTTPS /healthz через созданный CA.
Debian systemd containers
Debian 12/13 проверяются для x64 и arm64 в privileged systemd-контейнерах на соответствующей архитектуре runner. Тест выполняет чистую и повторную установку, затем полностью перезапускает контейнер и проверяет автоматический запуск Control и HTTPS healthcheck после нового systemd boot.
Systemd-контейнер проверяет дистрибутив, users, permissions, units, certificates, SQLite state и service lifecycle, но не считается полноценной Debian VM. Отдельным незакрытым критерием остаётся reboot настоящих Debian VM с собственным kernel. Физическая проверка WireGuard/nftables также выполняется по three-server-acceptance.md, поскольку GitHub runners не моделируют внешний NAT и cloud firewall.
Debian VM reboot constraint
В GitHub-hosted runners для Debian недоступны официальные образы виртуальных машин. Из-за этого тестирование перезагрузки полноценной Debian VM с собственным ядром невозможно в текущем CI/CD pipeline. В качестве компромиссного решения для тестов на обеих архитектурах (x64 и arm64) используются privileged systemd-контейнеры. Они успешно моделируют lifecycle systemd services, но физический reboot Debian VM остаётся для ручной приёмки.