-
Notifications
You must be signed in to change notification settings - Fork 0
ci: add automated test CI for KeyRA 🐙 #9
Copy link
Copy link
Open
Labels
Description
Summary
Add GitHub Actions CI to run all 42 existing KeyRA tests automatically on push and PR.
Background
KeyRA has comprehensive test coverage (4 unit + 12 integration + 3 E2E Rust + 23 Solidity Foundry) but zero CI. All tests are run locally only. This epic adds automated test execution.
Goals
- Automated Rust unit + integration tests on every push/PR
- Automated Solidity Foundry tests on every push/PR
- Automated E2E tests with Anvil (Foundry's dev node) on every push/PR
- Fix silent E2E test skip to prevent false positives in CI
- Optional Autonity-specific E2E job (future)
Sub-Issues
- ci: add CI workflow for Rust unit and integration tests 🏗️ #3 ci: add CI workflow for Rust unit and integration tests 🏗️
- ci: add CI job for Solidity Foundry tests 🏗️ #4 ci: add CI job for Solidity Foundry tests 🏗️
- fix: make E2E tests fail-loud in CI instead of silently skipping 🐛 #5 fix: make E2E tests fail-loud in CI instead of silently skipping 🐛
- test: verify E2E test compatibility with Anvil 🧪 #6 test: verify E2E test compatibility with Anvil 🧪
- ci: add CI job for E2E tests with Anvil 🏗️ #7 ci: add CI job for E2E tests with Anvil 🏗️
- ci: add optional Autonity E2E test job 🏗️ #8 ci: add optional Autonity E2E test job 🏗️
Execution Order
1. #3 (Rust unit + integration) — standalone, no external deps ✅
2. #4 (Solidity Foundry) — standalone, needs forge
3. #5 (fail-loud fix) — standalone code change
4. #6 (Anvil verification) — depends on #5
5. #7 (E2E with Anvil) — depends on #4, #5, #6
6. #8 (Autonity E2E) — depends on #7, future scope
Test Inventory
| Category | Count | Command | External Deps |
|---|---|---|---|
| Rust unit | 4 | cargo test --lib |
None |
| Rust integration | 12 | cargo test --test integration |
None |
| Rust E2E | 3 | cargo test --test e2e |
EVM node + forge artifacts |
| Solidity Foundry | 23 | cd contracts && forge test |
Foundry |
| Total | 42 |
Acceptance Criteria
- All 42 tests run automatically on push to
mainand on PRs - E2E tests FAIL (not skip) when EVM node is unavailable in CI
- CI badge in README
- Green CI on current
mainbranch
Reactions are currently unavailable