1
0
Fork 0
toolkit/packages/cache
David Hadka 4964b0cc7c
Use Azure storage SDK to download cache (#497)
* Adds option to download using AzCopy

* Bump version number and add release notes

* Ensure we use at least v10

* Negate env var so it disables AzCopy

* Use Azure storage SDK to download cache

* Use same level of parallelism as AzCopy

* Fix naming of variable

* React to feedback

* Bump Node types to Node 12

* Make linter happy

* Pass options into restoreCache method

* Fix tests

* Restructure files and add tests

* Add method to get the default download and upload options

* Include breaking changes in RELEASES.md

Co-authored-by: Josh Gross <joshmgross@github.com>
2020-07-10 17:09:32 +02:00
..
__tests__ Use Azure storage SDK to download cache (#497) 2020-07-10 17:09:32 +02:00
src Use Azure storage SDK to download cache (#497) 2020-07-10 17:09:32 +02:00
README.md Update cache readme to include a link to cache action (#478) 2020-06-19 14:43:10 -04:00
RELEASES.md Use Azure storage SDK to download cache (#497) 2020-07-10 17:09:32 +02:00
package-lock.json Use Azure storage SDK to download cache (#497) 2020-07-10 17:09:32 +02:00
package.json Use Azure storage SDK to download cache (#497) 2020-07-10 17:09:32 +02:00
tsconfig.json Initial commit to create @actions/cache package 2020-05-12 12:02:18 -04:00

README.md

@actions/cache

Functions necessary for caching dependencies and build outputs to improve workflow execution time.

See "Caching dependencies to speed up workflows" for how caching works.

Note that GitHub will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited to 5 GB. If you exceed this limit, GitHub will save your cache but will begin evicting caches until the total size is less than 5 GB.

Usage

This package is used by the v2+ versions of our first party cache action. You can find an example implementation in the cache repo here.

Restore Cache

Restores a cache based on key and restoreKeys to the paths provided. Function returns the cache key for cache hit and returns undefined if cache not found.

const cache = require('@actions/cache');
const paths = [
    'node_modules',
    'packages/*/node_modules/'
]
const key = 'npm-foobar-d5ea0750'
const restoreKeys = [
    'npm-foobar-',
    'npm-'
]
const cacheKey = await cache.restoreCache(paths, key, restoreKeys)

Save Cache

Saves a cache containing the files in paths using the key provided. The files would be compressed using zstandard compression algorithm if zstd is installed, otherwise gzip is used. Function returns the cache id if the cache was saved succesfully and throws an error if cache upload fails.

const cache = require('@actions/cache');
const paths = [
    'node_modules',
    'packages/*/node_modules/'
]
const key = 'npm-foobar-d5ea0750'
const cacheId = await cache.saveCache(paths, key)