|
38 | 38 |
|
39 | 39 | concurrency: |
40 | 40 | group: ${{ github.workflow }}-${{ github.ref }} |
41 | | - cancel-in-progress: true |
| 41 | + # Cancel only superseded PR runs. Never cancel a push to main (warms the shared |
| 42 | + # rust-cache) or a `v*` tag push (the release-gate 3-OS run). Matches ci.yml / |
| 43 | + # coverage.yml. |
| 44 | + cancel-in-progress: ${{ github.event_name == 'pull_request' }} |
42 | 45 |
|
43 | 46 | env: |
44 | 47 | CARGO_TERM_COLOR: always |
|
70 | 73 | sudo apt-get install -y libwebkit2gtk-4.1-dev libxdo-dev libssl-dev \ |
71 | 74 | libayatana-appindicator3-dev librsvg2-dev libsoup-3.0-dev javascriptcoregtk-4.1 |
72 | 75 | - uses: Swatinem/rust-cache@v2 |
| 76 | + with: |
| 77 | + # Same dependency cache as ci.yml's rust-test (per-OS). chaos builds a |
| 78 | + # subset of the workspace, so it reuses the rust-test-warmed cache. |
| 79 | + shared-key: "workspace" |
| 80 | + # Restore-only on PRs; only main (and not `v*` tags) writes the cache. |
| 81 | + save-if: ${{ github.ref == 'refs/heads/main' }} |
73 | 82 | # run-all capability-gates every scenario: on a stock non-elevated runner |
74 | 83 | # the admin / real-Drive rows SKIP (recorded, never red); the rest run |
75 | 84 | # against the headless core + InMemoryRemoteStore. |
|
98 | 107 | sudo apt-get install -y libwebkit2gtk-4.1-dev libxdo-dev libssl-dev \ |
99 | 108 | libayatana-appindicator3-dev librsvg2-dev libsoup-3.0-dev javascriptcoregtk-4.1 |
100 | 109 | - uses: Swatinem/rust-cache@v2 |
| 110 | + with: |
| 111 | + shared-key: "workspace" |
| 112 | + save-if: ${{ github.ref == 'refs/heads/main' }} |
101 | 113 | - name: chaos run-all (fault-injection) |
102 | 114 | run: cargo run -p driven-chaos -- run-all --fault-injection |
103 | 115 |
|
@@ -131,6 +143,12 @@ jobs: |
131 | 143 | sudo apt-get update |
132 | 144 | sudo apt-get install -y libssl-dev |
133 | 145 | - uses: Swatinem/rust-cache@v2 |
| 146 | + with: |
| 147 | + # Builds driven-drive's test target - a subset of the workspace - so it |
| 148 | + # restores the same per-OS `workspace` cache. This job only runs on `v*` |
| 149 | + # tags (save-if false there), so it is purely restore-only. |
| 150 | + shared-key: "workspace" |
| 151 | + save-if: ${{ github.ref == 'refs/heads/main' }} |
134 | 152 | # Real Drive round-trip against a throwaway UUID folder under the dest |
135 | 153 | # folder. Gate-skips cleanly (Ok, never red) when the creds are absent. |
136 | 154 | - name: real-drive e2e (google_e2e) |
|
0 commit comments