mirror of
https://github.com/documenso/documenso.git
synced 2025-11-12 07:43:16 +10:00
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
name: Cache production build binaries
|
|
description: 'Cache or restore if necessary'
|
|
inputs:
|
|
node_version:
|
|
required: false
|
|
default: v18.x
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: Cache production build
|
|
uses: actions/cache@v3
|
|
id: production-build-cache
|
|
env:
|
|
cache-name: prod-build
|
|
key-1: ${{ inputs.node_version }}-${{ hashFiles('**/package-lock.json') }}
|
|
key-2: ${{ hashFiles('apps/**/**.[jt]s', 'apps/**/**.[jt]sx', 'packages/**/**.[jt]s', 'packages/**/**.[jt]sx', '!**/node_modules') }}
|
|
key-3: ${{ github.event.pull_request.number || github.ref }}
|
|
# Ensures production-build.yml will always be fresh
|
|
key-4: ${{ github.sha }}
|
|
with:
|
|
path: |
|
|
${{ github.workspace }}/apps/web/.next
|
|
${{ github.workspace }}/apps/marketing/.next
|
|
**/.turbo/**
|
|
**/dist/**
|
|
|
|
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }}-${{ env.key-4 }}
|
|
|
|
- run: npm run build
|
|
shell: bash
|
|
if: steps.production-build-cache.outputs.cache-hit != 'true'
|