Repository navigation
[ci] Pass emulator agent count through the stage parameter - #13443
Conversation
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>
There was a problem hiding this comment.
🔵 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
MSBuildEmulatorTestAgentCountfrom 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
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
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.
The internal main pipeline fails before any jobs start because the emulator stage expands
variables.MSBuildEmulatorTestAgentCountto an emptystrategy.parallelvalue. Build 15971517 reportsUnexpected value ''atstage-msbuild-emulator-tests.yaml:25. The first main build after #13390, 15932811, has the same error.Restore the
agent_countstage 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.az pipelines run --id 11410 --branch jonathanpeppers-main-ci-failures --org https://devdiv.visualstudio.com --project DevDiv: queued build 15971669 at PR commit2fe236eba13e9ffbb91ba9707e27c2bfde6cf881. 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.EditBuildpermission. 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.