also looking at this
fix(ci): publish darwin-x86-64 (Intel macOS) — retire macos-13 + fix bun bootstrap
#205
7 files
+427
-348
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -91,34 +91,19 @@ jobs: | ||
| 91 | 91 | - name: Setup Pantry |
| 92 | 92 | uses: ./packages/action |
| 93 | 93 | |
| 94 | # Intel-macOS bootstrap: the pantry registry has no darwin-x86-64 bun yet, | |
| 95 | # so `pantry install` writes a placeholder stub and points pantry/.bin/bun | |
| 96 | # at it. Install a real upstream bun *after* Setup Pantry so it shadows the | |
| 97 | # stub on PATH. Self-heals once a real darwin-x86-64 bun lands in the | |
| 98 | # registry (this very sync re-hosts the upstream release). | |
| 99 | - name: Bootstrap upstream Bun (Intel macOS) | |
| 100 | if: matrix.platform == 'darwin-x86-64' | |
| 101 | uses: oven-sh/setup-bun@v2 | |
| 102 | with: | |
| 103 | bun-version: latest | |
| 104 | ||
| 94 | 105 | - name: Install dependencies |
| 95 | run: | | |
| 96 | # TEMP DIAGNOSTIC (darwin-x86-64 bun bootstrap) — remove after triage | |
| 97 | if [ "$" = "darwin-x86-64" ]; then | |
| 98 | echo "::group::darwin-x86-64 bun diagnostics" | |
| 99 | echo "uname -m: $(uname -m)" | |
| 100 | sysctl -n machdep.cpu.brand_string 2>/dev/null || true | |
| 101 | echo "AVX2: $(sysctl -n machdep.cpu.leaf7_features 2>/dev/null | tr ' ' '\n' | grep -i avx2 || echo NONE)" | |
| 102 | echo "which -a bun:"; which -a bun || true | |
| 103 | echo "bun --version:"; bun --version || echo "bun --version FAILED ($?)" | |
| 104 | echo "bun --revision:"; bun --revision || true | |
| 105 | BUNBIN="$(which bun)" | |
| 106 | echo "file \$(which bun):"; file "$BUNBIN" 2>/dev/null || true | |
| 107 | echo "ls -la \$(which bun):"; ls -la "$BUNBIN" 2>/dev/null || true | |
| 108 | echo "readlink:"; readlink "$BUNBIN" 2>/dev/null || echo "(not a symlink)" | |
| 109 | echo "real target file type:"; file "$(readlink -f "$BUNBIN" 2>/dev/null || echo "$BUNBIN")" 2>/dev/null || true | |
| 110 | echo "--- head -40 of bun file/target ---"; head -40 "$(readlink -f "$BUNBIN" 2>/dev/null || echo "$BUNBIN")" 2>/dev/null || true | |
| 111 | echo "--- pantry bun.sh pkgDir ---"; ls -laR "$BUN_INSTALL"/bun.sh 2>/dev/null | head -40 || echo "(no bun.sh pkgdir)" | |
| 112 | echo "node_modules/bun (pre-install):"; ls -la node_modules/bun 2>/dev/null || echo "(absent)" | |
| 113 | echo "::endgroup::" | |
| 114 | echo "::group::bun install --verbose tail" | |
| 115 | bun install --verbose 2>&1 | tail -80 || echo "bun install exited $?" | |
| 116 | echo "::endgroup::" | |
| 117 | echo "node_modules/bun (post-install):"; ls -la node_modules/bun 2>/dev/null || echo "(absent)" | |
| 118 | cat node_modules/bun/package.json 2>/dev/null | head -40 || true | |
| 119 | else | |
| 120 | bun install | |
| 121 | fi | |
| 106 | run: bun install | |
| 122 | 107 | |
| 123 | 108 | - name: Install build dependencies (Linux) |
| 124 | 109 | if: runner.os == 'Linux' |