Skip to content

[ci] Pass emulator agent count through the stage parameter - #13443

Merged
jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-main-ci-failures
Nov 10, 2026
Merged

jonathanpeppers merged 1 commit into
mainfrom
jonathanpeppers-main-ci-failures

Conversation

@jonathanpeppers

@jonathanpeppers jonathanpeppers commented Nov 9, 2026 •

Copy link
Copy Markdown
Member

The internal main pipeline fails before any jobs start because the emulator stage expands variables.MSBuildEmulatorTestAgentCount to an empty strategy.parallel value. Build 15971517 reports Unexpected value '' at stage-msbuild-emulator-tests.yaml:25. The first main build after #13390, 15932811, has the same error.

Restore the agent_count stage parameter and pass the shared setting from the calling pipeline. Keep 11 emulator agents and leave the public and internal inline jobs unchanged.

Validation:

  • git diff --check HEAD^ HEAD: passed.
  • git diff-tree --no-commit-id --name-only -r HEAD | ForEach-Object { Get-Content $_ -Raw | ConvertFrom-Yaml | Out-Null }: passed for both changed YAML files.
  • Local PowerShell assertions confirmed that all three pipeline definitions still use the shared 11-agent setting and the shared stage uses its explicit parameter.
  • az pipelines run --id 11410 --branch jonathanpeppers-main-ci-failures --org https://devdiv.visualstudio.com --project DevDiv: queued build 15971669 at PR commit 2fe236eba13e9ffbb91ba9707e27c2bfde6cf881. Azure accepted the YAML with no validation errors and created the stages, including MSBuild Emulator Tests. The run is in progress. This confirms that the fix gets past the original error, not that the full build passes.
  • Azure's read-only YAML preview was blocked by missing EditBuild permission. The actual pipeline run above provided the startup validation instead.

Local SDK builds and device tests were not run because this change only changes pipeline YAML.

The internal main pipeline rejects an empty parallel count after #13390.
Restore the stage parameter and pass the shared 11-agent setting from
its caller, where the variable is available during template expansion.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings November 9, 2026 20:52

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.

🔵 Needs a closer look

An authorized Azure/1ES YAML preview is needed to confirm expansion produces 11 emulator jobs, since preview access was denied and the external template is unavailable.

No open issues 🎉

What changed in this PR

This PR addresses the internal pipeline’s empty emulator strategy.parallel value by restoring an explicit stage parameter after #13390 centralized the agent count.

Changes:

  • Restore agent_count, defaulting to 11, and use it for the shared stage’s parallel jobs.
  • Pass MSBuildEmulatorTestAgentCount from the calling pipeline, leaving public and internal inline jobs unchanged.

The PR reports successful local YAML checks; Azure server validation remains unverified because preview permissions were unavailable.

File Description
build-tools/​automation/​yaml-templates/​stage-msbuild-emulator-tests.yaml Restore agent_count and use it for strategy.parallel.
build-tools/​automation/​azure-pipelines.yaml Pass the shared agent-count setting into the emulator stage.

Review effort: Balanced

@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The explicit stage parameter carries the shared 11-agent setting into the emulator job while leaving the public and internal inline jobs unchanged. Reviewed the affected template callers, variable scope, test slicing, and reporting paths; no blocking issues found in the static review.

@jonathanpeppers
jonathanpeppers merged commit 01409b3 into main Nov 10, 2026
42 of 43 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-main-ci-failures branch November 10, 2026 02:09
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