|
1 | 1 | name: Fork shimforge config tests |
2 | | - |
3 | 2 | on: |
4 | | - push: |
5 | | - branches: ['shimforge-config-tests'] |
6 | | - workflow_dispatch: |
7 | | - |
| 3 | + push: |
| 4 | + branches: ['shimforge-config-tests'] |
| 5 | + workflow_dispatch: |
8 | 6 | permissions: |
9 | | - contents: read |
10 | | - |
| 7 | + contents: read |
11 | 8 | jobs: |
12 | | - verify: |
13 | | - if: github.repository == 'tanglearncode/zoxide' |
14 | | - runs-on: ubuntu-24.04 |
15 | | - timeout-minutes: 20 |
16 | | - steps: |
17 | | - - uses: actions/checkout@v5 |
18 | | - with: |
19 | | - persist-credentials: false |
20 | | - |
21 | | - # zoxide's own MSRV, so this proves nothing newer is needed. |
22 | | - - uses: dtolnay/rust-toolchain@stable |
23 | | - with: |
24 | | - toolchain: 1.88.0 |
25 | | - |
26 | | - # --locked fails if the committed lockfile is not what cargo resolves. |
27 | | - - name: Build the config tests |
28 | | - run: cargo test --locked --bins config -- --list |
29 | | - |
30 | | - # Parallel, repeated: the point is that nothing is serialized. |
31 | | - - name: Run the config tests 20 times, 8 threads |
32 | | - run: | |
33 | | - for attempt in $(seq 1 20); do |
34 | | - cargo test --locked --bins config -- --test-threads=8 |
35 | | - done |
36 | | - echo 'config tests: 20 runs x 8 threads, no env mutation.' >> "$GITHUB_STEP_SUMMARY" |
37 | | -
|
38 | | - # The rest of the suite still passes with the mocks present. |
39 | | - - name: Run the full test suite |
40 | | - run: cargo test --locked |
| 9 | + verify: |
| 10 | + if: github.repository == 'tanglearncode/zoxide' |
| 11 | + runs-on: ubuntu-24.04 |
| 12 | + timeout-minutes: 20 |
| 13 | + steps: |
| 14 | + - uses: actions/checkout@v5 |
| 15 | + with: |
| 16 | + persist-credentials: false |
| 17 | + - uses: dtolnay/rust-toolchain@stable |
| 18 | + with: |
| 19 | + toolchain: 1.88.0 |
| 20 | + - name: Build the config tests at zoxide's MSRV, with the lockfile verified |
| 21 | + run: cargo test --locked --bins config -- --list |
| 22 | + - name: Run the config tests 20 times at 8 threads, nothing serialized |
| 23 | + run: | |
| 24 | + for attempt in $(seq 1 20); do |
| 25 | + cargo test --locked --bins config -- --test-threads=8 |
| 26 | + done |
| 27 | + echo 'config tests: 20 runs x 8 threads, no env mutation.' >> "$GITHUB_STEP_SUMMARY" |
| 28 | + - name: Run the full test suite with the mocks present |
| 29 | + run: cargo test --locked |
0 commit comments