Skip to content

Commit

Permalink
Remove recommendation to cache node_modules (#69)
Browse files Browse the repository at this point in the history
* Update npm caching examples

* Fix output name

* Remove extra details tag
  • Loading branch information
Josh Gross authored and GitHub committed Nov 8, 2019
1 parent bde557a commit bc821d0
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 14 deletions.
23 changes: 10 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Create a workflow `.yml` file in your repositories `.github/workflows` directory
### Example workflow

```yaml
name: Example Caching with npm
name: Caching Primes

on: push

Expand All @@ -39,22 +39,19 @@ jobs:
steps:
- uses: actions/checkout@v1

- name: Cache node modules
- name: Cache Primes
id: cache-primes
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
path: prime-numbers
key: ${{ runner.os }}-primes

- name: Install Dependencies
run: npm install
- name: Generate Prime Numbers
if: steps.cache-primes.outputs.cache-hit != 'true'
run: /generate-primes.sh -d prime-numbers

- name: Build
run: npm run build

- name: Test
run: npm run test
- name: Use Prime Numbers
run: /primes.sh -d prime-numbers
```
## Ecosystem Examples
Expand Down
34 changes: 33 additions & 1 deletion examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,42 @@ Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/packa
## Node - npm
For npm, cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` on Windows. See https://docs.npmjs.com/cli/cache#cache

>Note: It is not recommended to cache `node_modules`, as it can break across Node versions and won't work with `npm ci`

### macOS and Ubuntu

```yaml
- uses: actions/cache@v1
with:
path: node_modules
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
```

### Windows

```yaml
- uses: actions/cache@v1
with:
path: ~\AppData\Roaming\npm-cache
key: ${{ runner.os }}-node-${{ hashFiles('**\package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
```

### Using multiple systems and `npm config`

```yaml
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- uses: actions/cache@v1
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
Expand Down

0 comments on commit bc821d0

Please sign in to comment.