zeroclaw/.github/workflows
Alex Gorevski 7ea23da0c6
ci: add feature matrix testing workflow (#634)
Problem: CI only tests the default feature set. The codebase defines
multiple Cargo features (hardware, browser-native, sandbox-landlock,
sandbox-bubblewrap, probe, rag-pdf) behind conditional compilation.
Feature-gated code can silently break without CI coverage.

Solution: Add a dedicated feature-matrix workflow that tests key
feature combinations in a matrix strategy:
- --no-default-features (bare minimum compiles)
- --all-features (everything together)
- --no-default-features --features hardware (isolated hardware)
- --no-default-features --features browser-native (isolated browser)

Each combination runs both cargo check and cargo test. The
workflow triggers on Cargo.toml/lock/src changes and weekly schedule.

Testing: Validated YAML syntax and matrix expansion logic. Actual
feature compilation will be verified by CI on first run.

Ref: zeroclaw-labs/zeroclaw#618 (item 2 — Feature Matrix Testing)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 15:10:02 -05:00
..
auto-response.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
ci.yml refactor(ci): extract large inline scripts to scripts/ci/ (#587) 2026-02-17 14:17:00 -05:00
codeql.yml Standardize security workflow and enhance CodeQL analysis (#479) 2026-02-17 00:10:46 -05:00
docker.yml fix(ci): pin Blacksmith GitHub Actions to commit SHAs (#511) 2026-02-17 07:50:07 -05:00
feature-matrix.yml ci: add feature matrix testing workflow (#634) 2026-02-17 15:10:02 -05:00
label-policy-sanity.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
labeler.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
pr-hygiene.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
pr-intake-sanity.yml ci(pr-intake): make template/format checks advisory (#595) 2026-02-17 14:02:47 -05:00
release.yml ci(release): add hard binary size gate (#631) 2026-02-17 15:09:14 -05:00
rust-reusable.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
security.yml ci(security): pin rustsec audit action and supersede #588 (#592) 2026-02-17 13:39:47 -05:00
stale.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
update-notice.yml ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
workflow-sanity.yml ci(workflows): split label policy checks from workflow sanity (#559) 2026-02-17 11:26:54 -05:00