ci(frontend): cache dependency archive

This commit is contained in:
Zeke Zhang
2026-07-09 12:45:00 +08:00
parent 7342cfa603
commit 3b5847fb51
@@ -40,14 +40,24 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Restore dependency archive
id: restore-dependencies
uses: actions/cache/restore@v4
with:
path: node_modules.tar
key: frontend-node-modules-v1-${{ runner.os }}-node-${{ matrix.node_version }}-${{ hashFiles('yarn.lock') }}
- name: Use Node.js ${{ matrix.node_version }}
if: steps.restore-dependencies.outputs.cache-hit != 'true'
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node_version }}
cache: 'yarn'
- run: yarn install --frozen-lockfile
if: steps.restore-dependencies.outputs.cache-hit != 'true'
- name: Pack dependencies
if: steps.restore-dependencies.outputs.cache-hit != 'true'
run: |
find . -name node_modules -type d -prune -print0 > node_modules.list
for file in .env .env.test; do
@@ -56,6 +66,12 @@ jobs:
fi
done
tar --null -cf node_modules.tar -T node_modules.list
- name: Save dependency archive
if: steps.restore-dependencies.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: node_modules.tar
key: ${{ steps.restore-dependencies.outputs.cache-primary-key }}
- uses: actions/upload-artifact@v4
with:
name: frontend-node-modules-node-${{ matrix.node_version }}