| # Based on https://nextjs.org/docs/pages/building-your-application/deploying/ci-build-caching#github-actions | |
| name: Cache Nextjs build cache | |
| description: Cache the .next/cache according to best practices | |
| runs: | |
| using: 'composite' | |
| steps: | |
| - name: Cache .next/cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ github.workspace }}/.next/cache | |
| # Generate a new cache whenever packages or source files change. | |
| key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.ts', '**/*.tsx') }} | |
| # If source files changed but packages didn't, rebuild from a prior cache. | |
| restore-keys: | | |
| ${{ runner.os }}-nextjs-v13-${{ hashFiles('**/package-lock.json') }}- | |