Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/rules/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Use project Make targets by default.
- `make test` - all tests, release mode (standard)
- `make test-debug` - all tests, debug mode
- `make nextest-release` / `make nextest-debug` - nextest runner
- `make test-spec-tests` / `make nextest-spec-tests` - `spec_tests` with `fake_crypto` (full proposer block coverage)
- `cargo test -p <crate>` - specific crate
- `make check-benches` - compile benchmarks without running

Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/test-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,26 @@ jobs:
- name: Show cache stats
if: env.SELF_HOSTED_RUNNERS == 'true'
run: sccache --show-stats
spec-tests-fake-crypto:
name: spec-tests-fake-crypto
needs: [check-labels]
if: needs.check-labels.outputs.skip_ci != 'true'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Get latest version of stable Rust
if: env.SELF_HOSTED_RUNNERS == 'false'
uses: moonrepo/setup-rust@v1
with:
cache: false
cache-target: release
bins: cargo-nextest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run spec_tests with fake_crypto
run: make nextest-spec-tests
check-fmt:
name: check-fmt
runs-on: ubuntu-22.04
Expand Down Expand Up @@ -224,6 +244,7 @@ jobs:
'check-labels',
'release-tests-ubuntu',
'debug-tests-ubuntu',
'spec-tests-fake-crypto',
'check-fmt',
'check-code',
'check-msrv',
Expand Down
11 changes: 10 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,15 @@ coverage:
coverage-html:
cargo llvm-cov nextest --workspace --features "$(TEST_FEATURES)" --html

# Runs `spec_tests` with `fake_crypto` for full proposer block coverage
# (workspace run already covers the BLS-rejection path).
test-spec-tests:
cargo test --release -p spec_tests --features fake_crypto

# Same as `test-spec-tests`, using nextest.
nextest-spec-tests:
cargo nextest run --release -p spec_tests --features fake_crypto

# Runs cargo-fmt (linter).
cargo-fmt:
cargo +$(PINNED_NIGHTLY) fmt --all
Expand Down Expand Up @@ -133,7 +142,7 @@ mdlint:
./scripts/mdlint.sh

# Runs the entire test suite
test-full: cargo-fmt test-release test-debug
test-full: cargo-fmt test-release test-debug test-spec-tests

# Lints the code for bad style and potentially unsafe arithmetic using Clippy.
# Clippy lints are opt-in per-crate for now. By default, everything is allowed except for performance and correctness lints.
Expand Down
Loading