-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Backport pipeline configuration fixes from PRs #32610, #32694, #32779 #32781
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport pipeline configuration fixes from PRs #32610, #32694, #32779 #32781
Conversation
Co-authored-by: PureWeen <[email protected]>
There was a problem hiding this 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 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')) }}: |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
| - ${{ 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')) }}: |
Co-authored-by: PureWeen <[email protected]>
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.