ci(zcash): run rust_c Zcash tests for relevant changes
What changed, and why it matters
This commit only adds a new GitHub Actions CI workflow that runs automated tests for Zcash-related Rust code when relevant files change. It does not modify any firmware code, cryptographic logic, or user-facing behavior. There is no security issue here.
No security action needed. This is a routine CI improvement.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The change expands the pull_request path filter in .github/workflows/rust-zcash-checks.yml and adds a RustCZcashTest job that runs cargo test for the rust_c crate’s Zcash FFI tests under the simulator-cypherpunk feature on macOS. It is purely a CI/testing infrastructure change.
Changed components
.github/workflows/rust-zcash-checks.ymlInspect captured patch +26 / −0
diff --git a/.github/workflows/rust-zcash-checks.yml b/.github/workflows/rust-zcash-checks.yml
index f411b1a..8baf5d1 100644
--- a/.github/workflows/rust-zcash-checks.yml
+++ b/.github/workflows/rust-zcash-checks.yml
@@ -2,6 +2,10 @@ on:
pull_request:
paths:
- rust/apps/zcash/**
+ - rust/zcash_vendor/**
+ - rust/rust_c/src/zcash/**
+ - rust/rust_c/src/common/ur.rs
+ - rust/rust_c/src/common/ur_ext.rs
name: Zcash Checks
@@ -28,3 +32,25 @@ jobs:
- name: Run rust/apps/zcash
run: cd rust/apps/zcash && cargo +$RUST_TOOLCHAIN llvm-cov --fail-under-regions 69 --fail-under-functions 71 --fail-under-lines 76 --ignore-filename-regex 'keystore/*|utils/*|zcash_vendor/*'
+
+ # The rust_c Zcash FFI tests (batch validation, reviewed-batch fingerprint)
+ # only build under the simulator feature set (the device feature set has no
+ # host panic handler), and the simulator's screen-capture dependency needs
+ # macOS on CI.
+ RustCZcashTest:
+ name: rust_c Zcash FFI tests
+ runs-on: macos-latest
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@v2
+
+ - name: Read Rust toolchain
+ run: echo "RUST_TOOLCHAIN=$(cat rust-toolchain)" >> $GITHUB_ENV
+
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ env.RUST_TOOLCHAIN }}
+ override: true
+
+ - name: Run rust_c zcash tests
+ run: cd rust && cargo +$RUST_TOOLCHAIN test -p rust_c --no-default-features --features simulator-cypherpunk --lib -- zcash common::ur
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.