mirror of
https://code.forgejo.org/actions/cache.git
synced 2026-05-10 14:32:25 +00:00
Add GCS cache backend with GitHub fallback
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.
This commit is contained in:
parent
27d5ce7f10
commit
d751c19fb0
14 changed files with 365254 additions and 283304 deletions
15
action.yml
15
action.yml
|
|
@ -1,6 +1,6 @@
|
|||
name: 'Cache'
|
||||
description: 'Cache artifacts like dependencies and build outputs to improve workflow execution time'
|
||||
author: 'GitHub'
|
||||
name: 'Cache with GCS Support'
|
||||
description: 'Cache artifacts to Google Cloud Storage or GitHub with automatic fallback'
|
||||
author: 'danySam'
|
||||
inputs:
|
||||
path:
|
||||
description: 'A list of files, directories, and wildcard patterns to cache and restore'
|
||||
|
|
@ -26,6 +26,13 @@ inputs:
|
|||
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'
|
||||
required: false
|
||||
default: 'github-cache'
|
||||
save-always:
|
||||
description: 'Run the post step to save the cache even if another step before fails'
|
||||
default: 'false'
|
||||
|
|
@ -38,7 +45,7 @@ outputs:
|
|||
cache-hit:
|
||||
description: 'A boolean value to indicate an exact match was found for the primary key'
|
||||
runs:
|
||||
using: 'node24'
|
||||
using: 'node20'
|
||||
main: 'dist/restore/index.js'
|
||||
post: 'dist/save/index.js'
|
||||
post-if: "success()"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue