Skip to content

feat: configure caller caches - #633

Merged
rapids-bot[bot] merged 7 commits into
mainfrom
codex/multiline-cache-key-files
Sep 10, 2026
Merged

rapids-bot[bot] merged 7 commits into
mainfrom
codex/multiline-cache-key-files

Conversation

@vyasr

@vyasr vyasr commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Extend caller-managed caches with three opt-in controls:

  • Hash newline-separated source patterns (cache-key-files).
  • Restore without saving (cache-read-only), for short-lived refs that consume a trusted cache.
  • Select the matrix fields in the cache identity (cache-key-matrix-fields), while preserving each workflow’s existing identity by default.

The validation, key construction, restore/save, and environment export now live in the reusable setup-caller-cache action, rather than being duplicated across the six Conda and wheel build/test workflows.

All existing callers keep their current restore-and-save behavior and cache-key shape unless they opt in.

Dependency

@vyasr vyasr changed the title fix: hash multiline caller cache key files feat: configure caller caches Sep 9, 2026
@vyasr vyasr self-assigned this Sep 9, 2026
@vyasr vyasr added feature request New feature or request non-breaking Introduces a non-breaking change labels Sep 9, 2026
@vyasr
vyasr marked this pull request as ready for review September 9, 2026 22:20
@vyasr
vyasr requested a review from a team as a code owner September 9, 2026 22:20
@vyasr
vyasr requested review from bdice and removed request for a team September 9, 2026 22:20
Comment thread .github/workflows/conda-cpp-build.yaml Outdated
- name: Compute caller cache key
if: inputs.cache-paths != ''
id: caller-cache
run: |

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.

There has to be some way to reduce the duplication of this logic, right? Can we use a shared-action? It is repeated in way too many files and it's kind of inscrutable bash due to the complexity of the task.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reminder! I had had this same thought and told my agent to create it locally, but then I waited to push it out since it required another indirection to the shared-actions repo and I forgot to follow up. I'll push that up now.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented via rapidsai/shared-actions#143. The six workflows now invoke setup-caller-cache, so validation, key generation, restore/save, and environment export are defined once.

@vyasr vyasr Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushed an empty commit up to the libcudf PR to verify that the shared action is working: NVIDIA/cudf@591a0a2. The action is at rapidsai/shared-actions#143.

rapids-bot Bot pushed a commit to rapidsai/shared-actions that referenced this pull request Sep 10, 2026
## Summary

- add a composite action that validates, keys, restores, and saves caller-managed caches
- export optional cache environment entries for subsequent job steps
- centralize cache setup currently shared by Conda and wheel build/test workflows

## Validation

- Parsed the action and dependent workflow YAML with `yq`.
- Ran `git diff --check` in both repositories.

Dependent on by rapidsai/shared-workflows#633.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #143
@vyasr

vyasr commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@rapids-bot
rapids-bot Bot merged commit a9aaab0 into main Sep 10, 2026
2 checks passed
@vyasr
vyasr deleted the codex/multiline-cache-key-files branch September 10, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature request New feature or request non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants