ReviewOS

also looking at this

pantry-pm/pantry

fix(ci): publish darwin-x86-64 (Intel macOS) — retire macos-13 + fix bun bootstrap

#205
Merged chrisbbreuer wants to merge fix/ci-macos13-retired-use-macos15-intel into main
7 files +427 -348
packages/action/src/index.tsmodified+24-0
Changes to packages/action/src/index.ts
@@ -791,6 +791,30 @@ export async function run(): Promise<void> {
791791 }
792792 }
793793
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
794818 // ── Ensure installed binaries are executable ──
795819 // Some extracted archives (e.g. zig from ziglang.org) may lose +x during copy
796820 if (platform.os !== 'windows') {