Skip to content

Re-Bootstrap Source Build to .NET 10.0.100-preview.4.25216.1 #48523

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

Merged
merged 8 commits into from
Apr 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -497,9 +497,9 @@
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="10.0.621501">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="10.0.621601">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>432b22e3cdaf69c011358a44e61959769b2f607c</Sha>
<Sha>4b566314cf9602b77f25538a88b9c8175231c106</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.Deployment.DotNet.Releases" Version="2.0.0-preview.1.25207.1">
Expand Down Expand Up @@ -631,42 +631,42 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Workloads" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.SignTool" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.SignTool" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="10.0.0-beta.25212.1">
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="10.0.0-beta.25215.5">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>87401be5731aa537bbf4cb71d7800d1c74d5e429</Sha>
<Sha>1741844bd26eb13fc4731b1e9aed218686717fbd</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="System.Reflection.MetadataLoadContext" Version="10.0.0-preview.4.25215.12">
Expand Down
12 changes: 6 additions & 6 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -282,12 +282,12 @@
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/arcade -->
<MicrosoftDotNetBuildTasksInstallersPackageVersion>10.0.0-beta.25212.1</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>10.0.0-beta.25212.1</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>10.0.0-beta.25212.1</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftDotNetSignToolVersion>10.0.0-beta.25212.1</MicrosoftDotNetSignToolVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25212.1</MicrosoftDotNetXliffTasksVersion>
<MicrosoftDotNetXUnitExtensionsVersion>10.0.0-beta.25212.1</MicrosoftDotNetXUnitExtensionsVersion>
<MicrosoftDotNetBuildTasksInstallersPackageVersion>10.0.0-beta.25215.5</MicrosoftDotNetBuildTasksInstallersPackageVersion>
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>10.0.0-beta.25215.5</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
<MicrosoftDotNetBuildTasksWorkloadsPackageVersion>10.0.0-beta.25215.5</MicrosoftDotNetBuildTasksWorkloadsPackageVersion>
<MicrosoftDotNetSignToolVersion>10.0.0-beta.25215.5</MicrosoftDotNetSignToolVersion>
<MicrosoftDotNetXliffTasksVersion>10.0.0-beta.25215.5</MicrosoftDotNetXliffTasksVersion>
<MicrosoftDotNetXUnitExtensionsVersion>10.0.0-beta.25215.5</MicrosoftDotNetXUnitExtensionsVersion>
</PropertyGroup>
<PropertyGroup>
<!-- Dependencies from https://github.com/dotnet/sourcelink -->
Expand Down
24 changes: 0 additions & 24 deletions eng/common/core-templates/steps/install-microbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,6 @@ parameters:
steps:
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- ${{ if eq(parameters.enableMicrobuildForMacAndLinux, 'true') }}:
# Install Python 3.12.x on when Python > 3.12.x is installed - https://github.com/dotnet/source-build/issues/4802
- script: |
version=$(python3 --version | awk '{print $2}')
major=$(echo $version | cut -d. -f1)
minor=$(echo $version | cut -d. -f2)

installPython=false
if [ "$major" -gt 3 ] || { [ "$major" -eq 3 ] && [ "$minor" -gt 12 ]; }; then
installPython=true
fi

echo "Python version: $version."
echo "Install Python 3.12.x: $installPython."
echo "##vso[task.setvariable variable=installPython;isOutput=true]$installPython"
name: InstallPython
displayName: 'Determine Python installation'
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))

- task: UsePythonVersion@0
inputs:
versionSpec: '3.12.x'
displayName: 'Use Python 3.12.x'
condition: and(succeeded(), eq(variables['InstallPython.installPython'], 'true'), ne(variables['Agent.Os'], 'Windows_NT'))

# Needed to download the MicroBuild plugin nupkgs on Mac and Linux when nuget.exe is unavailable
- task: UseDotNet@2
displayName: Install .NET 8.0 SDK for MicroBuild Plugin
Expand Down
7 changes: 5 additions & 2 deletions eng/common/sdk-task.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ Param(
[string] $msbuildEngine = $null,
[switch] $restore,
[switch] $prepareMachine,
[switch][Alias('nobl')]$excludeCIBinaryLog,
[switch] $help,
[Parameter(ValueFromRemainingArguments=$true)][String[]]$properties
)

