Skip to content

ci: add GitHub Actions CI workflow#25

Open
jackhamer09-ai wants to merge 1 commit intomm-zk-codex:mainfrom
jackhamer09-ai:feat/github-ci
Open

ci: add GitHub Actions CI workflow#25
jackhamer09-ai wants to merge 1 commit intomm-zk-codex:mainfrom
jackhamer09-ai:feat/github-ci

Conversation

@jackhamer09-ai
Copy link
Copy Markdown

Summary

  • Adds .github/workflows/ci.yml that runs on every PR and push to main
  • Fixes all pre-existing clippy warnings so the baseline is clean from day one

What the CI checks

Step Command Purpose
Format cargo fmt --check Enforces consistent code style
Lint cargo clippy -- -D warnings Catches bugs and style issues; warnings are errors
Build cargo build Ensures the project compiles
Test cargo test Runs the test suite

Results are cached by Cargo.lock hash so repeated runs are fast.

Clippy fixes included

To make cargo clippy -- -D warnings pass cleanly on main, the following pre-existing warnings were fixed:

  • Boxed large enum variant (TokenSubcommand::Send)
  • Replaced redundant closures with function references (Address::from_str)
  • Replaced .clone() on Copy types (FixedBytes<32>, tx hashes) with deref
  • Removed .to_string() in format! args
  • Fixed print_literal in println! format strings
  • Replaced .get(0) with .first()
  • Replaced print!("...\n") with println!
  • Removed needless borrows
  • Added #[allow(clippy::too_many_arguments)] on async relay functions
  • Fixed field_reassign_with_default in Config::load
  • Removed useless u64 identity conversion
  • Fixed &PathBuf&Path parameter type
  • Fixed if_same_then_else in doctor command

Test plan

  • PR CI runs and all steps pass (green checkmark)
  • A follow-up PR with a fmt or clippy violation should be blocked

🤖 Generated with Claude Code

Adds .github/workflows/ci.yml that runs on every PR and push to main:
- cargo fmt --check (enforces consistent formatting)
- cargo clippy -- -D warnings (denies all warnings)
- cargo build
- cargo test

Also fixes all pre-existing clippy warnings to make the baseline clean:
- Box large enum variant (TokenSubcommand::Send)
- Replace redundant closures with function pointers (Address::from_str)
- Replace .clone() on Copy types (FixedBytes<32>, tx hash) with deref
- Remove .to_string() in format! args
- Fix print_literal in format strings (chains, contracts)
- Replace .get(0) with .first()
- Replace print!("...\n") with println!
- Remove needless borrows in tx_show
- Add #[allow(clippy::too_many_arguments)] to async relay functions
- Fix field_reassign_with_default in Config::load
- Remove useless u64 identity conversion in chains
- Fix &PathBuf → &Path in contracts::build_row
- Fix if_same_then_else in doctor

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant