1
0
Fork 0
toolkit/packages/cache
Brian Cristante aa676f3cc7
Update other packages to use http-client v2 (#1082)
We moved `@actions/http-client` to be part of the toolkit in https://github.com/actions/toolkit/pull/1062.  We also made some breaking changes to exported types and released v2.

The biggest change in terms of lines of code affected was to get rid of the `I-` prefix for interfaces since TypeScript doesn't follow this convention.

I bumped the patch version of all packages except for `tool-cache`, where I bumped the major version.  The rationale is explained in the release notes for that package.
2022-05-11 17:14:25 -04:00
..
__tests__ Update other packages to use http-client v2 (#1082) 2022-05-11 17:14:25 -04:00
src Update other packages to use http-client v2 (#1082) 2022-05-11 17:14:25 -04:00
LICENSE.md Add License.md to all npm packages (#548) 2020-08-25 16:26:50 -04:00
README.md Cache: Increasing client validation to 10GB (#934) 2021-11-19 16:34:33 +05:30
RELEASES.md Update other packages to use http-client v2 (#1082) 2022-05-11 17:14:25 -04:00
package-lock.json Update other packages to use http-client v2 (#1082) 2022-05-11 17:14:25 -04:00
package.json Update other packages to use http-client v2 (#1082) 2022-05-11 17:14:25 -04:00
tsconfig.json Display download progress 2020-07-13 12:46:34 -05: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 10 GB. If you exceed this limit, GitHub will save your cache but will begin evicting caches until the total size is less than 10 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.

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)

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)