mirror of
https://github.com/actions/setup-node.git
synced 2025-11-07 04:56:55 +00:00
Compare commits
3 commits
8f979ac70c
...
1a91d1fa4d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a91d1fa4d | ||
|
|
dda4788290 | ||
|
|
09158c28ef |
2 changed files with 30 additions and 13 deletions
|
|
@ -300,6 +300,35 @@ steps:
|
||||||
- run: npm test
|
- run: npm test
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Restore-Only Cache**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
## In some workflows, you may want to restore a cache without saving it. This can help reduce cache writes and storage usage in workflows that only need to read from cache
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
# Restore Node.js modules cache (restore-only)
|
||||||
|
- name: Restore Node modules cache
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: cache-node-modules
|
||||||
|
with:
|
||||||
|
path: ~/.npm
|
||||||
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-node-
|
||||||
|
# Setup Node.js
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v6
|
||||||
|
with:
|
||||||
|
node-version: '24'
|
||||||
|
# Install dependencies
|
||||||
|
- run: npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
> For more details related to cache scenarios, please refer [Node – npm](https://github.com/actions/cache/blob/main/examples.md#node---npm).
|
||||||
|
|
||||||
## Multiple Operating Systems and Architectures
|
## Multiple Operating Systems and Architectures
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|
|
||||||
|
|
@ -46,19 +46,7 @@ export const restoreCache = async (
|
||||||
|
|
||||||
core.saveState(State.CachePrimaryKey, primaryKey);
|
core.saveState(State.CachePrimaryKey, primaryKey);
|
||||||
|
|
||||||
const isManagedByYarnBerry = await repoHasYarnBerryManagedDependencies(
|
const cacheKey = await cache.restoreCache(cachePaths, primaryKey, [keyPrefix]);
|
||||||
packageManagerInfo,
|
|
||||||
cacheDependencyPath
|
|
||||||
);
|
|
||||||
let cacheKey: string | undefined;
|
|
||||||
if (isManagedByYarnBerry) {
|
|
||||||
core.info(
|
|
||||||
'All dependencies are managed locally by yarn3, the previous cache can be used'
|
|
||||||
);
|
|
||||||
cacheKey = await cache.restoreCache(cachePaths, primaryKey, [keyPrefix]);
|
|
||||||
} else {
|
|
||||||
cacheKey = await cache.restoreCache(cachePaths, primaryKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
core.setOutput('cache-hit', Boolean(cacheKey));
|
core.setOutput('cache-hit', Boolean(cacheKey));
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue