Backport pipeline configuration fixes from PRs #32610, #32694, #32779#32781
Merged
PureWeen merged 2 commits intorelease/10.0.1xx-sr1from Nov 20, 2025
Merged
Conversation
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Backport multiple pull requests for compatibility
Backport pipeline configuration fixes from PRs #32610, #32694, #32779
Nov 20, 2025
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR backports three pipeline configuration fixes from PRs #32610, #32694, and #32779 to improve CI/CD reliability and variable management. The changes consolidate pipeline variables, update feed URLs, and remove obsolete storage account tokens.
- Simplified build configuration by removing unused
_InternalBuildArgsvariable and defaulting_OfficialBuildIdArgsto empty string - Updated DotNet feed URL from blob storage to CI feed (
https://ci.dot.net/public) - Removed obsolete "DotNetBuilds storage account read tokens" variable group from all pipeline files
- Fixed
Creatorproperty condition in helix.proj to check existing value instead of access token - Made MAUI variable group globally available instead of conditionally scoped
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| eng/helix.proj | Fixed Creator property condition to check $(Creator) instead of $(HelixAccessToken) |
| src/DotNet/DotNet.csproj | Updated DotNetFeedUrl to CI feed and fixed spacing in PrivateSdk property |
| eng/pipelines/arcade/variables.yml | Simplified _OfficialBuildIdArgs to empty string and changed build definition logic to explicit name matching |
| eng/pipelines/common/variables.yml | Moved MAUI variable group outside conditional scope, removed _InternalBuildArgs variable, and updated comment from "secret" to "secrets" |
| eng/pipelines/maui-release-internal.yml | Removed DotNetBuilds storage account read tokens variable group |
| eng/pipelines/ci-official.yml | Removed DotNetBuilds storage account read tokens variable group |
| value: '/p:DotNetSignType=$(_SignType) /p:TeamName=$(TeamName)' | ||
| # Set up non-PR build from internal project | ||
| - ${{ if and(ne(variables['_RunAsPublic'], 'true'), ne(variables['Build.Reason'], 'PullRequest')) }}: | ||
| - ${{ if or(eq(variables['Build.DefinitionName'], 'dotnet-maui'), eq(variables['Build.DefinitionName'], 'dotnet-maui-build')) }}: |
There was a problem hiding this comment.
The condition change at line 48 may cause both conditional blocks (lines 36-46 and 48-60) to execute simultaneously in certain scenarios.
Issue: For a PR build with Build.DefinitionName = 'dotnet-maui':
_RunAsPublicremainstrue(the condition at common/variables.yml line 66 excludes PRs from setting it to false)- Both the condition at line 36 (
_RunAsPublic == 'true') AND line 48 (build name match) would be true - This causes
_OfficialBuildIdArgsto be set twice: first to empty string (line 40-41), then to the official build value (line 53-54)
Recommendation: The condition at line 48 should either:
- Include
ne(variables['Build.Reason'], 'PullRequest')to exclude PRs, OR - Use
${{ if and(...) }}with an additional check that_RunAsPublicis false
This ensures the two blocks remain mutually exclusive.
Suggested change
| - ${{ if or(eq(variables['Build.DefinitionName'], 'dotnet-maui'), eq(variables['Build.DefinitionName'], 'dotnet-maui-build')) }}: | |
| - ${{ if and(or(eq(variables['Build.DefinitionName'], 'dotnet-maui'), eq(variables['Build.DefinitionName'], 'dotnet-maui-build')), ne(variables['Build.Reason'], 'PullRequest')) }}: |
Copilot AI
added a commit
that referenced
this pull request
Nov 21, 2025
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Description of Change
Backports three related pipeline configuration PRs that improve CI/CD reliability and variable management:
PR #32610 - Pipeline variable consolidation:
Creatorproperty condition ineng/helix.projto check existing value instead of access token_OfficialBuildIdArgsto empty string in arcade variables_InternalBuildArgsvariable and its usagePR #32694 - Feed URL update:
DotNetFeedUrlfrom blob storage (https://dotnetbuilds.blob.core.windows.net/public) to CI feed (https://ci.dot.net/public)PrivateSdkpropertyPR #32779 - Storage token cleanup:
DotNetBuilds storage account read tokensvariable group from all pipeline files (ci-official.yml, common/variables.yml, maui-release-internal.yml)Issues Fixed
Backport of #32610, #32694, #32779
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.