Skip to content
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

Manual VMR re-bootstrap to 10.0.100-preview.2.25104.28 #46558

Merged
merged 28 commits into from
Feb 12, 2025
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
ef2bc3e
Manual VMR re-bootstrap to 10.0.100-preview.2.25104.28
ViktorHofer Feb 5, 2025
bc2351e
Merge branch 'main' into ManualRebootstrap
ViktorHofer Feb 5, 2025
0141c62
Merge branch 'main' into ManualRebootstrap
ViktorHofer Feb 6, 2025
116a6fc
Pass expected environment variables and properties to the test invoca…
ViktorHofer Feb 6, 2025
915d921
Remove duplicate CommonArgs condition for NuGetConfigFile
ViktorHofer Feb 6, 2025
7642544
Fix typo in Exec Command attribute
ViktorHofer Feb 6, 2025
2f0a80f
Add condition to PrepareScenarioTestsInputs target
ViktorHofer Feb 6, 2025
ee33f8e
Trim trailing backslash in TestBinlogDir path
ViktorHofer Feb 6, 2025
1702165
fix
ViktorHofer Feb 6, 2025
07dd39f
fixeees (hopefully)
ViktorHofer Feb 6, 2025
db2d341
UseFxVersionOverride
ViktorHofer Feb 6, 2025
9bcc724
Merge branch 'main' into ManualRebootstrap
ViktorHofer Feb 6, 2025
b17ddf2
msbuild fix
ViktorHofer Feb 6, 2025
61953a6
msbuild fix (2)
ViktorHofer Feb 6, 2025
ea140e7
property fix
ViktorHofer Feb 6, 2025
1484f83
Fix test additional args passing
ViktorHofer Feb 6, 2025
fe90cc6
Reorder ScenarioTestsAdditionalArgs property
ViktorHofer Feb 6, 2025
51e9c66
Remove redundant restore action from TestActions
ViktorHofer Feb 6, 2025
5a0414d
Merge branch 'main' into ManualRebootstrap
ViktorHofer Feb 7, 2025
c0b0eab
Updatesssss
ViktorHofer Feb 12, 2025
f6e1d40
fix
ViktorHofer Feb 12, 2025
d1e3fae
fix
ViktorHofer Feb 12, 2025
5f2bc02
Refactor TestArgs property group location
ViktorHofer Feb 12, 2025
c8d047b
Merge branch 'main' into ManualRebootstrap
ViktorHofer Feb 12, 2025
ce3103c
fix
ViktorHofer Feb 12, 2025
75d03ef
Respond to PR feedback and remove outdated comment
ViktorHofer Feb 12, 2025
098d443
Merge branch 'main' into ManualRebootstrap
ViktorHofer Feb 12, 2025
421c04c
Ignore wixpack.zip
ViktorHofer Feb 12, 2025
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
27 changes: 27 additions & 0 deletions src/SourceBuild/content/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,33 @@
</PropertyGroup>
</Target>

<Target Name="DetermineSourceBuiltRuntimeVersion">
<PropertyGroup>
<RuntimeFilenamePrefix>dotnet-runtime-</RuntimeFilenamePrefix>
</PropertyGroup>

<ItemGroup>
<RuntimeArchiveItem Include="$(ArtifactsAssetsDir)Runtime/**/$(RuntimeFilenamePrefix)*$(ArchiveExtension)" />
</ItemGroup>

<Error Text="Didn't find a runtime archive." Condition="'@(RuntimeArchiveItem)' == ''" />
<Error Text="Found more than one runtime archive." Condition="@(RuntimeArchiveItem->Count()) &gt; 1" />

<!--
Extract runtime version from runitme archive filename.
Keep in sync with dotnet-runtime's archive location and filename.

Example:
artifacts\assets\<config>\Runtime\9.0.100-alpha.1.24057.1\dotnet-runtime-9.0.100-alpha.1.24057.1-fedora.38-x64.tar.gz
artifacts\assets\<config>\Runtime\<RuntimeVersion>\dotnet-sdk-<RuntimeVersion>-<TargetRid><ArchiveExtension>
-->
<PropertyGroup>
<RuntimeFilename>%(RuntimeArchiveItem.Filename)%(RuntimeArchiveItem.Extension)</RuntimeFilename>
<RuntimeArchivePath>%(RuntimeArchiveItem.Identity)</RuntimeArchivePath>
<SourceBuiltRuntimeVersion>$(RuntimeFilename.Replace('$(RuntimeFilenamePrefix)','').Replace('-$(TargetRid)$(ArchiveExtension)',''))</SourceBuiltRuntimeVersion>
</PropertyGroup>
</Target>

<ItemGroup>
<!-- Binplace all assets and packages to ArtifactsStagingDir. -->
<BinPlaceDir Include="$(ArtifactsStagingDir)" Condition="'$(ArtifactsStagingDir)' != ''" />
Expand Down
4 changes: 2 additions & 2 deletions src/SourceBuild/content/eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<ProductDependencies>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25076.1">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25103.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>fe17712bedb95a55d5af00c5191772c81393745f</Sha>
<Sha>0b971a5e11be58af22ca83fbc111a1207bb62920</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
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.1.25078.1</PrivateSourceBuiltSdkVersion>
<PrivateSourceBuiltArtifactsVersion>10.0.100-preview.1.25078.1</PrivateSourceBuiltArtifactsVersion>
<PrivateSourceBuiltSdkVersion>10.0.100-preview.2.25105.1</PrivateSourceBuiltSdkVersion>
<PrivateSourceBuiltArtifactsVersion>10.0.100-preview.2.25105.1</PrivateSourceBuiltArtifactsVersion>
<!-- command-line-api dependencies -->
<SystemCommandLineVersion>2.0.0-beta4.24126.1</SystemCommandLineVersion>
<!-- msbuild dependencies -->
Expand Down
4 changes: 2 additions & 2 deletions src/SourceBuild/content/global.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"tools": {
"dotnet": "10.0.100-preview.1.25078.4"
"dotnet": "10.0.100-preview.2.25104.28"
},
"msbuild-sdks": {
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0",
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25076.1"
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25103.6"
}
}
54 changes: 25 additions & 29 deletions src/SourceBuild/content/repo-projects/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -86,54 +86,54 @@
<BuildActions>$(BuildActions) $(FlagParameterPrefix)publish</BuildActions>
<BuildActions Condition="'$(Sign)' == 'true'">$(BuildActions) $(FlagParameterPrefix)sign</BuildActions>

<TestActions>$(FlagParameterPrefix)test</TestActions>
</PropertyGroup>

<!-- Common args used for building and testing. -->
<PropertyGroup>
<!-- TODO: Remove the DotNetBuildSourceOnly condition when the default build behavior for source-only builds changes to dev.
https://github.com/dotnet/source-build/issues/4855 -->
<BuildArgs Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(DotNetBuildSourceOnly)' == 'true'">$(FlagParameterPrefix)ci</BuildArgs>
<BuildArgs>$(BuildArgs) $(FlagParameterPrefix)configuration $(Configuration)</BuildArgs>
<BuildArgs>$(BuildArgs) -bl</BuildArgs>
<BuildArgs>$(BuildArgs) /p:DotNetBuildRepo=true</BuildArgs>

<!-- Indicate that the build is being run from the orchestrator -->
<BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs>
<CommonArgs Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(DotNetBuildSourceOnly)' == 'true'">$(FlagParameterPrefix)ci</CommonArgs>
<CommonArgs>$(CommonArgs) $(FlagParameterPrefix)configuration $(Configuration)</CommonArgs>

<!-- Pass down configuration properties -->
<BuildArgs>$(BuildArgs) /p:TargetRid=$(TargetRid)</BuildArgs>
<CommonArgs>$(CommonArgs) /p:TargetRid=$(TargetRid)</CommonArgs>

<!-- Pass through DotNetBuildPass for join point vertical support. -->
<BuildArgs Condition="'$(DotNetBuildPass)' != '' and '$(DotNetBuildPass)' != '1'">$(BuildArgs) /p:DotNetBuildPass=$(DotNetBuildPass)</BuildArgs>
<CommonArgs Condition="'$(DotNetBuildPass)' != '' and '$(DotNetBuildPass)' != '1'">$(CommonArgs) /p:DotNetBuildPass=$(DotNetBuildPass)</CommonArgs>

<!-- Only pass these properites through when necessary to reduce command line noise. -->
<BuildArgs Condition="'$(CrossBuild)' == 'true'">$(BuildArgs) /p:CrossBuild=true</BuildArgs>
<BuildArgs Condition="'$(NuGetConfigFile)' != ''">$(BuildArgs) /p:RestoreConfigFile=$(NuGetConfigFile)</BuildArgs>
<BuildArgs Condition="'$(DotNetBuildUseMonoRuntime)' == 'true'">$(BuildArgs) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime)</BuildArgs>
<BuildArgs Condition="'$(OfficialBuildId)' != ''">$(BuildArgs) /p:OfficialBuildId=$(OfficialBuildId)</BuildArgs>
<BuildArgs Condition="'$(ForceDryRunSigning)' != ''">$(BuildArgs) /p:ForceDryRunSigning=$(ForceDryRunSigning)</BuildArgs>
<CommonArgs Condition="'$(CrossBuild)' == 'true'">$(CommonArgs) /p:CrossBuild=true</CommonArgs>
<CommonArgs Condition="'$(DotNetBuildUseMonoRuntime)' == 'true'">$(CommonArgs) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime)</CommonArgs>
<CommonArgs Condition="'$(OfficialBuildId)' != ''">$(CommonArgs) /p:OfficialBuildId=$(OfficialBuildId)</CommonArgs>
<CommonArgs Condition="'$(ForceDryRunSigning)' != ''">$(CommonArgs) /p:ForceDryRunSigning=$(ForceDryRunSigning)</CommonArgs>

<!-- Pass locations for assets -->
<BuildArgs>$(BuildArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)</BuildArgs>
<BuildArgs>$(BuildArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)</BuildArgs>
<CommonArgs>$(CommonArgs) /p:SourceBuiltAssetsDir=$(ArtifactsAssetsDir)</CommonArgs>
<CommonArgs>$(CommonArgs) /p:SourceBuiltAssetManifestsDir=$(RepoAssetManifestsDir)</CommonArgs>

<!-- PGO assets by default are "Vertical" visibilty. Each repo will enable the specific artifacts it must publish externally -->
<BuildArgs Condition="'$(PgoInstrument)' == 'true'">$(BuildArgs) /p:DefaultArtifactVisibility=Vertical</BuildArgs>
<CommonArgs Condition="'$(PgoInstrument)' == 'true'">$(CommonArgs) /p:DefaultArtifactVisibility=Vertical</CommonArgs>
<!-- ShortStack builds only publish new assets from the root repository. All other assets are duplicates. -->
<BuildArgs Condition="'$(ShortStack)' == 'true' and '$(MSBuildProjectName)' != '$(RootRepo)'">$(BuildArgs) /p:DefaultArtifactVisibility=Vertical</BuildArgs>
<CommonArgs Condition="'$(ShortStack)' == 'true' and '$(MSBuildProjectName)' != '$(RootRepo)'">$(CommonArgs) /p:DefaultArtifactVisibility=Vertical</CommonArgs>
</PropertyGroup>

<!-- Build specific args -->
<PropertyGroup>
<BuildArgs>$(BuildArgs) -bl</BuildArgs>
<!-- Don't flow these control properties during testing to avoid the outer/inner complexity. -->
<BuildArgs>$(BuildArgs) /p:DotNetBuildRepo=true</BuildArgs>
<BuildArgs>$(BuildArgs) /p:DotNetBuildOrchestrator=true</BuildArgs>
</PropertyGroup>
<PropertyGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
<BuildArgs>$(BuildArgs) /p:SourceBuiltSymbolsDir=$(IntermediateSymbolsRepoDir)</BuildArgs>
<BuildArgs>$(BuildArgs) /p:DotNetBuildSourceOnly=true</BuildArgs>
<BuildArgs>$(BuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</BuildArgs>
<BuildArgs>$(BuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</BuildArgs>
</PropertyGroup>

<!-- Test specific args-->
<PropertyGroup>
<TestActions>$(FlagParameterPrefix)restore</TestActions>
<TestActions>$(TestActions) $(FlagParameterPrefix)test</TestActions>

<!-- TODO: Remove the DotNetBuildSourceOnly condition when the default build behavior for source-only builds changes to dev.
https://github.com/dotnet/source-build/issues/4855 -->
<TestArgs Condition="'$(ContinuousIntegrationBuild)' == 'true' or '$(DotNetBuildSourceOnly)' == 'true'">$(FlagParameterPrefix)ci</TestArgs>
<TestArgs>$(TestArgs) $(FlagParameterPrefix)configuration $(Configuration)</TestArgs>
<TestArgs>$(TestArgs) /bl:$(ArtifactsLogRepoDir)Test.binlog</TestArgs>
</PropertyGroup>

Expand All @@ -146,9 +146,6 @@
</PropertyGroup>

<ItemGroup>
<!-- TODO: Remove once net10.0 migration is complete -->
<EnvironmentVariables Include="SuppressTfmSupportBuildWarnings=True" />

<!-- Arcade tools.sh picks up DotNetCoreSdkDir, but we can pass DOTNET_INSTALL_DIR directly. -->
<EnvironmentVariables Include="DOTNET_INSTALL_DIR=$(DotNetRoot)" />
<EnvironmentVariables Include="DOTNET_PATH=$(DotNetRoot)" />
Expand Down Expand Up @@ -184,7 +181,6 @@
<!-- Need to be passed in here so that outer and inner builds don't restore into the orchestrator package cache (CI builds)
or the user package cache (local dev builds). -->
<EnvironmentVariables Include="NUGET_PACKAGES=$(RepoArtifactsPackageCache)" />
<TestEnvironmentVariable Include="NUGET_PACKAGES=$(RepoArtifactsPackageCache)" />
</ItemGroup>

<ItemGroup Condition="'$(DotNetBuildSourceOnly)' == 'true'">
Expand Down
57 changes: 31 additions & 26 deletions src/SourceBuild/content/repo-projects/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,41 @@
<Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets, $(MSBuildThisFileDirectory)..))" />

