Limit osx-x64 CoreCLR_Libraries PR builds#129542
Conversation
Only run the osx-x64 release CoreCLR_Libraries build for installer PR changes, since its PR dependency path is the osx-x64 installer build/test job. Keep the build enabled for rolling runs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @dotnet/area-infrastructure-libraries |
There was a problem hiding this comment.
Pull request overview
This change updates the main runtime Azure Pipelines definition to further gate the osx-x64 CoreCLR_Libraries (Release) PR build so it only runs when the PR touches paths categorized as installer-relevant (while still running on all non-PR builds via isRollingBuild).
Changes:
- Tightened the
condition:for the osx-x64 ReleaseCoreCLR_Librariesbuild to useSetPathVars_installer.containsChangeinstead ofSetPathVars_non_mono_and_wasm/SetPathVars_libraries. - Kept the non-PR behavior unchanged by retaining the
or(..., eq(variables['isRollingBuild'], true))clause.
|
Upcoming macOS 27 (Golden Gate) is dropping intel macs support which they retired in 2020 and last batch manufactured in 2023. Maybe we should stop treating osx-x64 as "more important" than osx-arm64. (in this CI run, e.g., we have 26 hits for osx-x64 and 22 for osx-arm64). |
|
Workflow state for the Holistic Review Orchestrator. {
"version": 5,
"last_dispatched_commit": "0dca657bc60851dc4a8ce8440f0b6d6f23f5584e",
"last_dispatched_base_ref": "main",
"last_dispatched_base_sha": "3592c0b9ead14e9e010e9fe0ae6a25db37e575a7",
"last_reviewed_commit": "0dca657bc60851dc4a8ce8440f0b6d6f23f5584e",
"last_reviewed_base_ref": "main",
"last_reviewed_base_sha": "3592c0b9ead14e9e010e9fe0ae6a25db37e575a7",
"last_recorded_worker_run_id": "29689526151",
"review_attempt_commit": "",
"review_attempt_base_ref": "",
"review_attempt_count": 0,
"max_review_attempts": 5,
"review_history_format": "holistic-review-disclosure-v1",
"review_history": [
{
"commit": "0dca657bc60851dc4a8ce8440f0b6d6f23f5584e",
"review_id": 4730872938
}
]
} |
There was a problem hiding this comment.
Holistic Review
Motivation: The osx-x64 release CoreCLR_Libraries build in eng/pipelines/runtime.yml exists solely to satisfy the osx-x64 installer build/test dependency path. Previously it ran on any non-mono/wasm or libraries change, causing it to build on PRs where its only consumer (the osx-x64 Installer_Build_And_Test job) does not run, wasting CI capacity.
Approach: The job's condition is changed to gate on SetPathVars_installer.containsChange (plus the existing isRollingBuild), replacing the broader non_mono_and_wasm/libraries path checks. This aligns the producing build's condition with the condition already used by its sole consumer.
Summary: This is a correct, well-scoped one-line CI optimization. The modified job (lines 330-353) produces CoreCLR_Libraries_BuildArtifacts_$(osGroup)$(osSubgroup)_$(archType)_Release, which is downloaded only by the osx-x64 Installer_Build_And_Test job (line ~1591, dependsOnGlobalBuilds → CoreCLR_Libraries buildConfig: release). That installer job's own condition is already SetPathVars_installer.containsChange OR isRollingBuild, so the new producer condition matches its consumer exactly — no PR scenario loses a needed artifact, and rolling builds are preserved. I found no other consumer of the osx-x64 release variant of this artifact. No actionable findings. LGTM.
Note
This review was generated by this repository's Holistic Review agentic workflow to complement the built-in Copilot review.
Generated by Holistic Review · 54 AIC · ⌖ 14.4 AIC · ⊞ 10K
Summary
Context
The osx-x64 release CoreCLR_Libraries build exists for the osx-x64 installer build/test dependency path, so PR builds only need it when installer tests can run.
Note
This PR description was created by GitHub Copilot.