Skip to content

Benchmark julia-actions/cache for CI runtime - #24

Merged
bernalde merged 1 commit into
mainfrom
fix/issue-23-benchmark-julia-cache
Jun 8, 2026
Merged

Benchmark julia-actions/cache for CI runtime#24
bernalde merged 1 commit into
mainfrom
fix/issue-23-benchmark-julia-cache

Conversation

@bernalde

@bernalde bernalde commented Jun 8, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds julia-actions/cache@v3 after julia-actions/setup-julia@v3 and before julia-actions/julia-buildpkg@v1.
  • Leaves package code and tests unchanged.
  • Warm-cache benchmark meets the issue 23 material improvement threshold.

Validation

  • python -c "import pathlib, yaml; yaml.safe_load(pathlib.Path('.github/workflows/ci.yml').read_text())": passed
  • CI run 27127936887 attempt 1: passed as the cold-cache run.
  • CI run 27127936887 attempt 2: passed as the warm-cache run.

Benchmark
Baseline from issue 23: run 27072931870.

Job Baseline Cold attempt 1 Warm attempt 2 Warm vs baseline
Julia 1.10 Ubuntu 2m38s 2m56s 1m52s -46s (-29%)
Julia 1 Ubuntu 3m47s 3m42s 1m52s -115s (-51%)
Julia 1 Windows 4m17s 4m36s 2m02s -135s (-53%)

Critical path: 4m17s baseline to 2m02s warm-cache, -135s (-53%).

Step Timings

Attempt Job Total setup-julia cache restore julia-buildpkg native C ABI julia-runtest cache save
Cold Julia 1.10 Ubuntu 2m56s 5s <1s 17s 31s 1m48s 10s
Cold Julia 1 Ubuntu 3m42s 9s <1s 12s 22s 2m51s 4s
Cold Julia 1 Windows 4m36s 16s 1s 28s skipped 3m24s 17s
Warm Julia 1.10 Ubuntu 1m52s 5s 6s 10s 26s 51s 7s
Warm Julia 1 Ubuntu 1m52s 8s 5s 9s 26s 53s 5s
Warm Julia 1 Windows 2m02s 16s 14s 10s skipped 1m02s 10s

Cache Evidence

  • Cold attempt: all three jobs logged No cache found and then Cache saved successfully.
  • Warm attempt: all three jobs logged Cache restored successfully from attempt 1 keys, then saved attempt 2 caches.

Closes #23

@bernalde
bernalde marked this pull request as ready for review June 8, 2026 09:29

@bernalde bernalde left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking issues: none.

Nonblocking issues: none.

Questions: none.

Tests run and outcomes:

  • Verified fetched PR head 92a0d6939370e914de4d868e1d41be471c17e84b against the local checkout.
  • Verified local merge-base diff matches GitHub-reported totals: 1 changed file, 1 insertion, 0 deletions.
  • python -c "import pathlib, yaml; yaml.safe_load(pathlib.Path('.github/workflows/ci.yml').read_text())": passed.
  • gh pr checks 24: passed for all three matrix jobs.
  • Verified CI run 27127936887 attempt 1 passed as the cold-cache run and attempt 2 passed as the warm-cache run.
  • Attempted julia --project=. -e 'import Pkg; Pkg.test()' locally; it did not reach tests because this checkout's Julia 1.10 environment reports the manifest was resolved with Julia 1.12 and cannot locate OpenSSL_jll. I am not treating that as a PR regression because this PR only changes CI configuration and the GitHub Julia 1.10/1/Windows matrix passed on the PR head.

Issue coverage:

  • The change adds only julia-actions/cache@v3 after setup-julia and before julia-buildpkg, matching issue 23.
  • Cold and warm runs confirm cache miss/save, then restore/save, across all matrix jobs.
  • Warm critical path improves from the issue baseline 4m17s to 2m02s, satisfying the requested material-improvement threshold.

Merge-readiness: merge-ready from my review. This review is submitted as COMMENT because the current GitHub account authored the PR; formal approval must come from another maintainer.

@bernalde
bernalde merged commit e84e8b6 into main Jun 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Benchmark julia-actions/cache for CI runtime

1 participant