Commit c4901d4
committed
ci(sccache): make the fork-PR/intermittent Depot 403 a green uncached build
A fork PR runs with secrets withheld, so SCCACHE_WEBDAV_TOKEN is empty and
Depot rejects the unauthenticated server-startup .sccache_check with 403
Forbidden; sccache treats a failed startup check as fatal, redding every TU.
The symptom was mac-only only because the macOS jobs ran 'brew install sccache'
unconditionally while the Linux/dockcross/aarch64 jobs fetch sccache only when
a token is present, so mac was the one platform with sccache on PATH to misfire.
Two independent guards:
- Gate every 'Install sccache' step on env.SCCACHE_WEBDAV_TOKEN != '' so a
tokenless fork PR never installs sccache (mac now matches Linux).
- build.sh retries the build once without the launcher when the build fails AND
the output shows an sccache cache error (sccache: error / Server startup
failed / cache storage failed). Gated on that signature so a real compile
error still fails fast. Also covers an intermittent 403 hitting a valid-token
job mid-build, which the one-shot probe cannot foresee. The uncached -O3
rebuild is content-identical and release-safe.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9ZHtf3xz9pB5L9KWgWdWG1 parent 3f5c140 commit c4901d4
3 files changed
Lines changed: 53 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
108 | 134 | | |
109 | 135 | | |
110 | | - | |
| 136 | + | |
| 137 | + | |
111 | 138 | | |
112 | 139 | | |
113 | 140 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
415 | 415 | | |
416 | 416 | | |
417 | 417 | | |
418 | | - | |
| 418 | + | |
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
| |||
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
463 | | - | |
| 463 | + | |
464 | 464 | | |
465 | 465 | | |
466 | 466 | | |
| |||
578 | 578 | | |
579 | 579 | | |
580 | 580 | | |
581 | | - | |
| 581 | + | |
582 | 582 | | |
583 | 583 | | |
584 | 584 | | |
| |||
632 | 632 | | |
633 | 633 | | |
634 | 634 | | |
635 | | - | |
| 635 | + | |
636 | 636 | | |
637 | 637 | | |
638 | 638 | | |
| |||
723 | 723 | | |
724 | 724 | | |
725 | 725 | | |
726 | | - | |
| 726 | + | |
727 | 727 | | |
728 | 728 | | |
729 | 729 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
293 | 312 | | |
294 | 313 | | |
295 | 314 | | |
| |||
0 commit comments