Skip to content

ci: constrain cache e2e job modes - #1244

Merged
brunoborges merged 2 commits into
mainfrom
philip-gai/dogfood-cache-mode
Aug 18, 2026
Merged

ci: constrain cache e2e job modes#1244
brunoborges merged 2 commits into
mainfrom
philip-gai/dogfood-cache-mode

Conversation

@philip-gai

@philip-gai philip-gai commented Aug 18, 2026

Copy link
Copy Markdown
Member

Description:

  • Set cache-mode: write-only on cache producer jobs so they populate fresh entries without consuming existing caches.
  • Set cache-mode: read on restore and verification jobs so platform enforcement prevents cache writes.
  • Constrain the cache restore benchmark specifically: warm-caches seeds fresh Maven and Gradle entries with write-only, while benchmark measures only seeded restores with read.
  • Keep workflow-level modes unset because both workflows intentionally mix producers and consumers.
  • Preserve existing action-level inputs, including cache-read-only, to dogfood platform enforcement independently of setup-java API coverage.

Check list:

  • Ran npm run check locally (format, lint, build, test) and all checks pass.
  • Mark if documentation changes are required.
  • Mark if tests were added or updated to cover the changes.
@philip-gai
philip-gai marked this pull request as ready for review August 18, 2026 14:42
@philip-gai
philip-gai requested a review from a team as a code owner August 18, 2026 14:42
Copilot AI lite review requested due to automatic review settings August 18, 2026 14:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the repository’s CI workflows to explicitly separate cache-producing jobs from cache-consuming/verification jobs, aiming to enforce cache read/write behavior at the GitHub Actions platform level during e2e and benchmark runs.

Changes:

  • Add job-level cache-mode: write-only to cache producer jobs so they always seed fresh entries without restoring.
  • Add job-level cache-mode: read to restore/verification jobs so cache writes are blocked by platform enforcement.
  • Split the benchmark workflow into a warm-caches (write-only) phase and a benchmark (read) phase to measure seeded restores only.
Show a summary per file
File Description
.github/workflows/e2e-cache.yml Applies job-level cache access modes across the cache e2e matrix to distinguish producers vs consumers.
.github/workflows/benchmark-cache-restore.yml Constrains warmup to cache writes and benchmarking to cache reads to isolate restore performance measurement.

Review details

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Lite
Comment on lines 25 to +27
name: Warm ${{ matrix.tool }} ${{ matrix.profile }} caches (${{ matrix.os }})
runs-on: ${{ matrix.os }}
cache-mode: write-only
Comment on lines 22 to +24
gradle-save:
runs-on: ${{ matrix.os }}
cache-mode: write-only
@brunoborges
brunoborges merged commit 11741d6 into main Aug 18, 2026
86 checks passed
@brunoborges
brunoborges deleted the philip-gai/dogfood-cache-mode branch August 18, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants