Public : équipes monorepo frontend et full-stack qui exécutent pnpm et Turborepo sur Mac CI distant via liaisons transfrontalières.

Livrable : métriques de hit rate, clés store-dir, turbo.json remoteCache TLS, piles miroirs registry/Git et tableau workers --filter prêts pour la CI.

Liens : accueil, blog CI, guide miroirs npm/Homebrew, stratégie cache npm.
« Un remote cache Turborepo ne compense pas un pnpm store mal isolé : sur Mac CI transfrontalier, le hit rate commence par store-dir et le miroir registry, pas par l’upload des artefacts Turbo. »

Pourquoi pnpm store et le remote cache Turbo ratent sur Mac CI transfrontalier

  • store-dir partagé sans clés : un pnpm store global entre jobs empoisonne les hits adressables quand les majors Node ou les lockfiles divergent.
  • Remote cache avant store local : Turborepo uploade pendant que l’install tire des tarballs sur WAN instable — hit rate trompeur, temps mur élevé.
  • Registry et Git sur une seule lane : network-concurrency élevé plus quatre workers Turbo sature l’APFS et provoque des ETIMEDOUT sur les pulls transfrontaliers.

Indicateurs de diagnostic du hit rate : pnpm store et Turborepo sur Mac CI distant

Journalisez chaque job sur pools Apple Silicon :

  • Réutilisation pnpm store : viser plus de 85 % après pnpm install --frozen-lockfile sur lane chaude.
  • Hits Turbo remote : cache hit / tâches cacheables — viser plus de 60 % sur main.
  • Minutes de pull : de pnpm fetch au premier turbo run — alerter au-delà de 8 minutes.

pnpm store-dir et conception des clés de cache sur Mac CI distant

Isolez store-dir par lane ; faites évoluer les clés CI à chaque bump de major Node.

# .npmrc (racine repo ou généré CI)
store-dir=/var/ci/pnpm-store-${JOB_ID:-lane}
shamefully-hoist=false
fetch-timeout=120000
network-concurrency=4
registry=https://registry.npmmirror.com/

Clé cache CI : sha256(pnpm-lock.yaml) + version Node + os-darwin-arm64. Voir stratégie cache Git et npm.

Remote cache Turborepo auto-hébergé : endpoint, TLS et turbo.json

{
  "$schema": "https://turbo.build/schema.json",
  "remoteCache": {
    "enabled": true,
    "signature": true,
    "teamId": "team_macpull_ci",
    "apiUrl": "https://turbo-cache.internal:443"
  }
}

Placez TURBO_TOKEN dans les secrets ; terminez TLS sur la passerelle ; rotation trimestrielle.

Combinaisons miroir registry et miroir Git pour pulls transfrontaliers

Empilez les miroirs par artefact : npm (guide miroirs et reprise), Git (matrice bundle Git), ou Yarn (matrice Yarn Berry).

Matrice décisionnelle Mac CI distant : pnpm store, remote cache, registry, workers

Choisissez une ligne par pool ; augmentez les workers seulement si hits et espace disque restent au vert.

Profil WAN pnpm store-dir Turbo remote Miroir registry Workers turbo run
Stable < 80 ms RTT Par JOB_ID sur NVMe Auto-hébergé TLS activé Miroir npm régional 4 workers, --filter ciblé
Perte 120–200 ms Store préchauffé, concurrency 2 Signature on, upload async npmmirror + bundle Git 2 workers, network-concurrency 4
Satellite ou flaky Prefetch tarball store Remote en lecture seule Proxy entreprise requis 1 worker, fetch sérialisé

Runbook en six étapes : install, store chaud, turbo run sur Mac CI distant

  • Épingler Node via corepack ; committer pnpm-lock.yaml.
  • Écrire .npmrc store-dir et registry ; lancer pnpm install --frozen-lockfile.
  • Restaurer le cache CI par lockfile + major Node ; exécuter pnpm store status.
  • Exporter TURBO_TOKEN ; vérifier que remoteCache.apiUrl est en HTTPS.
  • turbo run avec --filter et --concurrency=2 ; monter après métriques vertes.
  • Échouer sous 30 Go libres ; voir FAQ stabilité pull.
pnpm install --frozen-lockfile
pnpm store status | tee store.log
turbo run lint build test --filter=web... --summarize \
  --concurrency="${TURBO_CONCURRENCY:-2}"

Paramètres citables pour revue d’architecture

  • Taille store chaud : budgéter 4 à 12 Go par lane sur NVMe M4 ; clé par hash pnpm-lock.yaml.
  • Payload Turbo remote : cache tâche compressé typique 2 à 80 Mo ; activer signature contre artefacts empoisonnés.
  • Seuil disque : interrompre l’install si l’APFS libre descend sous 30 Go sur pools Mac Studio partagés.

FAQ : concurrence, --filter et seuils disque sur Mac CI distant

Hit rate pnpm avant remote Turbo ? Viser 85 % à chaud ; sous 70 %, corriger store-dir ou mélange Node.

Workers sur liaisons transfrontalières ? Démarrer à deux ; passer à quatre si hits dépassent 60 % et espace libre dépasse 30 Go.

TLS obligatoire ? Oui sur réseaux partagés ; signature active et rotation TURBO_TOKEN.

Synthèse : acheter un nœud Mac CI optimisé pnpm et Turborepo

La CI monorepo gagne quand store-dir, miroirs registry et remote cache partagent la même logique de clés. Comparez sur l’accueil, lisez le guide pièges miroirs npm, puis louez un nœud NVMe MacPull aligné sur votre région registry. Pages publiques : achat, tarifs, liste blog CI.

Louer un nœud Mac CI pour pnpm et Turborepo

store-dir par lane, remote cache TLS et miroirs registry — comparez les offres sans connexion.