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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants