Uh oh!
There was an error while loading. Please reload this page.
ci: hand prepared macOS SDK to downstream jobs - #7463
Conversation
🔍 Review in progress — actively reviewing now (commit 7a80e79) |
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📥 CommitsReviewing files that changed from the base of the PR and between ed436ec761f0564dfeb5d62dba239b5c7cd79a30 and 7a80e79. 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
WalkthroughThe CI workflows coordinate macOS SDK preparation through cache restoration and short-lived artifacts. The depends workflow prepares and uploads SDKs on cache miss, exposing the artifact name as a job and reusable-workflow output. The source-build workflow accepts that artifact and uses it when cache restoration misses, otherwise failing explicitly. The main workflow passes the depends output into the macOS build. Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Depends as depends-mac
participant Cache as SDK cache
participant Artifact as SDK artifact
participant SourceBuild as build-src
Depends->>Cache: restore SDK cache
alt cache miss
Depends->>Artifact: upload prepared depends/SDKs
end
SourceBuild->>Cache: restore SDK cache
alt cache miss and artifact provided
SourceBuild->>Artifact: download prepared SDKs
else cache miss and no artifact
SourceBuild-->>SourceBuild: fail with error
end
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/build-depends.yml:
- Around line 102-107: Update the prepare-sdks step to avoid expanding workflow
inputs directly in shell-executed template expressions; pass the required input
through the step’s environment and reference that environment variable within
the run block. Preserve the existing mac target condition, SDK setup command,
and artifact output behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: e2224c18-c02d-41c2-8142-348d9da05da4
📥 Commits
Reviewing files that changed from the base of the PR and between f2b15fb and ed436ec761f0564dfeb5d62dba239b5c7cd79a30.
📒 Files selected for processing (3)
.github/workflows/build-depends.yml.github/workflows/build-src.yml.github/workflows/build.yml
Uh oh!
There was an error while loading. Please reload this page.
Fork pull requests can restore caches but cannot create a missing exact SDK cache entry. The cache-check job already prepares the SDK, but separate depends and source jobs lose that runner-local copy. Upload freshly prepared SDKs as a short-lived same-run artifact and use it when either downstream exact restore misses. Trusted runs continue warming the persistent SDK cache. Fixesdashpay#7461
ed436ec to
7a80e79CompareUh oh!
There was an error while loading. Please reload this page.
Issue being fixed or feature implemented
Fork pull request workflows can restore GitHub Actions caches but cannot persist a missing macOS SDK cache entry. The trusted
build-dependscache-check job prepares the SDK, but both the downstream depends build and macOS source build previously required a successful cache restore, so the prepared SDK was lost between jobs.Fixes#7461.
What was done?
How Has This Been Tested?
actionlintschema and expression validation for the three changed workflows (ignoring the repository's pre-existing ShellCheck warnings)test/lint/lint-whitespace.pygit diff upstream/develop...HEAD --checkgit show --checkgit verify-commit HEADshipThe hosted cache/artifact transfer itself requires a live GitHub Actions run and will be validated by this pull request's CI.
Breaking Changes
None.
Checklist: