Add Windows cache archive support #11

Merged
stephen merged 1 commit from feat/5-windows-cache-support into main 2026-06-22 23:36:00 +00:00
Owner

Windows runners need cache archives to use the system tar without a POSIX shell and to keep restore confinement correct for drive-qualified paths.

Fixes #5

What changed

  • Switched archive create, list, and extract to direct tar invocations instead of bash pipelines.
  • Added Windows-aware restore confinement for drive paths, backslash traversal, drive-relative entries, and link targets.
  • Added bsdtar listing parsing and cache-version coverage for Linux versus Windows when cross-OS archives are disabled.
  • Updated README, MIGRATION, and SECURITY docs for Windows runner behavior and cross-OS limits.

Testing

  • focused Windows path and archive tests
  • npm test
  • npm run check
Windows runners need cache archives to use the system tar without a POSIX shell and to keep restore confinement correct for drive-qualified paths. Fixes #5 **What changed** - Switched archive create, list, and extract to direct tar invocations instead of bash pipelines. - Added Windows-aware restore confinement for drive paths, backslash traversal, drive-relative entries, and link targets. - Added bsdtar listing parsing and cache-version coverage for Linux versus Windows when cross-OS archives are disabled. - Updated README, MIGRATION, and SECURITY docs for Windows runner behavior and cross-OS limits. **Testing** - focused Windows path and archive tests - npm test - npm run check
Add Windows cache archive support
All checks were successful
test / unit (pull_request) Successful in 23s
test / e2e (pull_request) Successful in 6s
test / e2e-post-save (pull_request) Successful in 5s
895ab67808
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rasterstate/cache-action!11
No description provided.