Normalize SDK build leg naming#55400
Open
MichaelSimons wants to merge 3 commits into
Open
Conversation
|
Azure Pipelines: Successfully started running 1 pipeline(s). 2 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
MichaelSimons
force-pushed
the
michaelsimons-build-leg-naming-proposal
branch
2 times, most recently
from
July 21, 2026 23:01
d5544a5 to
dddeee7
Compare
Normalize SDK build leg/job naming to OS-first tokens, remove TestBuild from default labels, use AOT category casing, and drop container suffixes from leg names. Introduce platformName mapping for consistent title-cased OS tokens (Windows/Linux/MacOS) across job names and display names, and update dependsOn references to the renamed jobs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 366a002c-9ad2-4938-a79a-af9d2f425d24
MichaelSimons
force-pushed
the
michaelsimons-build-leg-naming-proposal
branch
from
July 21, 2026 23:03
dddeee7 to
b649e4d
Compare
MichaelSimons
marked this pull request as ready for review
July 22, 2026 15:25
|
Azure Pipelines: Successfully started running 1 pipeline(s). 2 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Contributor
There was a problem hiding this comment.
Pull request overview
Simplifies Azure DevOps SDK pipeline leg/job naming to a consistent Platform_arch[_category] scheme (with title-cased platform tokens), and updates pipeline references to match the normalized names.
Changes:
- Normalized job naming and display labels in
sdk-build.yml(platform-first, optional category suffix; removed container suffix). - Updated default job matrices to omit the “TestBuild” category and to consistently use
AOTinstead ofAoT. - Updated
dependsOnreferences and job parameter sets in.vsts-ci.yml/.vsts-pr.ymlto match the new normalized job names.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| eng/pipelines/templates/jobs/sdk-job-matrix.yml | Removes explicit TestBuild category, normalizes AOT, and injects a title-cased platformName into each generated job. |
| eng/pipelines/templates/jobs/sdk-build.yml | Switches job name/displayName to platformName + arch (+ category) and updates the AOT-gated artifact upload condition. |
| .vsts-pr.yml | Updates PR pipeline job parameter sets to use AOT and removes explicit TestBuild category entries. |
| .vsts-ci.yml | Updates CI pipeline dependsOn and category values to match the new normalized job names and category scheme. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The ARM64 TESTBUILD leg (gated on enableArm64Job=true) was a strict subset of the default macOS arm64 leg: same pool, same target, same Helix queue, but without runNativeAotCliTests. Since the default leg already provides full arm64 coverage, the extra leg was redundant and also produced a duplicate job name. Also normalize 'AoT' -> 'AOT' in prose comments across .vsts-ci.yml, .vsts-pr.yml, and sdk-build.yml to match the category name used in code. Parameter names (runAoTTests, RunAoTTests) and test project file name references (*.AoT.Tests) are intentionally left unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
nagilson
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Build leg naming simplification for SDK pipeline legs
This change simplifies SDK build leg names in AzDO so they’re easier to scan and easier to map to artifacts.
What changed
<PlatformName>_<arch>[_category]and display labels as<PlatformName> <arch> [category].Windows,Linux,Mac.TestBuildis no longer shown in leg names.AoTwas changed toAOTto align with .NET terminology (for example, “Native AOT” in docs/SDK usage).dependsOnreferences were updated to match the new normalized job names.Why this helps scanning
Before this change, build legs were grouped/sorted by OS in the pipeline view, but OS was not the first token in the leg name. Putting platform first aligns leg text with UI grouping, and consistent platform casing improves readability.
Before vs after (build legs)
TestBuild: windows (x64)Windows x64FullFramework: windows (x64)Windows x64 FullFrameworkAoT: windows (x64)Windows x64 AOTAoT: windows (arm64)Windows arm64 AOTTestBuild: linux (x64)Linux x64TestBuild: linux (arm64)Linux arm64AoT: linux (x64)Linux x64 AOTAoT: linux (arm64) [azureLinuxCrossArm64]Linux arm64 AOTTestBuild: macOS (arm64)Mac arm64AoT: macOS (arm64)Mac arm64 AOTWhy drop
TestBuildfrom the nameTestBuildis the default path, not a distinguishing variant. Omitting it keeps names short and makes actual variants stand out.Why drop container from the name
Container choice is currently an implementation detail for these legs, not a required differentiator. Removing it avoids truncation/noise while keeping container details available in job configuration and logs.