Compare commits

..

6 Commits

Author SHA1 Message Date
dependabot[bot]
d10a6fd8f3 Bump pyTooling/Actions from 3.1.1 to 4.2.2 (#170)
Bumps [pyTooling/Actions](https://github.com/pytooling/actions) from 3.1.1 to 4.2.2.
- [Release notes](https://github.com/pytooling/actions/releases)
- [Changelog](https://github.com/pyTooling/Actions/blob/dev/doc/Releases.rst)
- [Commits](9ceefdbf5d...42e17fae05)

---
updated-dependencies:
- dependency-name: pyTooling/Actions
  dependency-version: 4.2.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 11:10:04 -04:00
dependabot[bot]
1f7b6e036e Bump dcarbone/install-jq-action from 3.0.1 to 3.1.1 (#171)
Bumps [dcarbone/install-jq-action](https://github.com/dcarbone/install-jq-action) from 3.0.1 to 3.1.1.
- [Release notes](https://github.com/dcarbone/install-jq-action/releases)
- [Commits](e397bd8743...f0e10f46ff)

---
updated-dependencies:
- dependency-name: dcarbone/install-jq-action
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 11:09:30 -04:00
dependabot[bot]
c1893486c9 Bump actions/cache from 4.2.2 to 4.2.3 (#172)
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.2 to 4.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](d4323d4df1...5a3ec84eff)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 4.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 11:09:06 -04:00
Penelope Yong
c231b4e8c0 Output cache-paths and cache-key as well (#169) 2025-04-01 11:08:42 -04:00
John Omotani
e5a7946b4f Link to Github caching docs from README.md (#167)
This can be useful for non-expert users.
2025-03-13 20:59:46 -04:00
dependabot[bot]
9b3f75eff3 Bump actions/cache from 4.2.0 to 4.2.2 (#165)
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.0 to 4.2.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](1bd1e32a3b...d4323d4df1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 07:28:08 +00:00
4 changed files with 13 additions and 135 deletions

View File

@@ -1,79 +0,0 @@
---
name: Reusable Test
on:
pull_request:
inputs: {}
jobs:
reusable:
uses: ./.github/workflows/ReusableWorkflow.yml
duplicate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- name: Save cache
uses: ./
- name: Export Context
run: |
jq -c <<<"$github_json" >github.json
jq -c <<<"$env_json" >env.json
jq -c <<<"$job_json" >job.json
jq -c <<<"$steps_json" >steps.json
jq -c <<<"$runner_json" >runner.json
jq -c <<<"$inputs_json" >inputs.json
env:
github_json: ${{ toJSON(github) }}
env_json: ${{ toJSON(env) }}
job_json: ${{ toJSON(job) }}
steps_json: ${{ toJSON(steps) }}
runner_json: ${{ toJSON(runner) }}
inputs_json: ${{ toJSON(inputs) }}
- name: Export environmental variables
run: jq -n env >env_vars.json
- uses: actions/upload-artifact@v4
with:
name: trigger-context
path: "*.json"
compare:
needs:
- reusable
- duplicate
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: trigger-context
path: trigger
- uses: actions/download-artifact@v4
with:
name: reusable-context
path: reusable
- run: |
find .
for p in trigger/*.json; do
context_file="$(basename "$p")"
echo "$context_file"
a="$(cat trigger/$context_file)"
b="$(cat reusable/$context_file)"
echo "::group::Raw A"
jq <<<"$a"
echo "::endgroup::"
echo "::group::Raw B"
jq <<<"$b"
echo "::endgroup::"
echo "::group::Diff"
same=0
diff <(jq <<<"$a") <(jq <<<"$b") || same=$?
echo "::endgroup::"
[[ $same -eq 0 ]] && echo "Same" || echo "Differ"
done

View File

@@ -1,52 +0,0 @@
---
name: Reusable Workflow
on:
workflow_call:
inputs: {}
jobs:
duplicate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: julia-actions/setup-julia@v2
with:
version: "1"
- name: Save cache
uses: ./
- name: Export Context
run: |
jq -c <<<"$github_json" >github.json
jq -c <<<"$env_json" >env.json
jq -c <<<"$job_json" >job.json
jq -c <<<"$steps_json" >steps.json
jq -c <<<"$runner_json" >runner.json
jq -c <<<"$inputs_json" >inputs.json
env:
github_json: ${{ toJSON(github) }}
env_json: ${{ toJSON(env) }}
job_json: ${{ toJSON(job) }}
steps_json: ${{ toJSON(steps) }}
runner_json: ${{ toJSON(runner) }}
inputs_json: ${{ toJSON(inputs) }}
- name: Export environmental variables
run: jq -n env >env_vars.json
- uses: actions/upload-artifact@v4
with:
name: reusable-context
path: "*.json"
- run: |
set -x
uuid="$(cat /proc/sys/kernel/random/uuid)"
echo "$uuid"
# sleep 60
# https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#download-workflow-run-logs
# gh api "/repos/{owner}/{repo}/actions/runs/${run_id:?}/logs" >logs.zip
# unzip -- logs.zip "*.txt"
# find .
# grep -rnH ReusableWorkflow.yml .
# grep -rnH "$uuid" .
gh run view "${run_id:?}" --log
env:
GH_TOKEN: ${{ github.token }}
run_id: ${{ github.run_id }}

View File

@@ -64,6 +64,9 @@ By default, this action removes caches that were previously made by jobs on the
GitHub automatically removes old caches after a certain period or when the repository cache allocation is full.
It is, however, more efficient to explicitly remove old caches to improve caching for less frequently run jobs.
For more information about Github caching generically, for example how to manually delete caches, see
[this Github documentation page](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#managing-caches).
### Cache keys
The cache key that the cache will be saved as is based on:

View File

@@ -47,12 +47,18 @@ outputs:
cache-hit:
description: A boolean value to indicate an exact match was found for the primary key. Returns "" when the key is new. Forwarded from actions/cache.
value: ${{ steps.hit.outputs.cache-hit }}
cache-paths:
description: The paths that were cached
value: ${{ steps.paths.outputs.cache-paths }}
cache-key:
description: The full cache key used
value: ${{ steps.keys.outputs.key }}
runs:
using: 'composite'
steps:
- name: Install jq
uses: dcarbone/install-jq-action@e397bd87438d72198f81efd21f876461183d383a # v3.0.1
uses: dcarbone/install-jq-action@f0e10f46ff84f4d32178b4b76e1ef180b16f82c3 # v3.1.1
with:
force: false # Skip install when an existing `jq` is present
@@ -121,7 +127,7 @@ runs:
env:
MATRIX_JSON: ${{ toJSON(matrix) }}
- uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
id: cache
with:
path: |
@@ -172,7 +178,7 @@ runs:
# - https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
# Not windows
- uses: pyTooling/Actions/with-post-step@9ceefdbf5dceae8c441fc393ed82344c7ca8bbdb # v3.1.1
- uses: pyTooling/Actions/with-post-step@42e17fae05f224e5ac3d79d021a4e3577878efe5 # v4.2.2
if: ${{ inputs.delete-old-caches != 'false' &&
github.ref != format('refs/heads/{0}', github.event.repository.default_branch) &&
runner.OS != 'Windows' }}
@@ -185,7 +191,7 @@ runs:
GH_TOKEN: ${{ inputs.token }}
# Windows (because this action uses command prompt on windows)
- uses: pyTooling/Actions/with-post-step@9ceefdbf5dceae8c441fc393ed82344c7ca8bbdb # v3.1.1
- uses: pyTooling/Actions/with-post-step@42e17fae05f224e5ac3d79d021a4e3577878efe5 # v4.2.2
if: ${{ inputs.delete-old-caches != 'false' &&
github.ref != format('refs/heads/{0}', github.event.repository.default_branch) &&
runner.OS == 'Windows' }}