Skip to content

ci: add automated test CI for KeyRA 🐙 #9

@Klazomenai

Description

@Klazomenai

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

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 main and on PRs
  • E2E tests FAIL (not skip) when EVM node is unavailable in CI
  • CI badge in README
  • Green CI on current main branch

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions