Skip to content

ci: cache check-features - #2613

Merged
carneiro-cw merged 2 commits into
mainfrom
cache_check_features
Aug 14, 2026
Merged

ci: cache check-features#2613
carneiro-cw merged 2 commits into
mainfrom
cache_check_features

Conversation

@carneiro-cw

@carneiro-cw carneiro-cw commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

PR Type

Enhancement, Tests


Description

  • Add cargo-hack@0.6.39 to CI tools setup

  • Introduce "Check all features" caching step

  • Prime cache for all feature combinations

  • Preserve existing build and test caching


Diagram Walkthrough

flowchart LR
  A["Set up dependencies"] --> B["Build Debug binaries"]
  B --> C["Check all features"]
  C --> D["Save cache"]
Loading

File Walkthrough

Relevant files
Configuration changes
build-debug-cache.yml
Enhance CI caching for feature checks                                       

.github/workflows/build-debug-cache.yml

  • Installed cargo-hack@0.6.39 alongside existing tools
  • Added "Check all features" step to cache feature checks
  • Cleared RUSTFLAGS to avoid coverage flag mismatches
  • Retained existing test and build cache steps
+11/-1   

@carneiro-cw
carneiro-cw requested a review from a team as a code owner August 14, 2026 13:53

@cloudwalk-review-agent cloudwalk-review-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Summary

Looks good. This change cleanly adds cargo-hack installation and primes the shared debug cache with cargo hack check --each-feature, which is aligned with the stated goal of avoiding repeated feature-combo rechecks in PR jobs. The explicit RUSTFLAGS: "" is a good safeguard to keep cache fingerprints compatible with the non-coverage check-features workflow.

No concrete correctness, security, or deploy-safety issues found in the provided diff/context.

@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ No major issues detected

@github-actions

Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Split tool installation steps

The install-action step may not support installing multiple tools via a single
space-separated string. Split this into two steps so each tool is installed
explicitly to avoid silent failures.

.github/workflows/build-debug-cache.yml [56-57]

-with:
-  tool: cargo-llvm-cov@0.6.14 cargo-hack@0.6.39
+- name: Set up cargo-llvm-cov
+  uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940
+  with:
+    tool: cargo-llvm-cov@0.6.14
 
+- name: Set up cargo-hack
+  uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940
+  with:
+    tool: cargo-hack@0.6.39
+
Suggestion importance[1-10]: 6

__

Why: Splitting the tool input into two explicit steps prevents potential silent failures if the install-action doesn’t support space-separated tool lists, improving reliability.

Low
Possible issue
Include workspace in feature check

Without --workspace, cargo hack only checks the root crate’s features. Add
--workspace so all workspace crates get .rmeta artifacts cached and avoid missing
targets.

.github/workflows/build-debug-cache.yml [79]

-run: cargo hack check --each-feature --keep-going
+run: cargo hack check --workspace --each-feature --keep-going
Suggestion importance[1-10]: 5

__

Why: Adding --workspace ensures that feature checks and cached .rmeta artifacts include all crates in the workspace rather than just the root crate.

Low

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2e89c3c769

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/build-debug-cache.yml
Comment thread .github/workflows/build-debug-cache.yml

@cloudwalk-review-agent cloudwalk-review-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Summary

LGTM. The PR cleanly separates check-features caching from the existing shared debug cache by introducing a dedicated cache key/workflow (check-features-release) and updating check-features.yml to restore from that key with an OS + Cargo.lock hash suffix.

The new build-check-features-cache.yml primes cache using the same command/env (just check-features, RELEASE=1, CARGO_PROFILE_RELEASE_DEBUG=0) as the consumer job, which is the right way to maximize artifact reuse and avoid fingerprint divergence. I did not find concrete correctness, security, or CI-safety regressions in the provided diff.

@carneiro-cw
carneiro-cw enabled auto-merge (squash) August 14, 2026 15:46
@carneiro-cw
carneiro-cw merged commit 130a953 into main Aug 14, 2026
55 of 56 checks passed
@carneiro-cw
carneiro-cw deleted the cache_check_features branch August 14, 2026 15:56
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.

2 participants