diff --git a/README.md b/README.md index be23557..f56e421 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ This action uses [`jq`](https://github.com/jqlang/jq) to parse JSON. - `cache-compiled` - Whether to cache the depot's `compiled` directory. Defaults to `true`. - `cache-scratchspaces` - Whether to cache the depot's `scratchspaces` directory. Defaults to `true`. - `cache-logs` - Whether to cache the depot's `logs` directory. Defaults to `true`. Helps auto-`Pkg.gc()` keep the cache small. +- `save-always` - Whether to save the cache even when the job fails. Defaults to `true`. This is useful as the julia depot should mostly be reusable from a failing job. - `delete-old-caches` - Whether to delete old caches for the given key. Defaults to `true`. - `token` - A [GitHub PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). Defaults to `github.token`. Requires `repo` scope to enable the deletion of old caches. diff --git a/action.yml b/action.yml index e4c7b01..edaae47 100644 --- a/action.yml +++ b/action.yml @@ -36,6 +36,9 @@ inputs: cache-logs: description: Whether to cache the depot's `logs` directory. This helps automatic `Pkg.gc()` keep the cache size down. default: 'true' + save-always: + description: Whether to save the cache even when the job fails. This is useful as the julia depot should mostly be reusable from a failing job. + default: 'true' delete-old-caches: description: Whether to delete old caches for the given key. default: 'true' @@ -52,7 +55,7 @@ runs: using: 'composite' steps: - name: Install jq - uses: dcarbone/install-jq-action@8867ddb4788346d7c22b72ea2e2ffe4d514c7bcb + uses: dcarbone/install-jq-action@8867ddb4788346d7c22b72ea2e2ffe4d514c7bcb # v2.1.0 with: force: false # Skip install when an existing `jq` is present @@ -115,7 +118,7 @@ runs: env: MATRIX_JSON: ${{ toJSON(matrix) }} - - uses: actions/cache@4d4ae6ae148a43d0fd1eda1800170683e9882738 + - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: cache with: path: | @@ -123,6 +126,7 @@ runs: key: ${{ steps.keys.outputs.key }} restore-keys: ${{ steps.keys.outputs.restore-key }} enableCrossOsArchive: false + save-always: ${{ inputs.save-always }} # if it wasn't restored make the depot anyway as a signal that this action ran # for other julia actions to check, like https://github.com/julia-actions/julia-buildpkg/pull/41