1
0
mirror of synced 2026-01-06 06:02:35 -05:00
Files
docs/.github/actions/warmup-remotejson-cache/action.yml
2025-01-29 17:12:26 +00:00

42 lines
1.5 KiB
YAML

name: Warmup getRemoteJSON's cache
description: Run the script that prepares the disk-cache for getRemoteJSON
inputs:
restore-only:
description: Only attempt to restore, don't warm up
required: false
runs:
using: 'composite'
steps:
# The caching technique here is to unboundedly add and add to the cache.
# You "wrap" the step that appends to disk and it will possibly retrieve
# some from the cache, then save it when it's got more in it.
- name: Cache .remotejson-cache (restore)
uses: actions/cache/restore@v4
with:
path: .remotejson-cache
key: remotejson-cache-
restore-keys: remotejson-cache-
# When we use this composite action from deployment workflows
# we don't have any Node installed or any of its packages. I.e. we never
# run `npm ci` in those actions. For security sake.
# So we can't do things that require Node code.
# Tests and others will omit the `restore-only` input, but
# prepping for Docker build and push, will set it to a non-empty
# string which basically means "If you can restore it, great.
# If not, that's fine, don't bother".
- name: Run script
if: ${{ inputs.restore-only == '' }}
shell: bash
run: npm run warmup-remotejson
- name: Cache .remotejson-cache (save)
if: ${{ inputs.restore-only == '' }}
uses: actions/cache/save@v4
with:
path: .remotejson-cache
key: remotejson-cache-${{ github.sha }}