Skip to content

Commit 963d773

Browse files
committed
ci: remove build job, let each test group cache independently
Each test group now has its own cache key (os-group) ensuring consistent feature sets. This avoids the feature mismatch issue between --workspace and -p flags.
1 parent c0d5190 commit 963d773

1 file changed

Lines changed: 3 additions & 54 deletions

File tree

.github/workflows/build-and-test.yml

Lines changed: 3 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -12,44 +12,8 @@ on:
1212
default: ""
1313

1414
jobs:
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

Comments
 (0)