ci: verify each compute driver can be compiled out

Adds verify-drivers-compiled-out.sh, a mise task that exercises the
per-driver Cargo features, and a matching step in the branch-checks
workflow.

The script mirrors verify-telemetry-compiled-out.sh: a table of stable
driver-exclusive marker strings pulled from each driver crate, with
present/absent/only modes. The 'only' mode asserts presence for a
selected driver list AND absence for every other driver in one sweep,
so a single script invocation covers both directions per build.

The mise task exercises: default (all four drivers present), each
single-driver build, one mixed feature set (docker+podman), and a
zero-driver extension-only build that must link cleanly and must
contain none of the four driver markers. After the zero-driver build
the task also runs `cargo test -p openshell-server --lib
--no-default-features` so the #[cfg]-gated extension-only unit tests
actually execute in CI rather than being silently skipped by the
default-features test job.

The telemetry-off task uses a mixed --features driver-...,driver-...
gateway build so the telemetry-marker absence check still exercises a
representative in-tree-driver build path.

Signed-off-by: Dimitar Mirchev <28221091+dimityrmirchev@users.noreply.github.com>
This commit is contained in:
Dimitar Mirchev
2026-07-24 16:49:15 +02:00
committed by Evan Lezar
parent 109f62fd54
commit 98865765c6
7 changed files with 230 additions and 2 deletions
+3
View File
@@ -127,6 +127,9 @@ jobs:
- name: Verify telemetry can be compiled out
run: mise run rust:verify:telemetry-off
- name: Verify each compute driver can be compiled out
run: mise run rust:verify:drivers-off
- name: sccache stats
if: always()
run: |