The CI runs a couple of workflows:
- unit: Runs unit tests (tests in
src/
) and doc tests - integration: Runs integration tests (tests in
tests/
and sync tests) - bench: Runs benchmarks
- eth-sync: Runs Ethereum mainnet sync tests
- op-sync: Runs base mainnet sync tests for Optimism
- stage: Runs all
stage run
commands
- book: Builds, tests, and deploys the book.
- deny: Runs
cargo deny
to check for license conflicts and security advisories in our dependencies - release: Runs the release workflow
- release-dist: Publishes Reth to external package managers
- dependencies: Runs
cargo update
periodically to keep dependencies current - stale: Marks issues as stale if there has been no activity
- docker: Publishes the Docker image.
- lint: Lints code using
cargo clippy
and other checks - lint-actions: Lints GitHub Actions workflows
- label-pr: Automatically labels PRs