Store Corepack tools in GitHub cache (#42168)

Closes #42165

Signed-off-by: Jon Koops <jonkoops@gmail.com>
This commit is contained in:
Jon Koops 2025-08-27 12:52:37 +02:00 committed by GitHub
parent 594a48f525
commit 9ac33e53e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 38 additions and 3 deletions

View File

@ -0,0 +1,36 @@
name: Setup Corepack
description: Sets up and caches the Corepack tools to speed up the build.
runs:
using: composite
steps:
- name: Enable Corepack
shell: bash
run: corepack enable
- id: cache-key
name: Generate key for tools cache
shell: bash
working-directory: js
run: echo "key=corepack-tools-$(jq -r '.packageManager' package.json)" >> $GITHUB_OUTPUT
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
id: cache
name: Cache Corepack tools
with:
# See: https://github.com/nodejs/corepack?tab=readme-ov-file#offline-workflow
path: ./js/corepack.tgz
key: ${{ runner.os }}-${{ steps.cache-key.outputs.key }}
- name: Install Corepack tools from cache
if: steps.cache.outputs.cache-hit == 'true'
shell: bash
working-directory: js
run: corepack install -g --cache-only ./corepack.tgz
- name: Package Corepack tools
if: steps.cache.outputs.cache-hit != 'true'
shell: bash
working-directory: js
run: corepack pack

View File

@ -16,9 +16,8 @@ runs:
node-version: ${{ inputs.node-version }}
check-latest: true
- name: Enable Corepack
shell: bash
run: corepack enable
- name: Setup Corepack
uses: ./.github/actions/corepack-setup
- name: PNPM store cache
uses: ./.github/actions/pnpm-store-cache