ci: add pnpm dependency caching via setup-node

Replace manual actions/cache steps with built-in setup-node cache support.
Add cache: pnpm and cache-dependency-path to all setup-node steps in both
ci-frontend.yml and ci-frontend-api.yml. Move pnpm install before setup-node
as required for pnpm caching to work.
This commit is contained in:
Dmitry Verkhoturov
2026-03-07 21:22:25 +00:00
parent aca0cff399
commit ed67390dea
2 changed files with 35 additions and 113 deletions
+15 -48
View File
@@ -30,29 +30,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i
@@ -77,29 +66,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i
@@ -124,29 +102,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i
+20 -65
View File
@@ -30,29 +30,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i
@@ -77,29 +66,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i
@@ -124,29 +102,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i
@@ -173,7 +140,6 @@ jobs:
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
@@ -200,29 +166,18 @@ jobs:
with:
persist-credentials: false
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
uses: pnpm/action-setup@v4.2.0
id: pnpm-install
with:
version: 8
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_ENV
- name: Setup pnpm cache
uses: actions/cache@v5
- name: Install node
uses: actions/setup-node@v6
with:
path: ${{ env.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
node-version: ${{ matrix.node }}
cache: "pnpm"
cache-dependency-path: frontend/pnpm-lock.yaml
- name: Install dependencies
run: pnpm i