$ci = $true
$binaryLog = $true
$binaryLog = if ($excludeCIBinaryLog) { $false } else { $true }
$warnAsError = $true

. $PSScriptRoot\tools.ps1
Expand All @@ -27,17 +28,19 @@ function Print-Usage() {
Write-Host "Advanced settings:"
Write-Host " -prepareMachine Prepare machine for CI run"
Write-Host " -msbuildEngine <value> Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
Write-Host " -excludeCIBinaryLog When running on CI, allow no binary log (short: -nobl)"
Write-Host ""
Write-Host "Command line arguments not listed above are passed thru to msbuild."
}

function Build([string]$target) {
$logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" }
$log = Join-Path $LogDir "$task$logSuffix.binlog"
$binaryLogArg = if ($binaryLog) { "/bl:$log" } else { "" }
$outputPath = Join-Path $ToolsetDir "$task\"

MSBuild $taskProject `
/bl:$log `
$binaryLogArg `
/t:$target `
/p:Configuration=$configuration `
/p:RepoRoot=$RepoRoot `
Expand Down
16 changes: 14 additions & 2 deletions eng/common/sdk-task.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ show_usage() {
echo " --verbosity <value> Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]"
echo " --help Print help and exit"
echo ""

echo "Advanced settings:"
echo " --excludeCIBinarylog Don't output binary log (short: -nobl)"
echo ""
echo "Command line arguments not listed above are passed thru to msbuild."
}

Expand All @@ -27,10 +31,12 @@ Build() {
local log_suffix=""
[[ "$target" != "Execute" ]] && log_suffix=".$target"
local log="$log_dir/$task$log_suffix.binlog"
local binaryLogArg=""
[[ $binary_log == true ]] && binaryLogArg="/bl:$log"
local output_path="$toolset_dir/$task/"

MSBuild "$taskProject" \
/bl:"$log" \
$binaryLogArg \
/t:"$target" \
/p:Configuration="$configuration" \
/p:RepoRoot="$repo_root" \
Expand All @@ -39,8 +45,10 @@ Build() {
$properties
}

binary_log=true
configuration="Debug"
verbosity="minimal"
exclude_ci_binary_log=false
restore=false
help=false
properties=''
Expand All @@ -60,6 +68,11 @@ while (($# > 0)); do
verbosity=$2
shift 2
;;
--excludecibinarylog|--nobl)
binary_log=false
exclude_ci_binary_log=true
shift 1
;;
--help)
help=true
shift 1
Expand All @@ -72,7 +85,6 @@ while (($# > 0)); do
done

ci=true
binaryLog=true
warnAsError=true

if $help; then
Expand Down
4 changes: 2 additions & 2 deletions global.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
}
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25212.1",
"Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25212.1",
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25215.5",
"Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25215.5",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0"
}
Expand Down
4 changes: 2 additions & 2 deletions src/SourceBuild/content/eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
of a .NET major or minor release, prebuilts may be needed. When the release is mature, prebuilts
are not necessary, and this property is removed from the file.
-->
<PrivateSourceBuiltSdkVersion>10.0.100-preview.4.25214.1</PrivateSourceBuiltSdkVersion>
<PrivateSourceBuiltArtifactsVersion>10.0.100-preview.4.25214.1</PrivateSourceBuiltArtifactsVersion>
<PrivateSourceBuiltSdkVersion>10.0.100-preview.4.25216.1</PrivateSourceBuiltSdkVersion>
<PrivateSourceBuiltArtifactsVersion>10.0.100-preview.4.25216.1</PrivateSourceBuiltArtifactsVersion>
<!-- arcade dependencies -->
<MicrosoftDotNetVersionToolsVersion>10.0.0-beta.25110.3</MicrosoftDotNetVersionToolsVersion>
<!-- command-line-api dependencies -->
Expand Down
16 changes: 8 additions & 8 deletions src/SourceBuild/content/eng/tools/BinaryToolKit/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,28 @@ namespace BinaryToolKit;

public class Program
{
public static readonly CliArgument<string> TargetDirectory = new("target-directory")
public static readonly Argument<string> TargetDirectory = new("target-directory")
{
Description = "The directory to run the binary tooling on.",
Arity = ArgumentArity.ExactlyOne
};

public static readonly CliOption<string> OutputReportDirectory = new("--output-directory", "-o")
public static readonly Option<string> OutputReportDirectory = new("--output-directory", "-o")
{
Description = "The directory to output the report to.",
Arity = ArgumentArity.ZeroOrOne,
DefaultValueFactory = _ => Path.Combine(Directory.GetCurrentDirectory(), "binary-report")
};

public static readonly CliOption<LogLevel> Level = new("--log-level", "-l")
public static readonly Option<LogLevel> Level = new("--log-level", "-l")
{
Description = "The log level to run the tool in.",
Arity = ArgumentArity.ZeroOrOne,
DefaultValueFactory = _ => LogLevel.Information,
Recursive = true
};

public static readonly CliOption<string> AllowedBinariesFile = new("--allowed-binaries-file", "-ab")
public static readonly Option<string> AllowedBinariesFile = new("--allowed-binaries-file", "-ab")
{
Description = "The file containing the list of allowed binaries that are ignored for cleaning or validating.\n",
Arity = ArgumentArity.ZeroOrOne
Expand All @@ -43,7 +43,7 @@ public static async Task<int> Main(string[] args)
var cleanCommand = CreateCommand("clean", "Clean the binaries in the target directory.");
var validateCommand = CreateCommand("validate", "Detect new binaries in the target directory.");

var rootCommand = new CliRootCommand("Tool for detecting, validating, and cleaning binaries in the target directory.")
var rootCommand = new RootCommand("Tool for detecting, validating, and cleaning binaries in the target directory.")
{
Level,
cleanCommand,
Expand All @@ -58,17 +58,17 @@ public static async Task<int> Main(string[] args)
return ExitCode;
}

private static CliCommand CreateCommand(string name, string description)
private static Command CreateCommand(string name, string description)
{
return new CliCommand(name, description)
return new Command(name, description)
{
TargetDirectory,
OutputReportDirectory,
AllowedBinariesFile
};
}

private static void SetCommandAction(CliCommand command, Modes mode)
private static void SetCommandAction(Command command, Modes mode)
{
command.SetAction(async (result, CancellationToken) =>
{
Expand Down
16 changes: 8 additions & 8 deletions src/SourceBuild/content/eng/tools/BuildComparer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,43 +24,43 @@ public class Program
/// <returns>Return code indicating success (0) or failure (non-zero).</returns>
static int Main(string[] args)
{
var vmrManifestPathArgument = new CliOption<string>("-vmrManifestPath")
var vmrManifestPathArgument = new Option<string>("-vmrManifestPath")
{
Description = "Path to the manifest file",
Required = true
};
var vmrAssetBasePathArgument = new CliOption<string>("-vmrAssetBasePath")
var vmrAssetBasePathArgument = new Option<string>("-vmrAssetBasePath")
{
Description = "Path to the manifest file",
Required = true
};
var msftAssetBasePathArgument = new CliOption<string>("-msftAssetBasePath")
var msftAssetBasePathArgument = new Option<string>("-msftAssetBasePath")
{
Description = "Path to the asset base path",
Required = true
};
var issuesReportArgument = new CliOption<string>("-issuesReport")
var issuesReportArgument = new Option<string>("-issuesReport")
{
Description = "Path to output xml file for non-baselined issues.",
Required = true
};
var noIssuesReportArgument = new CliOption<string>("-noIssuesReport")
var noIssuesReportArgument = new Option<string>("-noIssuesReport")
{
Description = "Path to output xml file for baselined issues and assets without issues.",
Required = true
};
var parallelismArgument = new CliOption<int>("-parallel")
var parallelismArgument = new Option<int>("-parallel")
{
Description = "Amount of parallelism used while analyzing the builds.",
DefaultValueFactory = _ => 8,
Required = true
};
var baselineArgument = new CliOption<string>("-baseline")
var baselineArgument = new Option<string>("-baseline")
{
Description = "Path to the baseline build manifest.",
Required = true
};
var rootCommand = new CliRootCommand(description: "Tool for comparing Microsoft builds with VMR builds.")
var rootCommand = new RootCommand(description: "Tool for comparing Microsoft builds with VMR builds.")
{
vmrManifestPathArgument,
vmrAssetBasePathArgument,
Expand Down
Loading