1212 default : " "
1313
1414jobs :
15- build :
16- name : " build (${{ inputs.os }})"
17- runs-on : ${{ inputs.os }}
18- steps :
19- - uses : actions/checkout@v6
20- - name : Disable Windows Defender real-time monitoring
21- if : runner.os == 'Windows'
22- run : Set-MpPreference -DisableRealtimeMonitoring $true
23- shell : pwsh
24- - uses : dtolnay/rust-toolchain@stable
25- - uses : Swatinem/rust-cache@v2
26- with :
27- prefix-key : " v3-rust"
28- shared-key : " ${{ inputs.os }}"
29- cache-on-failure : true
30- cache-all-crates : true
31- - name : Debug cache state (before build)
32- run : |
33- echo "=== GIT CHECKOUTS (blsful) ==="
34- ls -la ~/.cargo/git/checkouts/agora-blsful*/*/src/lib.rs 2>/dev/null || echo "No blsful checkout"
35- echo "=== fingerprint count ==="
36- ls target/debug/.fingerprint/ 2>/dev/null | wc -l || echo "No fingerprints"
37- echo "=== COMPILED ARTIFACTS (deps/) ==="
38- ls target/debug/deps/ 2>/dev/null | wc -l || echo "No deps dir"
39- shell : bash
40- - name : Build workspace
41- run : cargo test --workspace --all-features --no-run ${{ inputs.exclude-crates && format('--exclude {0}', inputs.exclude-crates) || '' }}
42- - name : Debug cache state (after build)
43- run : |
44- echo "=== fingerprint count ==="
45- ls target/debug/.fingerprint/ | wc -l
46- echo "=== sample dep fingerprint (memchr) ==="
47- ls -la target/debug/.fingerprint/memchr-*
48- shell : bash
49-
5015 test :
5116 name : " test: ${{ matrix.group }} (${{ inputs.os }})"
52- needs : build
5317 runs-on : ${{ inputs.os }}
5418 strategy :
5519 fail-fast : false
@@ -64,30 +28,15 @@ jobs:
6428 - uses : dtolnay/rust-toolchain@stable
6529 - uses : Swatinem/rust-cache@v2
6630 with :
67- prefix-key : " v3 -rust"
68- shared-key : " ${{ inputs.os }}"
69- save-if : false
31+ prefix-key : " v4 -rust"
32+ shared-key : " ${{ inputs.os }}-${{ matrix.group }} "
33+ cache-on-failure : true
7034 cache-all-crates : true
71- - name : Debug cache state (after cache restore)
72- run : |
73- echo "=== GIT CHECKOUTS (blsful) ==="
74- ls -la ~/.cargo/git/checkouts/agora-blsful*/*/src/lib.rs 2>/dev/null || echo "No blsful checkout"
75- echo "=== fingerprint count ==="
76- ls target/debug/.fingerprint/ 2>/dev/null | wc -l || echo "No fingerprints"
77- echo "=== COMPILED ARTIFACTS (deps/) ==="
78- ls target/debug/deps/ 2>/dev/null | wc -l || echo "No deps dir"
79- shell : bash
8035 - uses : actions/setup-python@v5
8136 with :
8237 python-version : " 3.12"
8338 cache : " pip"
8439 cache-dependency-path : .github/scripts/requirements.txt
8540 - run : pip install -r .github/scripts/requirements.txt
86- - name : Test cargo directly (debug)
87- if : matrix.group == 'spv'
88- run : |
89- echo "=== Checking what features cargo resolves ==="
90- cargo tree -p dash-spv --all-features -e features 2>&1 | grep -E "blsful|blstrs" | head -20
91- shell : bash
9241 - name : Run tests
9342 run : python .github/scripts/ci_config.py run-group ${{ matrix.group }} --os ${{ inputs.os }}
0 commit comments