32f8292679
This improves turnaround time on large PRs where compilation is successful but unit testing or similar fails, forcing recompilation of unchanged code
34 lines
1.7 KiB
YAML
34 lines
1.7 KiB
YAML
name: Restore Godot build cache
|
|
description: Restore Godot build cache.
|
|
inputs:
|
|
cache-name:
|
|
description: The cache base name (job name by default).
|
|
default: "${{github.job}}"
|
|
scons-cache:
|
|
description: The SCons cache path.
|
|
default: "${{github.workspace}}/.scons-cache/"
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Restore SCons cache directory
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: ${{inputs.scons-cache}}
|
|
key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
|
|
|
# We try to match an existing cache to restore from it. Each potential key is checked against
|
|
# all existing caches as a prefix. E.g. 'linux-template-minimal' would match any cache that
|
|
# starts with "linux-template-minimal", such as "linux-template-minimal-master-refs/heads/master-6588a4a29af1621086feac0117d5d4d37af957fd".
|
|
#
|
|
# We check these prefixes in this order:
|
|
#
|
|
# 1. The exact match, including the base branch, the commit reference, and the SHA hash of the commit.
|
|
# 2. A partial match for the same base branch and the same commit reference.
|
|
# 3. A partial match for the same base branch and the base branch commit reference.
|
|
# 4. A partial match for the same base branch only (not ideal, matches any PR with the same base branch).
|
|
|
|
restore-keys: |
|
|
${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
|
${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
|
${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-refs/heads/${{env.GODOT_BASE_BRANCH}}
|
|
${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}
|