[code-infra] Migrate GitHub Actions to pnpm/setup - #1792
Conversation
Deploy previewBundle sizeTotal Size Change: 0B(0.00%) - Total Gzip Change: 0B(0.00%) Show details for 71 more bundles@mui/internal-docs-infra/abstractCreateDemo parsed: 0B(0.00%) gzip: 0B(0.00%) PerformanceTotal duration: 20.10 ms +1.75 ms(+9.5%) | Renders: 5 (+0) | Paint: 72.92 ms +7.38 ms(+11.3%)
5 tests within noise — details Metric alarms
Check out the code infra dashboard for more information about this PR. |
7160828 to
8cd80c2
Compare
7160828 to
b939cca
Compare
b939cca to
d9f549c
Compare
d9f549c to
4271c19
Compare
|
Is it faster? |
This comment was marked as outdated.
This comment was marked as outdated.
4271c19 to
0d1679f
Compare
Comparison run with CodexOverall:
The macOS regression is not only a first-run cache-key migration effect. Warm-cache PR runs still had a median of My opinionEven though its increasing perf on Windows, the regression on macos is too much for this to be considered stable just yet. I'll keep the PR open and update the version from time to time to see if anything improved on macos side or not. Likely related issue - pnpm/setup#31 |
Migrates all local workflows and composite actions from
pnpm/action-setup+actions/setup-nodeto the newpnpm/setupaction (v2.0.2, SHA-pinned).pnpm/setup@v2installs pnpm's self-contained binary, installs Node.js viapnpm runtime set(replacingactions/setup-node), caches the pnpm store, and runspnpm installautomatically — so each setup site collapses into a single step.Changes
runtime: node@22.23.2; drops the explicitpnpm install(auto-install covers it).setup-nodesteps become one expression —node@<input>whennode-versionis passed, barenodeotherwise. Input contract unchanged, callers need no edits.install: falseso auto-install doesn't run the bumped dependency's lifecycle scripts; no Node runtime needed since the job only runspnpm dedupeand git.install: falseto keep the explicitpnpm install --frozen-lockfile. Droppingsetup-nodealso dropsregistry-url, which is safe because publishing uses npm OIDC trusted publishing and npm's default registry is alreadyregistry.npmjs.org.Behavior changes for downstream repos
pnpm/setupdoesn't readengines.node. Callers ofci-base.ymlthat omitnode-versionnow fall back todevEngines.runtimein theirpackage.json, then Node LTS (previouslyengines.node).