| chore(ci): add composite setup-node action with npm cache (#6177) ## Problem npm caching was inconsistent across CI workflows — some used `cache: 'npm'`, others didn't. New workflows could easily forget it. Also, master pushes from the merge-queue bot skip `npm ci` via the `should-run` check, so no npm cache was ever saved on `refs/heads/master`, meaning every feature branch paid a cold cache miss on first run. This also lays the ground for enabling `pnpm` across the monorepo. ## Solution Add `.github/actions/setup-node`, a composite action wrapping `actions/setup-node@v4` with `cache: 'npm'` always set. Migrate all workflows to use it. Add `cache-warmup.yaml` that runs on every master push, doing just enough (`checkout` + `setup-node` + `npm ci`) to land an npm cache on `refs/heads/master` so feature branches can restore it. Only `cli-verification.yaml` and `managed-release.yaml` genuinely gain new caching — the rest were already using `cache: 'npm'` and are just migrated to the composite action. Fixes [NAN-5527](https://linear.app/nango/issue/NAN-5527) ## Testing - [ ] CI green on this PR - [ ] After merge, `Cache Warmup` workflow runs on the master push and saves a cache entry on `refs/heads/master` - [ ] Next feature branch's first run shows a cache hit in the setup-node logs | 4 个月前 |