1
0
mirror of https://github.com/actions/cache.git synced 2025-12-18 04:58:59 +08:00

Compare commits

...

11 Commits

Author SHA1 Message Date
David Hadka
c64c572235 Catch and log unhandled exceptions stemming from closed file descriptor (#596) 2021-05-27 10:46:35 -05:00
Alex Tokarev
cc2d767a72 Update Rust directories recommended for caching (#433)
This commit applies the suggestion from The Cargo Book:
https://doc.rust-lang.org/cargo/guide/cargo-home.html#caching-the-cargo-home-in-ci
2021-05-21 12:41:57 -05:00
Daniel Kuschny
2fa955d825 Update examples.md (#588)
Extend gradle notes.
2021-05-13 14:40:34 -05:00
kalin
3a696372f2 elixir typo - stray parenthesis (#569) 2021-04-20 08:51:44 -05:00
Wojtek Mach
366e5ba022 Update cache key for Elixir (#568) 2021-04-19 08:42:01 -05:00
David Hadka
8d3f2fc3ce Update dependencies (#565) 2021-04-12 12:21:20 -05:00
David Hadka
1a9e2138d9 Update cache module to v1.0.7 (#562) 2021-04-12 08:57:09 -05:00
Jonathan Clem
981fa981ed Merge pull request #469 from ericmj/patch-1
Also cache _build for Elixir
2021-03-31 10:46:31 -04:00
Pradyun Gedam
4498c5b4d8 Drop the example based on using pip's internals (#519)
pip's documentation explicitly states to not use `import pip`:

> While it is implemented in Python, and so is available from your Python code via
> `import pip`, you must not use pip’s internal APIs in this way.

This example is in direct contradiction with the documentation's guidance and, thus, has
been removed.
2021-03-29 17:34:02 -04:00
Robert Stoll
4134e6de47 It is not recommended to cache node_modules (#537)
According to the docs of this repo, so the example should not show it
2021-02-17 13:18:00 -05:00
Eric Meadows-Jönsson
62a4d75442 Also cache _build for Elixir 2020-11-24 15:52:21 +01:00
26 changed files with 21273 additions and 15626 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -19,7 +19,6 @@ See ["Caching dependencies to speed up workflows"](https://help.github.com/githu
path: |
~/cache
!~/cache/exclude
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
```

17997
dist/restore/index.js vendored

File diff suppressed because one or more lines are too long

17999
dist/save/index.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -97,11 +97,14 @@ steps:
```
## Elixir - Mix
```yaml
- uses: actions/cache@v2
with:
path: deps
key: ${{ runner.os }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
path: |
deps
_build
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
restore-keys: |
${{ runner.os }}-mix-
```
@@ -134,6 +137,8 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba
## Java - Gradle
>Note: Ensure no Gradle daemons are running anymore when your workflow completes. Creating the cache package might fail due to locks being held by Gradle. Refer to the [Gradle Daemon documentation](https://docs.gradle.org/current/userguide/gradle_daemon.html) on how to disable or stop the Gradle Daemons.
```yaml
- uses: actions/cache@v2
with:
@@ -389,23 +394,6 @@ jobs:
${{ runner.os }}-pip-
```
### Using a script to get cache location
> Note: This uses an internal pip API and may not always work
```yaml
- name: Get pip cache dir
id: pip-cache
run: |
python -c "from pip._internal.locations import USER_CACHE_DIR; print('::set-output name=dir::' + USER_CACHE_DIR)"
- uses: actions/cache@v2
with:
path: ${{ steps.pip-cache.outputs.dir }}
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
```
## Python - pipenv
```yaml
@@ -488,9 +476,11 @@ whenever possible:
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
```

843
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "cache",
"version": "2.1.3",
"version": "2.1.6",
"private": true,
"description": "Cache dependencies and build outputs",
"main": "dist/restore/index.js",
@@ -23,29 +23,29 @@
"author": "GitHub",
"license": "MIT",
"dependencies": {
"@actions/cache": "^1.0.6",
"@actions/cache": "^1.0.7",
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.1",
"@actions/io": "^1.0.1"
"@actions/io": "^1.1.0"
},
"devDependencies": {
"@types/jest": "^24.0.13",
"@types/nock": "^11.1.0",
"@types/node": "^12.0.4",
"@types/node": "^12.20.7",
"@typescript-eslint/eslint-plugin": "^2.7.0",
"@typescript-eslint/parser": "^2.7.0",
"@zeit/ncc": "^0.20.5",
"eslint": "^6.6.0",
"eslint-config-prettier": "^6.5.0",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jest": "^23.0.3",
"eslint-plugin-prettier": "^3.1.1",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-jest": "^23.20.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-simple-import-sort": "^5.0.2",
"jest": "^24.8.0",
"jest-circus": "^24.7.1",
"nock": "^11.7.0",
"prettier": "^1.19.1",
"ts-jest": "^24.0.2",
"typescript": "^3.7.3"
"ts-jest": "^26.5.4",
"typescript": "^3.9.9"
}
}

View File

@@ -4,6 +4,11 @@ import * as core from "@actions/core";
import { Events, Inputs, State } from "./constants";
import * as utils from "./utils/actionUtils";
// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in
// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to
// throw an uncaught exception. Instead of failing this action, just warn.
process.on("uncaughtException", e => utils.logWarning(e.message));
async function run(): Promise<void> {
try {
if (utils.isGhes()) {