Skip to content

CI/CD Deps update#2590

Merged
akenmorris merged 2 commits into
masterfrom
amorris/ci-deps-cache-key
Jul 13, 2026
Merged

CI/CD Deps update#2590
akenmorris merged 2 commits into
masterfrom
amorris/ci-deps-cache-key

Conversation

@akenmorris

Copy link
Copy Markdown
Contributor

Drop python_requirements.txt from dependency cache key
Persist ccache across runs for Linux and macOS builds

The dependency cache key hashed python_requirements.txt, but that file
only affects the pip/conda environment, not the compiled C++ dependency
tree in $HOME/install produced by build_dependencies.sh (which never
reads it). Dependabot bumps to python_requirements.txt (e.g. #2578,
#2579) therefore rotated the key on nearly every batch of PRs, forcing a
full ~1.5-2h rebuild of VTK/ITK/Qt/OpenVDB and causing each PR to save
its own duplicate copy of the deps cache.

Removing it from the key lets pip version bumps reuse the existing
dependency cache. Deliberately not adding restore-keys: a prefix
fallback would restore a stale $HOME/install that gha_deps.sh would then
treat as valid (it skips its rebuild whenever that directory exists),
linking against dependencies that no longer match build_dependencies.sh.

Refs #2589.
Persist ccache using GHA cache

Add actions/cache restore+save around the build step (Linux release/debug,
macOS intel/arm64; Windows stays off). Per-commit key with a restore-keys
prefix fallback (safe for ccache, which re-validates each object). Save uses
if: always() + continue-on-error to survive test failures and re-runs.

Refs #2589.
@akenmorris
akenmorris merged commit e7ffaf2 into master Jul 13, 2026
5 checks passed
@akenmorris
akenmorris deleted the amorris/ci-deps-cache-key branch July 13, 2026 17:28
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