add save-always

This commit is contained in:
Ian Butterworth
2024-01-18 10:26:13 -05:00
parent 216aaef29a
commit 1470e42d30
2 changed files with 7 additions and 2 deletions

View File

@@ -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-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-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. - `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`. - `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. - `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.

View File

@@ -36,6 +36,9 @@ inputs:
cache-logs: cache-logs:
description: Whether to cache the depot's `logs` directory. This helps automatic `Pkg.gc()` keep the cache size down. description: Whether to cache the depot's `logs` directory. This helps automatic `Pkg.gc()` keep the cache size down.
default: 'true' 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: delete-old-caches:
description: Whether to delete old caches for the given key. description: Whether to delete old caches for the given key.
default: 'true' default: 'true'
@@ -52,7 +55,7 @@ runs:
using: 'composite' using: 'composite'
steps: steps:
- name: Install jq - name: Install jq
uses: dcarbone/install-jq-action@8867ddb4788346d7c22b72ea2e2ffe4d514c7bcb uses: dcarbone/install-jq-action@8867ddb4788346d7c22b72ea2e2ffe4d514c7bcb # v2.1.0
with: with:
force: false # Skip install when an existing `jq` is present force: false # Skip install when an existing `jq` is present
@@ -115,7 +118,7 @@ runs:
env: env:
MATRIX_JSON: ${{ toJSON(matrix) }} MATRIX_JSON: ${{ toJSON(matrix) }}
- uses: actions/cache@4d4ae6ae148a43d0fd1eda1800170683e9882738 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
id: cache id: cache
with: with:
path: | path: |
@@ -123,6 +126,7 @@ runs:
key: ${{ steps.keys.outputs.key }} key: ${{ steps.keys.outputs.key }}
restore-keys: ${{ steps.keys.outputs.restore-key }} restore-keys: ${{ steps.keys.outputs.restore-key }}
enableCrossOsArchive: false enableCrossOsArchive: false
save-always: ${{ inputs.save-always }}
# if it wasn't restored make the depot anyway as a signal that this action ran # 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 # for other julia actions to check, like https://github.com/julia-actions/julia-buildpkg/pull/41