mirror of
https://github.com/actions/cache.git
synced 2026-04-24 08:04:41 +00:00
Port GCS support from danySam/gcs-cache. When gcs-bucket input is set, cache to Google Cloud Storage via Application Default Credentials; else fall back to GitHub's cache service transparently. - New inputs: gcs-bucket, gcs-path-prefix (default: github-cache) - New src/utils/gcsCache.ts wraps @actions/cache restore/save - restoreImpl/saveImpl swap @actions/cache import for local wrapper - Adds @google-cloud/storage ^7.16.0, bumps typescript to ^5.8.3 - Regenerated dist/ via npm run build Skipped: upstream workflow removals, README/examples/RELEASES churn, licensed/codeql config, GCS integration-test workflow.
46 lines
1.9 KiB
YAML
46 lines
1.9 KiB
YAML
name: 'Restore Cache with GCS Support'
|
|
description: 'Restore cache artifacts from Google Cloud Storage or GitHub with automatic fallback'
|
|
author: 'danySam'
|
|
inputs:
|
|
path:
|
|
description: 'A list of files, directories, and wildcard patterns to restore'
|
|
required: true
|
|
key:
|
|
description: 'An explicit key for restoring the cache'
|
|
required: true
|
|
restore-keys:
|
|
description: 'An ordered multiline string listing the prefix-matched keys, that are used for restoring stale cache if no cache hit occurred for key. Note `cache-hit` returns false in this case.'
|
|
required: false
|
|
enableCrossOsArchive:
|
|
description: 'An optional boolean when enabled, allows windows runners to restore caches that were saved on other platforms'
|
|
default: 'false'
|
|
required: false
|
|
fail-on-cache-miss:
|
|
description: 'Fail the workflow if cache entry is not found'
|
|
default: 'false'
|
|
required: false
|
|
lookup-only:
|
|
description: 'Check if a cache entry exists for the given input(s) (key, restore-keys) without downloading the cache'
|
|
default: 'false'
|
|
required: false
|
|
gcs-bucket:
|
|
description: 'Google Cloud Storage bucket name to use for caching. When provided, GCS will be used as the cache backend.'
|
|
required: false
|
|
gcs-path-prefix:
|
|
description: 'Optional prefix path within the GCS bucket for cache files'
|
|
default: 'github-cache'
|
|
required: false
|
|
outputs:
|
|
cache-hit:
|
|
description: 'A boolean value to indicate an exact match was found for the primary key'
|
|
cache-primary-key:
|
|
description: 'A resolved cache key for which cache match was attempted'
|
|
cache-matched-key:
|
|
description: 'Key of the cache that was restored, it could either be the primary key on cache-hit or a partial/complete match of one of the restore keys'
|
|
runs:
|
|
using: 'node20'
|
|
main: '../dist/restore-only/index.js'
|
|
branding:
|
|
icon: 'archive'
|
|
color: 'gray-dark'
|