Skip to content

Switch release/8.0.4xx builds to -Svc pools#20856

Closed
missymessa wants to merge 1 commit intorelease/8.0.4xxfrom
missymessa/svc-pool-8.0.4xx
Closed

Switch release/8.0.4xx builds to -Svc pools#20856
missymessa wants to merge 1 commit intorelease/8.0.4xxfrom
missymessa/svc-pool-8.0.4xx

Conversation

@missymessa
Copy link
Copy Markdown
Member

Hardcode -Svc pool names for servicing branch builds to ensure they run on servicing infrastructure instead of R&D pools.

Changes

  • DncEngInternalBuildPool variable references replaced with NetCore1ESPool-Svc-Internal (3 occurrences in .vsts-ci.yml)
  • NetCore-Public-XL replaced with NetCore-Public-Svc-XL (vmr-build.yml variables and stages)
  • NetCore1ESPool-Internal-XL replaced with NetCore1ESPool-Internal-Svc-XL (vmr-build.yml variables and stages)

Context

The pool-providers.yml dynamic expression should auto-select -Svc pools for release branches but is not working in practice. This change hardcodes the correct -Svc pools to match the pattern used in dotnet/arcade PRs #16746, #16747, #16748.

Hardcode -Svc pool names for servicing branch builds:
- NetCore1ESPool-Internal → NetCore1ESPool-Svc-Internal
- NetCore1ESPool-Internal-XL → NetCore1ESPool-Internal-Svc-XL
- NetCore-Public-XL → NetCore-Public-Svc-XL
-  → NetCore1ESPool-Svc-Internal

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 23, 2026 23:09
Copy link
Copy Markdown

Copilot AI left a 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 PR hardcodes servicing (-Svc) Azure DevOps pool names in key pipeline YAMLs so that release/servicing branch builds run on servicing infrastructure rather than R&D pools.

Changes:

  • Update VMR build variable defaults to use NetCore-Public-Svc-XL, NetCore1ESPool-Internal-Svc-XL, and NetCore1ESPool-Svc-Internal.
  • Update VMR build stage pool parameters to use -Svc pool names for internal PR and public legs.
  • Update .vsts-ci.yml to hardcode NetCore1ESPool-Svc-Internal in several internal pool references.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
eng/pipelines/templates/variables/vmr-build.yml Hardcodes default pool names to -Svc variants.
eng/pipelines/templates/stages/vmr-build.yml Switches stage pool parameter defaults to -Svc pools.
.vsts-ci.yml Replaces $(DncEngInternalBuildPool) usages with NetCore1ESPool-Svc-Internal.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 52 to 55
- ${{ else }}:
- name: defaultPoolName
value: $(DncEngInternalBuildPool)
value: NetCore1ESPool-Svc-Internal
- name: poolImage_Linux
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

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

defaultPoolName is now hardcoded to NetCore1ESPool-Svc-Internal for all internal non-PR builds, bypassing the pool-providers variable that selects -Svc vs non--Svc based on branch/PR target. If this variables template is consumed by non-servicing branches as well, this will route those builds onto servicing infrastructure; consider keeping branch-based selection (or adding an explicit condition) unless the template is guaranteed to be used only for servicing branches.

Copilot uses AI. Check for mistakes.
Comment thread .vsts-ci.yml
Comment on lines 80 to 83
sourceAnalysisPool:
name: $(DncEngInternalBuildPool)
name: NetCore1ESPool-Svc-Internal
image: 1es-windows-2022
os: windows
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

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

Pool name is hardcoded to NetCore1ESPool-Svc-Internal here while the pipeline still imports /eng/common/templates-official/variables/pool-providers.yml (which normally selects -Svc vs non--Svc based on branch/PR target). If this YAML is expected to work on non-servicing branches too, consider gating the hardcode on release/servicing branches or using $(DncEngInternalBuildPool) once the underlying selection issue is fixed.

Copilot uses AI. Check for mistakes.
Comment on lines 18 to 20
poolInternalAmd64PR:
name: NetCore1ESPool-Internal-XL
name: NetCore1ESPool-Internal-Svc-XL
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

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

Pool name is now hardcoded to the servicing pool (NetCore1ESPool-Internal-Svc-XL). Since this template doesn't gate on branch/target branch, any pipeline run that uses it will always route internal PR builds to servicing infrastructure. If the intent is only to use -Svc pools for servicing/release branches, consider restoring branch-based selection (e.g., via pool-providers logic on Build.SourceBranch / System.PullRequest.TargetBranch) or adding an explicit branch condition here so non-servicing builds don't consume -Svc capacity.

Copilot uses AI. Check for mistakes.
@missymessa
Copy link
Copy Markdown
Member Author

Closing this PR. Looks like the variable that controls the pool is missing from an Arcade step, so that's the root that needs to be fixed.

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.

2 participants