Update 1xx SDK download location#3094
Merged
mthalman merged 1 commit intoOct 27, 2025
Merged
Conversation
MichaelSimons
approved these changes
Oct 27, 2025
Member
Author
|
/backport to main |
Contributor
|
Started backporting to |
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fix: Update 1xx SDK download location for feature bands
Fixes dotnet/source-build#5370
Problem
Feature band branches (2xx+) were consuming the SDK from the current in-development 1xx build instead of the released 1xx SDK. For example, 10.0.200 should use the 10.0 RC2 SDK, not the current 10.0 GA SDK being developed.
The issue was that the build was using
MicrosoftNETSdkPackageVersion(which points to the current in-development SDK) instead ofPrivateSourceBuiltSdkVersion(which points to the released SDK).Changes
download-source-built-archive.sh
Refactored the
DownloadArchivefunction to support downloading from different locations:Added
versionPropertyOverrideparameter (position 7): Allows specifying a different property to look up the version number than thepropertyNameparameter. This decouples version lookup from archive type determination. For example, this enables downloading shared component artifacts (archive type determined byPrivateSourceBuiltArtifactsVersion) while getting the version number from a different property (MicrosoftNETSdkPackageVersion).Added
useCILocationparameter (position 8): Controls whether to download fromci.dot.net(CI builds) orbuilds.dotnet.microsoft.com(official builds). Defaults tofalsefor official builds. Note: The script automatically overrides this tofalsefor assets with the default RID (centos.10-x64), as those are always hosted on the official builds location.Removed
archiveBaseFileNameOverrideparameter: This was replaced by the more flexible combination ofversionPropertyOverrideanduseCILocation, which better separates concerns between archive type identification, version lookup, and download location.Updated URL logic: Now determines the base URL (
builds.dotnet.microsoft.comvsci.dot.net) based on theuseCILocationflag, and automatically uses the official location for default RID assets.vmr-build.yml
Updated the download calls to use the correct version properties:
1xx SDK download: Changed from
MicrosoftNETSdkPackageVersiontoPrivateSourceBuiltSdkVersionwithuseCILocation=true. This downloads the released SDK from the CI location for non-default RIDs, or from the official builds location for the default RID.Shared component artifacts: Changed to use
PrivateSourceBuiltArtifactsVersionas the property name (to identify it as an artifacts-type archive) withversionPropertyOverride=MicrosoftNETSdkPackageVersion(to get the version number from the SDK property) anduseCILocation=true. This downloads from the appropriate location based on the RID.Why the function signature changed
The original
archiveBaseFileNameOverrideparameter only allowed overriding the filename but couldn't:The new design uses two focused parameters:
versionPropertyOverride: Separates "which property determines the archive type and URL pattern" from "which property contains the version number to download"useCILocation: Explicitly controls the download source location (subject to the default RID override)This provides better separation of concerns and makes the function calls more explicit about their intent, while enabling scenarios like downloading shared component artifacts versioned by the SDK version.