Skip to content

Restore OfficialBuildId for proper CI versioning#33209

Merged
PureWeen merged 4 commits into
mainfrom
fix/restore-official-build-id-versioning
Jan 20, 2026
Merged

Restore OfficialBuildId for proper CI versioning#33209
PureWeen merged 4 commits into
mainfrom
fix/restore-official-build-id-versioning

Conversation

@jfversluis
Copy link
Copy Markdown
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

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
Copy Markdown
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

Comment thread eng/pipelines/arcade/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
Copy Markdown
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.

@PureWeen
Copy link
Copy Markdown
Member

/rebase

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.
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
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.
@github-actions github-actions Bot force-pushed the fix/restore-official-build-id-versioning branch from 8548976 to cb57c57 Compare January 20, 2026 15:06
@github-project-automation github-project-automation Bot moved this from Ready To Review to Approved in MAUI SDK Ongoing Jan 20, 2026
@PureWeen PureWeen merged commit 8423d5c into main Jan 20, 2026
28 checks passed
@github-project-automation github-project-automation Bot moved this from Approved to Done in MAUI SDK Ongoing Jan 20, 2026
@PureWeen PureWeen deleted the fix/restore-official-build-id-versioning branch January 20, 2026 23:15
@github-actions github-actions Bot locked and limited conversation to collaborators Feb 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

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

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants