Skip to content

Conversation

@jfversluis
Copy link
Member

@jfversluis jfversluis commented Dec 18, 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

This PR fixes CI and PR build versioning issues and includes several improvements to the pipeline configuration.

Root Cause

In commit 4fcc7b2, the default _OfficialBuildIdArgs was changed to an empty string. This caused the OfficialBuildId to not be passed to builds, resulting in Arcade treating them as PR validation builds instead of official CI builds. Packages were being labeled as 10.0.30-ci instead of the expected format 10.0.30-ci.main.YYMMDD.r.

Changes

  1. Restore default _OfficialBuildIdArgs: The default value now passes OfficialBuildId to the build process, which enables proper versioning with the date-based suffix.

  2. Fix typo across multiple files: _BuildOfficalId_BuildOfficialId (fixed in 6 locations)

  3. Include PR number in package version for PR builds: PR builds now use PreReleaseVersionLabel=ci.pr{number} so the PR number appears in the actual NuGet package filename, not just in build metadata.

Expected Results

CI builds from the main branch will produce packages with versions like:

  • 10.0.30-ci.main.25618.1 (where 25618 is SHORT_DATE and 1 is the daily revision)

PR builds will produce packages with versions like:

  • 10.0.30-ci.pr33209.25618.1 (where 33209 is the PR number)

Instead of the previous broken format:

  • 10.0.30-ci

Files Changed

  • eng/pipelines/arcade/variables.yml - Main fix + PR version label
  • eng/pipelines/ci-official.yml - Typo fix
  • eng/pipelines/handlers.yml - Typo fix (2 occurrences)
  • eng/pipelines/common/sdk-insertion.yml - Typo fix
  • eng/pipelines/common/variables.yml - Typo fix

The default _OfficialBuildIdArgs was changed to empty in commit 4fcc7b2,
which caused builds to be treated as PR validation builds instead of official
CI builds. This resulted in packages having version 10.0.30-ci instead of
the expected 10.0.30-ci.main.YYMMDD.r format.
Copilot AI review requested due to automatic review settings December 18, 2025 13:11
@jfversluis jfversluis marked this pull request as draft December 18, 2025 13:11
@jfversluis jfversluis added the area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions label Dec 18, 2025
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 addresses a CI build versioning issue where packages were incorrectly labeled as 10.0.30-ci instead of the expected date-based format 10.0.30-ci.main.YYMMDD.r. The fix restores the proper OfficialBuildId configuration that was inadvertently removed in a previous commit and corrects a typo in the variable name.

Key changes:

  • Restores default value for _OfficialBuildIdArgs to properly pass OfficialBuildId to MSBuild
  • Fixes typo: _BuildOfficalId_BuildOfficialId

Fixed in all pipeline files:
- eng/pipelines/arcade/variables.yml
- eng/pipelines/ci-official.yml
- eng/pipelines/handlers.yml
- eng/pipelines/common/sdk-insertion.yml
- eng/pipelines/common/variables.yml
@jfversluis jfversluis force-pushed the fix/restore-official-build-id-versioning branch from 0af51fd to 79911a2 Compare December 18, 2025 13:23
@jfversluis jfversluis requested a review from Copilot December 18, 2025 13:25
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

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Include PR number in the actual package version by modifying
PreReleaseVersionLabel for PR builds. This ensures the PR number
is part of the NuGet package version, not just build metadata.

PR builds will now have versions like:
10.0.30-ci.main.pr12345.25618.1

Instead of just:
10.0.30-ci
Pass PreReleaseVersionLabel=ci.pr{number} through build args only for PR builds
(Build.Reason == PullRequest) so the PR number appears in the actual package
version, not just metadata. CI and nightly builds remain unaffected.
@jfversluis jfversluis force-pushed the fix/restore-official-build-id-versioning branch from 9d1289d to 8548976 Compare December 18, 2025 19:42
@jfversluis jfversluis added this to the .NET 10.0 SR3 milestone Dec 19, 2025
@jfversluis jfversluis moved this from Todo to Ready To Review in MAUI SDK Ongoing Dec 19, 2025
@jfversluis jfversluis added the p/0 Current heighest priority issues that we are targeting for a release. label Dec 19, 2025
@jfversluis jfversluis marked this pull request as ready for review December 19, 2025 09:01
@jfversluis jfversluis requested a review from rmarinho December 19, 2025 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure CI, Maestro / Coherency, upstream dependencies/versions p/0 Current heighest priority issues that we are targeting for a release.

Projects

Status: Ready To Review

Development

Successfully merging this pull request may close these issues.

2 participants