|
47 | 47 | # GitHub Actions owns the outer deadline instead of soldr killing the |
48 | 48 | # build early. |
49 | 49 | SOLDR_CARGO_WAIT_TIMEOUT_SECS: "2700" |
| 50 | + # Keep every soldr invocation in this reusable job on the same catalogue. |
| 51 | + # soldr >= 0.9.5 consumes its multipart v2 assets, including Apple SDKs |
| 52 | + # whose legacy direct-LFS URLs are no longer anonymously downloadable. |
| 53 | + SOLDR_TOOLCHAIN_ORIGIN: https://zackees.github.io/soldr-toolchain |
50 | 54 | # cc-rs env vars for the xwin lanes. ring's build.rs uses cc-rs; |
51 | 55 | # without these, cc-rs invokes plain `clang` and the curve25519.c |
52 | 56 | # compile fails with `error: no such file or directory: '/imsvc'` |
@@ -93,15 +97,13 @@ jobs: |
93 | 97 | # v0.7.85/v0.7.87 were broken releases that shipped silent |
94 | 98 | # binaries (no output at all), which setup-soldr@v0.9.63 |
95 | 99 | # surfaced as a version-JSON parse failure. |
96 | | - # Pin the latest published soldr release; setup-soldr's current |
97 | | - # default can briefly lead a release that has not been published yet. |
98 | | - # soldr v0.8.0 is the |
99 | | - # known-good floor for the Apple SDK URL fix, soldr-clang-shim |
100 | | - # in every release archive, cargo:rustc-env wrapper forwarding, |
101 | | - # and managed cmake/ninja. |
| 100 | + # Pin a fully published soldr release. v0.9.5 is the first version |
| 101 | + # that consumes catalogue-v2 multipart assets; v0.8.23 still probes |
| 102 | + # the retired direct-LFS Apple SDK URLs even though the SDKs are |
| 103 | + # available through the v2 catalogue. |
102 | 104 | uses: zackees/setup-soldr@v0 |
103 | 105 | with: |
104 | | - version: 0.8.23 |
| 106 | + version: 0.9.6 |
105 | 107 | cache: true |
106 | 108 | build-cache: true |
107 | 109 | target-cache: true |
@@ -226,20 +228,12 @@ jobs: |
226 | 228 | # cargo invocation so the SDKROOT export is debuggable independent |
227 | 229 | # of the build itself. |
228 | 230 | # |
229 | | - # SOLDR_TOOLCHAIN_ORIGIN redirects soldr's toolchain catalogue |
230 | | - # fetch away from the retired `manifest` branch of |
231 | | - # zackees/soldr (soldr#988 Phase 5 / soldr#992, merged |
232 | | - # 2026-06-27) at the new soldr-toolchain origin. soldr v0.7.66 |
233 | | - # honors this env var via the Phase 2 catalogue-first |
234 | | - # fetch_once (soldr#989); older versions ignore it (and fail |
235 | | - # against the retired manifest branch, which is what we're |
236 | | - # avoiding here). |
| 231 | + # SOLDR_TOOLCHAIN_ORIGIN is job-scoped above so this prepare step and |
| 232 | + # both following build steps resolve the exact same catalogue. |
237 | 233 | - name: Prepare Apple SDK (Linux → mac cross) |
238 | 234 | if: inputs.mac_cross_linux |
239 | 235 | timeout-minutes: 15 |
240 | 236 | shell: bash |
241 | | - env: |
242 | | - SOLDR_TOOLCHAIN_ORIGIN: https://zackees.github.io/soldr-toolchain |
243 | 237 | run: soldr prepare --target ${{ inputs.target }} |
244 | 238 |
|
245 | 239 | - name: Build release binaries |
@@ -301,7 +295,10 @@ jobs: |
301 | 295 | # soldr's bin cache, which has been serving a corrupted |
302 | 296 | # cargo-zigbuild binary (`Syntax error: ")" unexpected` at |
303 | 297 | # line 10) and blocking PyPI publishes. See #331. |
304 | | - cargo zigbuild --release --target ${{ inputs.target }} \ |
| 298 | + # mimalloc-pprof's vendored diagnostic banner expands |
| 299 | + # __DATE__/__TIME__. Zig promotes that one warning to an error; |
| 300 | + # demote only that diagnostic for this C dependency build. |
| 301 | + CFLAGS="-Wno-error=date-time" cargo zigbuild --release --target ${{ inputs.target }} \ |
305 | 302 | -p fbuild-cli \ |
306 | 303 | -p fbuild-daemon |
307 | 304 | else |
|
0 commit comments