zhengruifeng opened a new pull request, #56324:
URL: https://github.com/apache/spark/pull/56324
### What changes were proposed in this pull request?
Add a `volumes:` bind-mount to the four container-based CI jobs (`pyspark`,
`sparkr`, `lint`, `docs`) so their Coursier cache step works correctly:
```yaml
container:
image: ...
volumes:
- /home/runner/.cache/coursier:/github/home/.cache/coursier
```
### Why are the changes needed?
Container jobs set `HOME=/github/home` (bound from
`/home/runner/work/_temp/_github_home`), so `~/.cache/coursier` inside the
container resolves to `/github/home/.cache/coursier` — a different physical
path from `/home/runner/.cache/coursier` where the host-runner `precompile` job
writes the shared `Linux-coursier-<hash>` cache. This path mismatch caused two
symptoms on every run:
1. **Restore miss** — the cache action extracts the cached archive to the
wrong directory; SBT never finds the pre-resolved JARs and re-downloads them.
2. **Save failure** — after the job the post-step reports `Path Validation
Error: Path(s) specified in the action for caching do(es) not exist, hence no
cache is being saved.`
The bind-mount makes `/github/home/.cache/coursier` point to the same
physical directory the host writes to, fixing both symptoms.
All four jobs remain restore-only (`actions/cache/restore`) — `pyspark` and
`sparkr` depend on `precompile` so they always hit the precompile-written
cache; `lint` and `docs` run concurrently with `precompile` so keeping them
restore-only avoids a race where a partial closure could be saved before
`precompile` finishes writing the full superset.
### Does this PR introduce _any_ user-facing change?
No. CI-only.
### How was this patch tested?
YAML validates with `python3 -c "import yaml; yaml.safe_load(...)"`.
Functional verification on CI run of this branch.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (claude-sonnet-4-6)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]