Skip to content

ci: add Lint and Test#2

Merged
hyperfinitism merged 1 commit intomainfrom
imamura/ci/lint-test
Jan 28, 2026
Merged

ci: add Lint and Test#2
hyperfinitism merged 1 commit intomainfrom
imamura/ci/lint-test

Conversation

@hyperfinitism
Copy link
Collaborator

Summary

This PR introduces CI workflows to ensure that client, enclave, and proxy can be natively built across {Ubuntu, macOS} × {x86_64, Aarch64} combinations. While verifying that enclave and proxy run on macOS is not strictly necessary, ensuring they compile is still valuable for development flexibility. Code quality is also enforced through rustfmt and clippy.

No changes to the main codebase; this PR only adds CI configuration files.

Background

AWS Nitro Enclaves can run on any Nitro Hypervisor-based EC2 instance regardless of CPU architecture (x86_64 or Aarch64). Therefore, the enclave and proxy should ideally be buildable on any CPU architecture.

Currently, manual testing is performed on 1st/2nd Gen Intel Xeon (x86_64) based EC2 instances (specifically Intel Xeon Platinum 8223CL (2nd Gen) according to lscpu). Additionally, the client application should ideally run on any Arch/OS combination.

What's changed

  • Add .github/workflows/lint.yml: Runs cargo fmt --check and cargo clippy on stable toolchain to enforce code formatting and catch common issues
  • Add .github/workflows/test.yml: Runs cargo test across a matrix of:
    • Toolchains: MSRV (1.90.0), stable
    • Targets: linux-x64, linux-arm64, macos-x64, macos-arm64

Test

All CI check passed (green).

@hyperfinitism hyperfinitism self-assigned this Jan 28, 2026
@hyperfinitism hyperfinitism added the enhancement New feature or request label Jan 28, 2026
@hyperfinitism hyperfinitism merged commit 1e7bd4c into main Jan 28, 2026
20 checks passed
@hyperfinitism hyperfinitism deleted the imamura/ci/lint-test branch January 28, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant