also looking at this
fix(ci): publish darwin-x86-64 (Intel macOS) — retire macos-13 + fix bun bootstrap
#205
7 files
+427
-348
| @@ -791,6 +791,30 @@ export async function run(): Promise<void> { | ||
| 791 | 791 | } |
| 792 | 792 | } |
| 793 | 793 | |
| 794 | // ── Re-assert system-package bin links (post `pantry install`) ── | |
| 795 | // `pantry install` resolves system deps from the registry. For a platform | |
| 796 | // the registry lacks (e.g. darwin-x86-64 bun before it's been published), | |
| 797 | // it drops a placeholder stub and repoints `.bin/<name>` at it — clobbering | |
| 798 | // the genuine upstream binary that `installSystemPackage` (ts installer, | |
| 799 | // fetched from the official source) put in place earlier. Re-run the ts | |
| 800 | // installer for each system dep *after* `pantry install`: it's idempotent | |
| 801 | // (no-op download when present) and re-links `.bin/<name>` to the real | |
| 802 | // binary, so the stub never wins. Fixes the Intel-macOS bootstrap without | |
| 803 | // any per-workflow workaround. | |
| 804 | { | |
| 805 | const reassertDeps = inputs.packages | |
| 806 | ? inputs.packages.split(/\s+/).filter(Boolean) | |
| 807 | : extractSystemDeps() | |
| 808 | for (const dep of reassertDeps) { | |
| 809 | try { | |
| 810 | await installSystemPackage(dep, pantryDir, lockedVersions) | |
| 811 | } | |
| 812 | catch (err) { | |
| 813 | core.warning(`re-assert ${dep}: ${err instanceof Error ? err.message : 'failed'}`) | |
| 814 | } | |
| 815 | } | |
| 816 | } | |
| 817 | ||
| 794 | 818 | // ── Ensure installed binaries are executable ── |
| 795 | 819 | // Some extracted archives (e.g. zig from ziglang.org) may lose +x during copy |
| 796 | 820 | if (platform.os !== 'windows') { |