36 lines
1.4 KiB
YAML
36 lines
1.4 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: buildjet/cache@v4
|
|
id: cache-build
|
|
env:
|
|
# WARN: Don't touch this cache key. Currently github.sha refers to the latest commit in main
|
|
# and not the branch that's attempting to merge to main, which causes CI errors when merged
|
|
# to main.
|
|
# TODO: Fix this problem if intending to modify this cache key.
|
|
cache-name: prod-build
|
|
key-1: ${{ inputs.node_version }}-${{ hashFiles('yarn.lock') }}
|
|
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 }}
|
|
key-4: ${{ github.sha }}
|
|
key-5: ${{ github.event.pull_request.head.sha }}
|
|
with:
|
|
path: |
|
|
${{ github.workspace }}/apps/web/.next
|
|
${{ github.workspace }}/apps/web/public/embed
|
|
**/.turbo/**
|
|
**/dist/**
|
|
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }}-${{ env.key-4 }}-${{ env.key-5 }}
|
|
- run: |
|
|
export NODE_OPTIONS="--max_old_space_size=8192"
|
|
yarn build
|
|
if: steps.cache-build.outputs.cache-hit != 'true'
|
|
shell: bash
|