-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Use helix platform variable aliases for macOS ARM64 and x64 queues #121373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: agocke <[email protected]>
|
@copilot Do you need to import the variables definition file? |
Co-authored-by: agocke <[email protected]>
Yes, good catch! Added the import in eng/pipelines/common/variables.yml (commit 65c5bd5). The helix-platforms.yml file wasn't being imported anywhere, so the variables would not have been available. All pipelines (coreclr, libraries, runtime) include common/variables.yml, so they'll now have access to the helix platform variable aliases. |
|
@copilot can you just import the variables in the files that need it, to prevent pipeline template pollution? |
…ad of common variables Co-authored-by: agocke <[email protected]>
Done in commit 363d319. Moved the import from common/variables.yml to the three helix-queues-setup.yml files that actually use the variables (installer, libraries, and coreclr/templates). This prevents polluting the common variables namespace. |
|
@copilot It looks like this commit broke CI -- the runtime pipeline is no longer running |
…x-queues-setup files Co-authored-by: agocke <[email protected]>
Fixed in commit 59982bd. The issue was that I added a |
|
@copilot it looks like helix-queues-setup takes variables as a parameter. Can we add the variables import there? |
Co-authored-by: agocke <[email protected]>
agocke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot please address comments
agocke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot please address feedback
agocke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot please address
…able aliases Co-authored-by: agocke <[email protected]>
…ter formatting Co-authored-by: agocke <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request centralizes and standardizes Helix queue platform definitions by introducing a single source of truth in helix-platforms.yml and updating queue setup files to reference these centralized variables. The key changes streamline platform management and ensure consistency across different components (libraries, installer, and coreclr).
Key Changes
- Introduces
helix-platforms.ymlas a centralized template containing all Helix platform queue definitions - Updates macOS queue variables to use newer platform versions (OSX.26 for latest)
- Refactors queue setup files to use runtime variable references instead of hardcoded queue names
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| eng/pipelines/runtime.yml | Adds import of helix-platforms.yml template to make variables available pipeline-wide |
| eng/pipelines/helix-platforms.yml | Reorganizes platform variables by moving common aliases to the end, adds comment explaining ordering requirement, updates macOS x64 latest version to OSX.26 |
| eng/pipelines/libraries/helix-queues-setup.yml | Replaces hardcoded macOS queue names with runtime variable references |
| eng/pipelines/installer/helix-queues-setup.yml | Replaces hardcoded macOS queue names with runtime variable references |
| eng/pipelines/coreclr/templates/helix-queues-setup.yml | Replaces conditional logic with runtime variable references for macOS queues |
Co-authored-by: agocke <[email protected]>
Replace hardcoded macOS queue names with centralized variable aliases from
eng/pipelines/helix-platforms.yml, enabling automatic version updates across PR and CI definitions.This PR updates the default queues for libraries and coreclr PRs to use the latest macOS version, namely 26 (Sequoia 15), for both public and internal queues.
Changes Made
Pipeline Configuration Files:
Helix Platform Definitions (helix-platforms.yml):
helix_macos_x64_latestfrom OSX.13.Amd64.Open to OSX.26.Amd64.Openhelix_macos_x64_latest_internalfrom OSX.13.Amd64 to OSX.26.Amd64 for consistency with ARM64 configuration${{ variables.* }}for variable definitionsQueue Setup Files:
$(helix_macos_arm64)and$(helix_macos_x64)$(helix_macos_arm64)and$(helix_macos_x64)$(helix_macos_arm64)and$(helix_macos_x64)while preserving superpmi-diffs exception (OSX.14.Arm64.Open) and internal queuesVariable Expansion Strategy
${{ variables.* }}for compile-time evaluation$(...)for runtime evaluationOut of Scope
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.