Skip to content

Add cross-OS S3 restore regression test#84

Open
matemoln wants to merge 1 commit into
masterfrom
fix/cross-os-s3-repro
Open

Add cross-OS S3 restore regression test#84
matemoln wants to merge 1 commit into
masterfrom
fix/cross-os-s3-repro

Conversation

@matemoln

Copy link
Copy Markdown

Summary

  • Add test-s3-cache-cross-os-save-linux and test-s3-cache-cross-os-restore-windows jobs to test-action.yml
  • Linux saves .cross-os-cache-test.txt to S3 with enableCrossOsArchive: true
  • Windows restores the same key and asserts cache-hit=true and file content
  • import-github-cache: false on both jobs so GitHub cache fallback cannot mask an S3 miss

Context

Reproduces runs-on/cache v5.0.7 bug: enableCrossOsArchive is not passed to custom.restoreCache() on the S3 restore path, so Windows lookups use a different version hash than Linux saves.

Test plan

  • PR CI: test-s3-cache-cross-os-save-linux passes
  • PR CI: test-s3-cache-cross-os-restore-windows fails on current runs-on/cache pin (expected until pin bump)
  • After bumping runs-on/cache to a fixed version, both jobs pass

Linux saves a workspace file to S3 with enableCrossOsArchive=true; a
dependent Windows job must restore the same cache entry. Reproduces
runs-on/cache v5.0.7 restoreImpl not passing enableCrossOsArchive on
the S3 restore path.
@matemoln matemoln requested a review from a team as a code owner June 12, 2026 19:08
@sonarqubecloud

Copy link
Copy Markdown

@sonarqube-cloud-us

Copy link
Copy Markdown

@gitar-bot

gitar-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown
CI failed: The CI pipeline failed due to a formatting error in CLAUDE.md caught by markdownlint and a cache miss in the newly added cross-OS S3 restore regression test.

Overview

Two distinct issues are blocking the PR: a linting violation in the documentation and an incorrectly configured regression test that fails when the cache is missing.

Failures

Markdown Linting Error (confidence: high)

  • Type: test
  • Affected jobs: Pre-commit validation jobs
  • Related to change: yes
  • Root cause: The markdownlint hook failed on CLAUDE.md due to an MD060 violation (Table pipe alignment).
  • Suggested fix: Re-align the pipes in the CLAUDE.md table at line 70 so they are consistent with the header row.

Cross-OS S3 Regression Test Failure (confidence: high)

  • Type: test
  • Affected jobs: test-s3-<K8S_POD>-os-restore-windows
  • Related to change: yes
  • Root cause: The test requires a cache to be present but fails immediately because fail-on-cache-miss: true is set, and the cache key has not been populated yet.
  • Suggested fix: Update .github/workflows/test-action.yml to ensure a cache save step precedes the restore step, or set fail-on-cache-miss: false for this specific test case during initial runs.

Summary

  • Change-related failures: 2 (one linting error, one test configuration error).
  • Infrastructure/flaky failures: 0
  • Recommended action: Fix the table formatting in CLAUDE.md and adjust the S3 test logic in the workflow to handle empty caches during initial test runs.
Code Review ✅ Approved

Regression test suite added to verify S3 cross-OS cache restoration between Linux and Windows. No issues found.

Tip

Comment Gitar fix CI or enable auto-apply: gitar auto-apply:on

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

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.

1 participant