mirror of
https://github.com/actions/cache
synced 2026-08-14 10:37:39 +08:00
Compare commits
31
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4b0cf6cc46 | ||
|
|
60c606a2b4 | ||
|
|
b6e9a919a7 | ||
|
|
c842503583 | ||
|
|
2b7da2a62c | ||
|
|
deae296ab3 | ||
|
|
c7c46bcb6d | ||
|
|
6535c5fb5f | ||
|
|
3fdafa472e | ||
|
|
341e6d75d9 | ||
|
|
3fe001f5ca | ||
|
|
ab4bea262c | ||
|
|
7772fcab79 | ||
|
|
6c2ab9416b | ||
|
|
2c7b30f330 | ||
|
|
73cb7e0405 | ||
|
|
757c5a8ca4 | ||
|
|
4e817c1f42 | ||
|
|
72d1e4fdff | ||
|
|
8e70c71aee | ||
|
|
4d3516739c | ||
|
|
9c2f1a93d4 | ||
|
|
5df1ae880d | ||
|
|
45bb0b1552 | ||
|
|
b32c91dfec | ||
|
|
de7c17c6a9 | ||
|
|
447f0fd1d3 | ||
|
|
47e8bd685f | ||
|
|
795a8f09a9 | ||
|
|
4762de4681 | ||
|
|
12ed05f49a |
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
This action allows caching dependencies and build outputs to improve workflow execution time.
|
This action allows caching dependencies and build outputs to improve workflow execution time.
|
||||||
|
|
||||||
<a href="https://github.com/actions/cache/actions?query=workflow%3ATests"><img alt="GitHub Actions status" src="https://github.com/actions/cache/workflows/Tests/badge.svg?branch=main&event=push"></a>
|
[](https://github.com/actions/cache/actions/workflows/workflow.yml)
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
@@ -88,11 +88,13 @@ Every programming language and framework has its own way of caching.
|
|||||||
|
|
||||||
See [Examples](examples.md) for a list of `actions/cache` implementations for use with:
|
See [Examples](examples.md) for a list of `actions/cache` implementations for use with:
|
||||||
|
|
||||||
- [C# - Nuget](./examples.md#c---nuget)
|
- [C# - NuGet](./examples.md#c---nuget)
|
||||||
- [D - DUB](./examples.md#d---dub)
|
- [D - DUB](./examples.md#d---dub)
|
||||||
|
- [Deno](./examples.md#deno)
|
||||||
- [Elixir - Mix](./examples.md#elixir---mix)
|
- [Elixir - Mix](./examples.md#elixir---mix)
|
||||||
- [Go - Modules](./examples.md#go---modules)
|
- [Go - Modules](./examples.md#go---modules)
|
||||||
- [Haskell - Cabal](./examples.md#haskell---cabal)
|
- [Haskell - Cabal](./examples.md#haskell---cabal)
|
||||||
|
- [Haskell - Stack](./examples.md#haskell---stack)
|
||||||
- [Java - Gradle](./examples.md#java---gradle)
|
- [Java - Gradle](./examples.md#java---gradle)
|
||||||
- [Java - Maven](./examples.md#java---maven)
|
- [Java - Maven](./examples.md#java---maven)
|
||||||
- [Node - npm](./examples.md#node---npm)
|
- [Node - npm](./examples.md#node---npm)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ test("isGhes returns true if server url is not github.com", () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
test("isGhes returns true when server url is github.com", () => {
|
test("isGhes returns false when server url is github.com", () => {
|
||||||
try {
|
try {
|
||||||
process.env["GITHUB_SERVER_URL"] = "http://github.com";
|
process.env["GITHUB_SERVER_URL"] = "http://github.com";
|
||||||
expect(actionUtils.isGhes()).toBe(false);
|
expect(actionUtils.isGhes()).toBe(false);
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ outputs:
|
|||||||
cache-hit:
|
cache-hit:
|
||||||
description: 'A boolean value to indicate an exact match was found for the primary key'
|
description: 'A boolean value to indicate an exact match was found for the primary key'
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node16'
|
||||||
main: 'dist/restore/index.js'
|
main: 'dist/restore/index.js'
|
||||||
post: 'dist/save/index.js'
|
post: 'dist/save/index.js'
|
||||||
post-if: 'success()'
|
post-if: 'success()'
|
||||||
|
|||||||
Vendored
+3450
-1784
File diff suppressed because it is too large
Load Diff
Vendored
+3450
-1784
File diff suppressed because it is too large
Load Diff
+67
-10
@@ -4,17 +4,22 @@
|
|||||||
- [D - DUB](#d---dub)
|
- [D - DUB](#d---dub)
|
||||||
- [POSIX](#posix)
|
- [POSIX](#posix)
|
||||||
- [Windows](#windows)
|
- [Windows](#windows)
|
||||||
- [Elixir - Mix](#elixir---mix)
|
- [Deno](#deno)
|
||||||
- [Go - Modules](#go---modules)
|
|
||||||
- [Linux](#linux)
|
- [Linux](#linux)
|
||||||
- [macOS](#macos)
|
- [macOS](#macos)
|
||||||
- [Windows](#windows-1)
|
- [Windows](#windows-1)
|
||||||
|
- [Elixir - Mix](#elixir---mix)
|
||||||
|
- [Go - Modules](#go---modules)
|
||||||
|
- [Linux](#linux-1)
|
||||||
|
- [macOS](#macos-1)
|
||||||
|
- [Windows](#windows-2)
|
||||||
- [Haskell - Cabal](#haskell---cabal)
|
- [Haskell - Cabal](#haskell---cabal)
|
||||||
|
- [Haskell - Stack](#haskell---stack)
|
||||||
- [Java - Gradle](#java---gradle)
|
- [Java - Gradle](#java---gradle)
|
||||||
- [Java - Maven](#java---maven)
|
- [Java - Maven](#java---maven)
|
||||||
- [Node - npm](#node---npm)
|
- [Node - npm](#node---npm)
|
||||||
- [macOS and Ubuntu](#macos-and-ubuntu)
|
- [macOS and Ubuntu](#macos-and-ubuntu)
|
||||||
- [Windows](#windows-2)
|
- [Windows](#windows-3)
|
||||||
- [Using multiple systems and `npm config`](#using-multiple-systems-and-npm-config)
|
- [Using multiple systems and `npm config`](#using-multiple-systems-and-npm-config)
|
||||||
- [Node - Lerna](#node---lerna)
|
- [Node - Lerna](#node---lerna)
|
||||||
- [Node - Yarn](#node---yarn)
|
- [Node - Yarn](#node---yarn)
|
||||||
@@ -28,8 +33,6 @@
|
|||||||
- [Using pip to get cache location](#using-pip-to-get-cache-location)
|
- [Using pip to get cache location](#using-pip-to-get-cache-location)
|
||||||
- [Python - pipenv](#python---pipenv)
|
- [Python - pipenv](#python---pipenv)
|
||||||
- [R - renv](#r---renv)
|
- [R - renv](#r---renv)
|
||||||
- [Simple example](#simple-example-1)
|
|
||||||
- [Multiple OS's in a workflow](#multiple-oss-in-a-workflow-1)
|
|
||||||
- [Ruby - Bundler](#ruby---bundler)
|
- [Ruby - Bundler](#ruby---bundler)
|
||||||
- [Rust - Cargo](#rust---cargo)
|
- [Rust - Cargo](#rust---cargo)
|
||||||
- [Scala - SBT](#scala---sbt)
|
- [Scala - SBT](#scala---sbt)
|
||||||
@@ -66,6 +69,7 @@ With `actions/cache@v2` you can now exclude unwanted packages with [exclude patt
|
|||||||
|
|
||||||
Or you could move the cache folder like below.
|
Or you could move the cache folder like below.
|
||||||
>Note: This workflow does not work for projects that require files to be placed in user profile package folder
|
>Note: This workflow does not work for projects that require files to be placed in user profile package folder
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
env:
|
env:
|
||||||
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
|
||||||
@@ -102,6 +106,42 @@ steps:
|
|||||||
${{ runner.os }}-dub-
|
${{ runner.os }}-dub-
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Deno
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.deno
|
||||||
|
~/.cache/deno
|
||||||
|
key: ${{ runner.os }}-deno-${{ hashFiles('**/deps.ts') }}
|
||||||
|
```
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.deno
|
||||||
|
~/Library/Caches/deno
|
||||||
|
key: ${{ runner.os }}-deno-${{ hashFiles('**/deps.ts') }}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~\.deno
|
||||||
|
%LocalAppData%\deno
|
||||||
|
key: ${{ runner.os }}-deno-${{ hashFiles('**/deps.ts') }}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Elixir - Mix
|
## Elixir - Mix
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -149,8 +189,8 @@ steps:
|
|||||||
- uses: actions/cache@v2
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
%LocalAppData%\go-build
|
~\AppData\Local\go-build
|
||||||
~/go/pkg/mod
|
~\go\pkg\mod
|
||||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-go-
|
${{ runner.os }}-go-
|
||||||
@@ -172,6 +212,25 @@ We cache the elements of the Cabal store separately, as the entirety of `~/.caba
|
|||||||
restore-keys: ${{ runner.os }}-${{ matrix.ghc }}-
|
restore-keys: ${{ runner.os }}-${{ matrix.ghc }}-
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Haskell - Stack
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
name: Cache ~/.stack
|
||||||
|
with:
|
||||||
|
path: ~/.stack
|
||||||
|
key: ${{ runner.os }}-stack-global-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-stack-global-
|
||||||
|
- uses: actions/cache@v2
|
||||||
|
name: Cache .stack-work
|
||||||
|
with:
|
||||||
|
path: .stack-work
|
||||||
|
key: ${{ runner.os }}-stack-work-${{ hashFiles('stack.yaml') }}-${{ hashFiles('package.yaml') }}-${{ hashFiles('**/*.hs') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-stack-work-
|
||||||
|
```
|
||||||
|
|
||||||
## Java - Gradle
|
## 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.
|
>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.
|
||||||
@@ -255,9 +314,7 @@ If using `npm config` to retrieve the cache directory, ensure you run [actions/s
|
|||||||
- name: restore lerna
|
- name: restore lerna
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: |
|
path: **/node_modules
|
||||||
node_modules
|
|
||||||
*/*/node_modules
|
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
|
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Generated
+1133
-3282
File diff suppressed because it is too large
Load Diff
+14
-14
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "cache",
|
"name": "cache",
|
||||||
"version": "2.1.7",
|
"version": "3.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Cache dependencies and build outputs",
|
"description": "Cache dependencies and build outputs",
|
||||||
"main": "dist/restore/index.js",
|
"main": "dist/restore/index.js",
|
||||||
@@ -23,28 +23,28 @@
|
|||||||
"author": "GitHub",
|
"author": "GitHub",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/cache": "^1.0.8",
|
"@actions/cache": "^1.0.10",
|
||||||
"@actions/core": "^1.2.6",
|
"@actions/core": "^1.2.6",
|
||||||
"@actions/exec": "^1.0.1",
|
"@actions/exec": "^1.1.1",
|
||||||
"@actions/io": "^1.1.0"
|
"@actions/io": "^1.1.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^27.4.0",
|
"@types/jest": "^27.4.1",
|
||||||
"@types/nock": "^11.1.0",
|
"@types/nock": "^11.1.0",
|
||||||
"@types/node": "^12.20.42",
|
"@types/node": "^16.11.26",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.10.1",
|
"@typescript-eslint/eslint-plugin": "^5.15.0",
|
||||||
"@typescript-eslint/parser": "^5.10.1",
|
"@typescript-eslint/parser": "^5.15.0",
|
||||||
"@zeit/ncc": "^0.20.5",
|
"@zeit/ncc": "^0.20.5",
|
||||||
"eslint": "^8.8.0",
|
"eslint": "^8.11.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-plugin-import": "^2.25.4",
|
"eslint-plugin-import": "^2.25.4",
|
||||||
"eslint-plugin-jest": "^26.0.0",
|
"eslint-plugin-jest": "^26.1.2",
|
||||||
"eslint-plugin-prettier": "^4.0.0",
|
"eslint-plugin-prettier": "^4.0.0",
|
||||||
"eslint-plugin-simple-import-sort": "^7.0.0",
|
"eslint-plugin-simple-import-sort": "^7.0.0",
|
||||||
"jest": "^27.4.7",
|
"jest": "^27.5.1",
|
||||||
"jest-circus": "^27.4.6",
|
"jest-circus": "^27.5.1",
|
||||||
"nock": "^11.7.0",
|
"nock": "^11.7.0",
|
||||||
"prettier": "^2.5.1",
|
"prettier": "^2.6.0",
|
||||||
"ts-jest": "^27.1.3",
|
"ts-jest": "^27.1.3",
|
||||||
"typescript": "^3.9.9"
|
"typescript": "^3.9.9"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user