Skip to content

Normalize SDK build leg naming#55400

Open
MichaelSimons wants to merge 3 commits into
mainfrom
michaelsimons-build-leg-naming-proposal
Open

Normalize SDK build leg naming#55400
MichaelSimons wants to merge 3 commits into
mainfrom
michaelsimons-build-leg-naming-proposal

Conversation

@MichaelSimons

@MichaelSimons MichaelSimons commented Jul 21, 2026

Copy link
Copy Markdown
Member

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

  1. Leg names are now emitted as <PlatformName>_<arch>[_category] and display labels as <PlatformName> <arch> [category].
  2. Platform tokens are now consistently title-cased via template mapping: Windows, Linux, Mac.
  3. Default build legs now use an empty category, so TestBuild is no longer shown in leg names.
  4. AoT was changed to AOT to align with .NET terminology (for example, “Native AOT” in docs/SDK usage).
  5. Container suffixes were removed from leg names.
  6. dependsOn references 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)

Before After
TestBuild: windows (x64) Windows x64
FullFramework: windows (x64) Windows x64 FullFramework
AoT: windows (x64) Windows x64 AOT
AoT: windows (arm64) Windows arm64 AOT
TestBuild: linux (x64) Linux x64
TestBuild: linux (arm64) Linux arm64
AoT: linux (x64) Linux x64 AOT
AoT: linux (arm64) [azureLinuxCrossArm64] Linux arm64 AOT
TestBuild: macOS (arm64) Mac arm64
AoT: macOS (arm64) Mac arm64 AOT

Why drop TestBuild from the name

TestBuild is 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.

@azure-pipelines

Copy link
Copy Markdown
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
MichaelSimons force-pushed the michaelsimons-build-leg-naming-proposal branch 2 times, most recently from d5544a5 to dddeee7 Compare July 21, 2026 23:01
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
MichaelSimons force-pushed the michaelsimons-build-leg-naming-proposal branch from dddeee7 to b649e4d Compare July 21, 2026 23:03
@MichaelSimons
MichaelSimons marked this pull request as ready for review July 22, 2026 15:25
@MichaelSimons
MichaelSimons requested a review from MiYanni as a code owner July 22, 2026 15:25
@MichaelSimons
MichaelSimons requested review from a team and Copilot July 22, 2026 15:25
@azure-pipelines

Copy link
Copy Markdown
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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 AOT instead of AoT.
  • Updated dependsOn references and job parameter sets in .vsts-ci.yml / .vsts-pr.yml to 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.

Comment thread .vsts-ci.yml Outdated
Comment thread eng/pipelines/templates/jobs/sdk-build.yml Outdated
Comment thread eng/pipelines/templates/jobs/sdk-job-matrix.yml Outdated
MichaelSimons and others added 2 commits July 22, 2026 11:11
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>
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.

3 participants