Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 20, 2025

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:

  • Fixed Creator property condition in eng/helix.proj to check existing value instead of access token
  • Simplified _OfficialBuildIdArgs to empty string in arcade variables
  • Changed build definition logic from PR/public checks to explicit build name matching
  • Moved MAUI variable group outside conditional scope for consistent availability
  • Removed _InternalBuildArgs variable and its usage

PR #32694 - Feed URL update:

  • Changed DotNetFeedUrl from blob storage (https://dotnetbuilds.blob.core.windows.net/public) to CI feed (https://ci.dot.net/public)
  • Fixed spacing in PrivateSdk property

PR #32779 - Storage token cleanup:

  • Removed DotNetBuilds storage account read tokens variable group from all pipeline files (ci-official.yml, common/variables.yml, maui-release-internal.yml)

Issues Fixed

Backport of #32610, #32694, #32779

Original prompt

Backport this PR #32610 and #32694 and #32779


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Backport multiple pull requests for compatibility Backport pipeline configuration fixes from PRs #32610, #32694, #32779 Nov 20, 2025
Copilot AI requested a review from PureWeen November 20, 2025 18:17
@PureWeen PureWeen marked this pull request as ready for review November 20, 2025 19:04
Copilot AI review requested due to automatic review settings November 20, 2025 19:04
@PureWeen PureWeen merged commit 3f31022 into release/10.0.1xx-sr1 Nov 20, 2025
5 of 6 checks passed
@PureWeen PureWeen deleted the copilot/backport-prs-32610-32694-32779 branch November 20, 2025 19:06
Copy link
Contributor

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 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 _InternalBuildArgs variable and defaulting _OfficialBuildIdArgs to 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 Creator property 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')) }}:
Copy link

Copilot AI Nov 20, 2025

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':

  1. _RunAsPublic remains true (the condition at common/variables.yml line 66 excludes PRs from setting it to false)
  2. Both the condition at line 36 (_RunAsPublic == 'true') AND line 48 (build name match) would be true
  3. This causes _OfficialBuildIdArgs to 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 _RunAsPublic is 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 uses AI. Check for mistakes.
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