What you get: hit-rate metrics, store-dir and remote cache keys, registry mirror stacks, and worker tables you can paste into CI.
Structure: pain list, decision matrix, six-step runbook, citable numbers, FAQ. Related: home, blog index, npm mirror guide.
Why pnpm store and Turbo remote cache miss on cross-border Mac CI
- Shared store-dir without keys. One global pnpm store across jobs poisons content-addressable hits when Node majors or lockfiles differ.
- Remote cache before local store. Turborepo uploads run while install still pulls tarballs over a lossy WAN—hit rate looks fine but wall time grows.
- Registry and Git on one lane. High network-concurrency plus four Turbo workers saturates APFS and triggers ETIMEDOUT on cross-border pulls.
Remote Mac CI cache hit rate: diagnostic metrics for pnpm store and Turborepo
Log each job on Apple Silicon pools:
- pnpm store reuse: target above 85% after frozen lockfile installs.
- Turbo remote hits: cache hit over cacheable tasks — aim above 60% on main.
- Pull minutes: pnpm fetch to first turbo run — flag above 8 minutes.
pnpm store-dir and cache key design on remote Mac CI
Scope store-dir per lane; bump CI keys when Node major changes.
# .npmrc (repo root or CI-generated)
store-dir=/var/ci/pnpm-store-${JOB_ID:-lane}
shamefully-hoist=false
fetch-timeout=120000
network-concurrency=4
registry=https://registry.npmmirror.com/
CI cache key: sha256(pnpm-lock.yaml)+node version+os-darwin-arm64. See Git and npm cache strategy.
Self-hosted Turborepo remote cache: endpoint, TLS, and turbo.json
{
"$schema": "https://turbo.build/schema.json",
"remoteCache": {
"enabled": true,
"signature": true,
"teamId": "team_macpull_ci",
"apiUrl": "https://turbo-cache.internal:443"
}
}
Set TURBO_TOKEN in secrets; terminate TLS at the gateway; rotate quarterly.
Registry mirror and Git mirror combinations for cross-border pulls
Stack mirrors by artifact: npm (mirror guide), Git (bundle matrix), or Yarn (Berry matrix).
Remote Mac CI decision matrix: pnpm store, Turborepo remote cache, registry, workers
Pick one row per pool; raise workers only when hits and disk space stay green.
| WAN profile | pnpm store-dir | Turbo remote | Registry mirror | turbo run workers |
|---|---|---|---|---|
| Stable under 80 ms RTT | Per JOB_ID on NVMe | Self-hosted TLS on | Regional npm mirror | 4 workers, --filter scoped |
| Lossy 120–200 ms | Warm store, concurrency 2 | Signature on, upload async | npmmirror plus Git bundle | 2 workers, network-concurrency 4 |
| Satellite or flaky | Prefetch store tarball | Read-mostly remote | Corporate proxy required | 1 worker, serialized fetch |
Six-step runbook: install, warm store, turbo run on remote Mac CI
- Pin Node via corepack; commit pnpm-lock.yaml.
- Write .npmrc store-dir and registry; run pnpm install --frozen-lockfile.
- Restore CI cache by lockfile plus Node major; run pnpm store status.
- Export TURBO_TOKEN; verify remoteCache.apiUrl uses HTTPS.
- turbo run with --filter and --concurrency=2; raise after green metrics.
- Fail below 30 GB free; see pull stability FAQ.
pnpm install --frozen-lockfile
pnpm store status | tee store.log
turbo run lint build test --filter=web... --summarize \
--concurrency="${TURBO_CONCURRENCY:-2}"
Citable parameters for design reviews
- pnpm store warm size: budget 4–12 GB per lane on M4 NVMe; key by pnpm-lock.yaml hash.
- Turbo remote payload: typical compressed task cache 2–80 MB; enable signature to block poisoned artifacts.
- Disk watermark: abort install when APFS free space drops below 30 GB on shared Mac Studio pools.
FAQ: concurrency, --filter scope, and disk watermarks on remote Mac CI
pnpm hit rate before Turbo remote? Target 85% warm; below 70% fix store-dir or Node mix.
Workers on cross-border links? Start at two; go to four when hits exceed 60% and free space stays above 30 GB.
TLS required? Yes on shared networks; enable signature and rotate TURBO_TOKEN.
Summary: buy remote Mac CI nodes tuned for pnpm and Turborepo
Monorepo CI wins when store-dir, registry mirrors, and self-hosted remote cache share one keying story. Compare plans on home, read npm mirror pitfalls, then rent an NVMe MacPull node aligned to your registry region. Public paths: purchase, pricing, CI blog list.
Rent remote Mac CI nodes for pnpm and Turborepo
Per-lane pnpm store, TLS remote cache, and registry mirrors—compare plans without logging in.