<PropertyGroup Condition="'$(UseInnerClone)' == 'true'">
<BuildArgs>$(BuildArgs) /p:UseInnerClone=true</BuildArgs>
<BuildArgs>$(BuildArgs) /p:CopySrcInsteadOfClone=true</BuildArgs>
<BuildArgs>$(BuildArgs) /p:CopyWipIntoInnerSourceBuildRepo=true</BuildArgs>
<CommonArgs>$(CommonArgs) /p:UseInnerClone=true</CommonArgs>
<CommonArgs>$(CommonArgs) /p:CopySrcInsteadOfClone=true</CommonArgs>
<CommonArgs>$(CommonArgs) /p:CopyWipIntoInnerSourceBuildRepo=true</CommonArgs>
</PropertyGroup>

<PropertyGroup>
<DiskUsageCommand Condition="'$(BuildOS)' == 'windows'">powershell -NoProfile "Get-PSDrive -PSProvider FileSystem -Name (Get-Item "$(RepoRoot.TrimEnd('\'))").PSDrive.Name"</DiskUsageCommand>
<DiskUsageCommand Condition="'$(BuildOS)' != 'windows'">df -h $(RepoRoot)</DiskUsageCommand>

<!-- Force use of dotnet msbuild (ignoring global.json contents) unless ForceDotNetMSBuildEngine is explicitly set in the repo project. -->
<BuildArgs Condition="'$(BuildOS)' == 'windows' and '$(ForceDotNetMSBuildEngine)' != 'false'">$(BuildArgs) $(FlagParameterPrefix)msbuildEngine dotnet</BuildArgs>
<CommonArgs Condition="'$(BuildOS)' == 'windows' and '$(ForceDotNetMSBuildEngine)' != 'false'">$(CommonArgs) $(FlagParameterPrefix)msbuildEngine dotnet</CommonArgs>

<!-- Add the overrides for the shipping and non-shipping packages here to allow repo projects to identify a project as reference-only -->
<RepoArtifactsShippingPackagesDir Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$([MSBuild]::NormalizeDirectory('$(ArtifactsShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsShippingPackagesDir>
<RepoArtifactsShippingPackagesDir Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferencePackagesDir)</RepoArtifactsShippingPackagesDir>
<RepoArtifactsNonShippingPackagesDir Condition="'$(ReferenceOnlyRepoArtifacts)' != 'true'">$([MSBuild]::NormalizeDirectory('$(ArtifactsNonShippingPackagesDir)', '$(RepositoryName)'))</RepoArtifactsNonShippingPackagesDir>
<RepoArtifactsNonShippingPackagesDir Condition="'$(ReferenceOnlyRepoArtifacts)' == 'true'">$(ReferencePackagesDir)</RepoArtifactsNonShippingPackagesDir>

<!-- Pass location for packages -->
<BuildArgs>$(BuildArgs) /p:SourceBuiltShippingPackagesDir=$(RepoArtifactsShippingPackagesDir)</BuildArgs>
<CommonArgs>$(CommonArgs) /p:SourceBuiltShippingPackagesDir=$(RepoArtifactsShippingPackagesDir)</CommonArgs>
<!-- Trim the trailing slash as it breaks argument parsing on Windows if this is the last argument. -->
<BuildArgs>$(BuildArgs) /p:SourceBuiltNonShippingPackagesDir=$(RepoArtifactsNonShippingPackagesDir.TrimEnd('\'))</BuildArgs>
<CommonArgs>$(CommonArgs) /p:SourceBuiltNonShippingPackagesDir=$(RepoArtifactsNonShippingPackagesDir.TrimEnd('\'))</CommonArgs>

<!-- Pass RID and Portable/non-portable information -->
<_platformIndex>$(NETCoreSdkRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
<RuntimeOS>$(NETCoreSdkRuntimeIdentifier.Substring(0, $(_platformIndex)))</RuntimeOS>

<_platformIndex>$(NETCoreSdkPortableRuntimeIdentifier.LastIndexOf('-'))</_platformIndex>
<BaseOS>$(NETCoreSdkPortableRuntimeIdentifier.Substring(0, $(_platformIndex)))-$(TargetArchitecture)</BaseOS>
<BuildArgs>$(BuildArgs) /p:PortableBuild=$(PortableBuild)</BuildArgs>
<BuildArgs Condition="'$(ShortStack)' != 'true' and '$(TargetOS)' != 'linux-musl'">$(BuildArgs) /p:RuntimeOS=$(RuntimeOS)</BuildArgs>
<BuildArgs Condition="'$(ShortStack)' != 'true' and '$(TargetOS)' != 'linux-musl'">$(BuildArgs) /p:BaseOS=$(BaseOS)</BuildArgs>
<CommonArgs>$(CommonArgs) /p:PortableBuild=$(PortableBuild)</CommonArgs>
<CommonArgs Condition="'$(ShortStack)' != 'true' and '$(TargetOS)' != 'linux-musl'">$(CommonArgs) /p:RuntimeOS=$(RuntimeOS)</CommonArgs>
<CommonArgs Condition="'$(ShortStack)' != 'true' and '$(TargetOS)' != 'linux-musl'">$(CommonArgs) /p:BaseOS=$(BaseOS)</CommonArgs>

<!-- Only pass when enabled to reduce command line noise. -->
<BuildArgs Condition="'$(DotNetBuildTests)' == 'true' and '$(DotNetBuildTestsOptOut)' != 'true'">$(BuildArgs) /p:DotNetBuildTests=true</BuildArgs>
<!-- Only pass these properites through when necessary to reduce command line noise. -->
<CommonArgs Condition="'$(DotNetBuildTests)' == 'true' and '$(DotNetBuildTestsOptOut)' != 'true'">$(CommonArgs) /p:DotNetBuildTests=true</CommonArgs>
</PropertyGroup>

<PropertyGroup>
Expand Down Expand Up @@ -124,14 +125,12 @@
</Target>

<Target Name="CopyNuGetConfig"
Condition="'$(NuGetConfigFile)' != ''"
Inputs="$(MSBuildProjectFullPath);$(OriginalNuGetConfigFile)"
Outputs="$(NuGetConfigFile)">

Condition="'$(NuGetConfigFile)' != ''">
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('$(NuGetConfigFile)'))" />

<Copy SourceFiles="$(OriginalNuGetConfigFile)"
DestinationFiles="$(NuGetConfigFile)">
DestinationFiles="$(NuGetConfigFile)"
SkipUnchangedFiles="true">
<Output TaskParameter="CopiedFiles" ItemName="FileWrites" />
</Copy>
</Target>
Expand Down Expand Up @@ -400,8 +399,7 @@
Condition="'@(_DependentProjectToSkip)' != ''" />
</Target>

<Target Name="DiscoverBuiltSdkOverrides"
DependsOnTargets="BuildRepoReferences;GetProducedPackagesFromTransitiveReferences">
<Target Name="DiscoverBuiltSdkOverrides" DependsOnTargets="GetProducedPackagesFromTransitiveReferences">
<!--
Discover the Arcade SDKs built from the live Arcade source and set them as overrides here.
This will automatically no-op for Arcade and SBRP, as these packages will not have been produced yet.
Expand Down Expand Up @@ -459,7 +457,7 @@
ProcessFrameworkReferences not be able to restore for the given RID. -->
<BuildArgs Condition="'$(DotNetBuildSourceOnly)' != 'true' and '@(TransitiveRepositoryReference->AnyHaveMetadataValue('Identity', 'runtime'))' == 'true'">$(BuildArgs) /p:DotNetBuildTargetRidOnly=true</BuildArgs>

<BuildCommand Condition="'$(BuildCommand)' == '' and '$(IsUtilityProject)' != 'true'">$(BuildScript) $(BuildActions) $(BuildArgs)</BuildCommand>
<BuildCommand Condition="'$(BuildCommand)' == '' and '$(IsUtilityProject)' != 'true'">$(BuildScript) $(BuildActions) $(CommonArgs) $(BuildArgs)</BuildCommand>
</PropertyGroup>
</Target>

Expand All @@ -482,6 +480,7 @@
<Message Importance="High" Text=" Log: $(RepoConsoleLogFile)" Condition="'$(MinimalConsoleLogOutput)' == 'true'" />
<Message Importance="High" Text=" With Environment Variables:"/>
<Message Importance="High" Text=" %(EnvironmentVariables.Identity)" />
<Message Importance="High" Text=" %(BuildEnvironmentVariable.Identity)" Condition="'@(BuildEnvironmentVariable)' != ''" />

<Message Text="DirSize Before Building $(RepositoryName)" Importance="High" Condition=" '$(CleanWhileBuilding)' == 'true'" />
<Exec Command="$(DiskUsageCommand)" Condition="'$(CleanWhileBuilding)' == 'true'" />
Expand All @@ -503,7 +502,7 @@

<Exec Command="$(FullCommand)"
WorkingDirectory="$(ProjectDirectory)"
EnvironmentVariables="@(EnvironmentVariables)"
EnvironmentVariables="@(EnvironmentVariables);@(BuildEnvironmentVariable)"
IgnoreStandardErrorWarningFormat="true">
<Output TaskParameter="ExitCode" PropertyName="RepoBuildExitCode" />
</Exec>
Expand Down Expand Up @@ -673,7 +672,7 @@

Don't run when source building to prevent the build from hanging indefinitely - https://github.com/dotnet/source-build/issues/4796
-->
<Exec Command="$(DotnetTool) build-server shutdown --vbcscompiler"
<Exec Command="$(DotNetTool) build-server shutdown --vbcscompiler"
Condition="'$(DotNetBuildSourceOnly)' != 'true'"
EnvironmentVariables="NUGET_PACKAGES=$(RepoArtifactsPackageCache)"
IgnoreStandardErrorWarningFormat="true"
Expand Down Expand Up @@ -762,16 +761,19 @@
MoveDotNetBuildLogs;
CleanupRepo" />

<Target Name="RepoTest">
<Target Name="RepoTest"
DependsOnTargets="DiscoverBuiltSdkOverrides;
SetSourceBuiltSdkOverrides">
<PropertyGroup>
<TestCommand>$(BuildScript) $(TestActions) $(TestArgs)</TestCommand>
<TestCommand>$(BuildScript) $(TestActions) $(CommonArgs) $(TestArgs)</TestCommand>
</PropertyGroup>

<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Testing $(RepositoryName)" />
<Message Importance="High" Text="Running command:" />
<Message Importance="High" Text=" $(TestCommand)" />
<Message Importance="High" Text=" With Environment Variables:"/>
<Message Importance="High" Text=" %(TestEnvironmentVariable.Identity)" />
<Message Importance="High" Text=" %(EnvironmentVariables.Identity)" />
<Message Importance="High" Text=" %(TestEnvironmentVariable.Identity)" Condition="'@(TestEnvironmentVariable)' != ''" />

<PropertyGroup>
<FullTestCommand>$(TestCommand)</FullTestCommand>
Expand All @@ -780,7 +782,7 @@

<Exec Command="$(FullTestCommand)"
WorkingDirectory="$(ProjectDirectory)"
EnvironmentVariables="@(TestEnvironmentVariable)">
EnvironmentVariables="@(EnvironmentVariables);@(TestEnvironmentVariable)">
<Output TaskParameter="ExitCode" PropertyName="RepoTestExitCode" />
</Exec>

Expand All @@ -789,7 +791,10 @@
<OnError ExecuteTargets="MoveDotNetBuildLogs" />
</Target>

<Target Name="Test" DependsOnTargets="RepoTest;MoveDotNetBuildLogs" />
<Target Name="Test"
DependsOnTargets="RepoTest;
MoveDotNetBuildLogs;
CleanupRepo" />
<Target Name="VSTest" DependsOnTargets="Test" />

<UsingTask TaskName="Microsoft.DotNet.UnifiedBuild.Tasks.UsageReport.WritePackageUsageData" AssemblyFile="$(MicrosoftDotNetUnifiedBuildTasksAssembly)" TaskFactory="TaskHostFactory" />
Expand Down
Loading
Loading