Skip to content

Commit 8d2613b

Browse files
authored
Merge branch 'main' into darc-main-d459fc04-d326-4a05-9b9f-07ee8fc13871
2 parents 2a8644d + c9e900c commit 8d2613b

File tree

9 files changed

+97
-65
lines changed

9 files changed

+97
-65
lines changed

eng/pipelines/templates/stages/vmr-build.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -949,11 +949,35 @@ stages:
949949
displayName: VMR Validation
950950
dependsOn: VMR_Final_Join
951951
jobs:
952-
- job: ValidateSigning
953-
displayName: Validate Signing
952+
- job: ValidateSigning_Windows
953+
displayName: Validate Signing - Windows
954954
pool: ${{ parameters.pool_Windows }}
955955
timeoutInMinutes: 240
956956
steps:
957957
- template: ../steps/vmr-validate-signing.yml
958958
parameters:
959+
artifactName: PackageArtifacts
959960
continueOnError: true
961+
OS: Windows_NT
962+
963+
- job: ValidateSigning_Mac
964+
displayName: Validate Signing - Mac
965+
pool: ${{ parameters.pool_Mac }}
966+
timeoutInMinutes: 240
967+
steps:
968+
- template: ../steps/vmr-validate-signing.yml
969+
parameters:
970+
artifactName: BlobArtifacts
971+
continueOnError: true
972+
OS: Darwin
973+
974+
- job: ValidateSigning_Linux
975+
displayName: Validate Signing - Linux
976+
pool: ${{ parameters.pool_Linux }}
977+
timeoutInMinutes: 240
978+
steps:
979+
- template: ../steps/vmr-validate-signing.yml
980+
parameters:
981+
artifactName: BlobArtifacts
982+
continueOnError: true
983+
OS: Linux
Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,46 @@
11
parameters:
2+
- name: artifactName
3+
type: string
4+
25
- name: continueOnError
36
type: boolean
47
default: false
58

9+
- name: OS
10+
type: string
11+
values:
12+
- Windows_NT
13+
- Linux
14+
- Darwin
15+
616
steps:
717
- task: DownloadBuildArtifacts@1
818
inputs:
9-
artifactName: 'PackageArtifacts'
19+
artifactName: ${{ parameters.artifactName }}
1020
downloadPath: $(Build.ArtifactStagingDirectory)
1121
checkDownloadedFiles: true
12-
displayName: Download Package Artifacts
22+
displayName: Download Artifacts
1323

1424
# This is necessary whenever we want to publish/restore to an AzDO private feed
1525
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
1626
# otherwise it'll complain about accessing a private feed.
1727
- task: NuGetAuthenticate@1
1828
displayName: 'Authenticate to AzDO Feeds'
1929

20-
- task: PowerShell@2
21-
inputs:
22-
filePath: eng\common\sdk-task.ps1
23-
arguments: -task SigningValidation -restore -msbuildEngine vs
24-
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
25-
displayName: Validate Signing of Packages
26-
continueOnError: ${{ parameters.continueOnError }}
30+
- ${{ if eq(parameters.OS, 'Windows_NT') }}:
31+
- task: PowerShell@2
32+
inputs:
33+
filePath: eng\common\sdk-task.ps1
34+
arguments: -task SigningValidation -restore -msbuildEngine vs
35+
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/${{ parameters.artifactName }}'
36+
displayName: Validate Signing of Packages
37+
continueOnError: ${{ parameters.continueOnError }}
38+
39+
- ${{ else }}:
40+
- task: Bash@3
41+
inputs:
42+
filePath: eng/common/sdk-task.sh
43+
arguments: --task SigningValidation --restore
44+
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/${{ parameters.artifactName }}'
45+
displayName: Validate - ${{ parameters.OS }}
46+
continueOnError: ${{ parameters.continueOnError }}

src/Installer/redist-installer/Directory.Build.props

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,19 @@
4646
)">true</SkipBuildingInstallers>
4747
<SkipBuildingInstallers Condition="'$(SkipBuildingInstallers)' == ''">false</SkipBuildingInstallers>
4848

49-
<UsePortableLinuxSharedFramework Condition="'$(UsePortableLinuxSharedFramework)' == '' AND '$(IsLinux)' == 'True' AND !$(Rid.StartsWith('linux-musl'))">true</UsePortableLinuxSharedFramework>
49+
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
50+
<UsePortableLinuxSharedFramework Condition="'$(UsePortableLinuxSharedFramework)' == '' AND '$(IsLinux)' == 'true' AND !$(Rid.StartsWith('linux-musl'))">true</UsePortableLinuxSharedFramework>
5051
<HighEntropyVA>true</HighEntropyVA>
5152
</PropertyGroup>
5253

54+
<PropertyGroup>
55+
<NetRuntimeRid Condition="'$(NetRuntimeRid)' == ''">$(HostRid)</NetRuntimeRid>
56+
<NetRuntimeRid Condition=" ('$(OSName)' == 'win' or '$(OSName)' == 'osx' or '$(OSName)' == 'freebsd' or '$(OSName)' == 'illumos' or '$(OSName)' == 'solaris') and '$(DotNetBuildSourceOnly)' != 'true' ">$(OSName)-$(Architecture)</NetRuntimeRid>
57+
<NetRuntimeRid Condition="'$(DotNetBuild)' != 'true' and $(NetRuntimeRid.StartsWith('mariner.2.0'))">$(HostRid.Replace('mariner.2.0', 'cm.2'))</NetRuntimeRid>
58+
59+
<SharedFrameworkRid>$(NetRuntimeRid)</SharedFrameworkRid>
60+
<SharedFrameworkRid Condition="$(ProductMonikerRid.StartsWith('linux-musl'))">$(ProductMonikerRid)</SharedFrameworkRid>
61+
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-$(Architecture)</SharedFrameworkRid>
62+
</PropertyGroup>
63+
5364
</Project>

src/Installer/redist-installer/Directory.Build.targets

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)../'))" />
44

5+
<PropertyGroup>
6+
<RedistLayoutPath>$(OutputPath)dotnet\</RedistLayoutPath>
7+
<SdkInternalLayoutPath>$(OutputPath)i\</SdkInternalLayoutPath>
8+
<DownloadsFolder>$(IntermediateOutputPath)downloads\</DownloadsFolder>
9+
<SdkOutputDirectory>$(RedistLayoutPath)sdk\$(Version)\</SdkOutputDirectory>
10+
</PropertyGroup>
11+
512
<Import Project="$(RepoRoot)src\Tasks\sdk-tasks\sdk-tasks.InTree.targets" />
613
<Import Project="targets\BundledTemplates.targets" />
714
<Import Project="targets\BundledManifests.targets" />

src/Installer/redist-installer/redist-installer.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
<PropertyGroup>
44
<TargetFramework>$(SdkTargetFramework)</TargetFramework>
5+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
56
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
67
<CopyBuildOutputToPublishDirectory>false</CopyBuildOutputToPublishDirectory>
78
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>

src/Installer/redist-installer/targets/BundledDotnetTools.targets

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22

3-
<ItemGroup Condition=" '$(IncludeAspNetCoreRuntime)' != 'false' ">
3+
<ItemGroup Condition="'$(IncludeAspNetCoreRuntime)' != 'false'">
44
<BundledDotnetTool Include="dotnet-dev-certs" Version="$(DotnetDevCertsPackageVersion)" />
55
<BundledDotnetTool Include="dotnet-user-jwts" Version="$(DotnetUserJwtsPackageVersion)" />
66
<BundledDotnetTool Include="dotnet-user-secrets" Version="$(DotnetUserSecretsPackageVersion)" ObsoletesCliTool="Microsoft.Extensions.SecretManager.Tools" />
@@ -9,34 +9,24 @@
99
<ItemGroup>
1010
<BundledDotnetTool Update="@(BundledDotnetTool)">
1111
<PackagePathRelativeToPackageRoot>%(Identity)/%(Version)/</PackagePathRelativeToPackageRoot>
12-
<RestoredPackagePath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(PackagePathRelativeToPackageRoot)', '').ToLower())/</RestoredPackagePath>
12+
<RestoredPackagePath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(PackagePathRelativeToPackageRoot)', '').ToLowerInvariant())/</RestoredPackagePath>
1313
<NupkgPathRelativeToPackageRoot>%(Identity)/%(Version)/%(Identity).%(Version).nupkg</NupkgPathRelativeToPackageRoot>
14-
<RestoredNupkgPath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(NupkgPathRelativeToPackageRoot)', '').ToLower())</RestoredNupkgPath>
14+
<RestoredNupkgPath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(NupkgPathRelativeToPackageRoot)', '').ToLowerInvariant())</RestoredNupkgPath>
1515
</BundledDotnetTool>
1616
</ItemGroup>
1717

18-
<Target Name="LayoutBundledTools" DependsOnTargets="SetupBundledComponents">
19-
<ItemGroup>
20-
<BundledToolLayoutProject Include="$(MSBuildThisFileDirectory)..\projects\DownloadPackage.csproj">
21-
<!-- For this unique RestoreProjectStyle, see: https://aka.ms/global-tools-nuget -->
22-
<Properties>
23-
PackageToRestore=%(BundledDotnetTool.Identity);
24-
PackageVersionToRestore=%(BundledDotnetTool.Version);
25-
TargetFramework=$(TargetFramework);
26-
RestoreProjectStyle=DotnetToolReference
27-
</Properties>
28-
</BundledToolLayoutProject>
29-
</ItemGroup>
30-
31-
<MSBuild Projects="@(BundledToolLayoutProject)" />
18+
<ItemGroup>
19+
<PackageDownload Include="@(BundledDotnetTool)" Version="[%(Version)]" />
20+
</ItemGroup>
3221

22+
<Target Name="LayoutBundledTools" Condition="'@(BundledDotnetTool)' != ''">
3323
<ItemGroup>
3424
<BundledToolFiles Include="%(BundledDotnetTool.RestoredPackagePath)\**\*.*" PackageToRestore="%(BundledDotnetTool.Identity)" PackageVersionToRestore="%(BundledDotnetTool.Version)" />
3525
<BundledToolFiles Remove="%(BundledDotnetTool.RestoredPackagePath)\*.*" />
3626
</ItemGroup>
3727

3828
<Copy SourceFiles="@(BundledToolFiles)"
39-
DestinationFiles="@(BundledToolFiles->'$(SdkOutputDirectory)DotnetTools/%(PackageToRestore)\%(PackageVersionToRestore)\%(RecursiveDir)%(Filename)%(Extension)')"
29+
DestinationFiles="@(BundledToolFiles->'$(SdkOutputDirectory)DotnetTools\%(PackageToRestore)\%(PackageVersionToRestore)\%(RecursiveDir)%(Filename)%(Extension)')"
4030
SkipUnchangedFiles="true" />
4131
</Target>
4232

src/Installer/redist-installer/targets/Crossgen.targets

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
<Project>
22

3+
<PropertyGroup>
4+
<Crossgen2Rid>$(HostOSName)-$(BuildArchitecture)</Crossgen2Rid>
5+
<Crossgen2Rid Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(SharedFrameworkRid)</Crossgen2Rid>
6+
7+
<RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(Crossgen2Rid)</RuntimeNETCrossgenPackageName>
8+
</PropertyGroup>
9+
10+
<!-- Download the runtime package with the crossgen executable in it -->
11+
<ItemGroup>
12+
<PackageDownload Include="$(RuntimeNETCrossgenPackageName)" Version="[$(MicrosoftNETCoreAppRuntimePackageVersion)]" />
13+
</ItemGroup>
14+
315
<!-- Crossgen is currently not supported on the s390x, ppc64le architecture as using mono instead of CoreCLR. -->
416
<Target Name="CrossgenLayout"
517
Condition="'$(DISABLE_CROSSGEN)' == '' AND '$(Architecture)' != 's390x' AND '$(Architecture)' != 'ppc64le'">
618
<PropertyGroup>
7-
<RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(Crossgen2Rid)</RuntimeNETCrossgenPackageName>
819
<CrossgenPath>$(NuGetPackageRoot)$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension)</CrossgenPath>
920
<CreateCrossgenSymbols Condition="'$(CreateCrossgenSymbols)' == ''">true</CreateCrossgenSymbols>
1021
<!-- When ingesting stable pgo instrumented binaries, the shared framework will be a non-stable version,
@@ -13,19 +24,6 @@
1324
<SharedFrameworkNameVersionPath Condition=" '$(PgoInstrument)' == 'true' ">$(RedistLayoutPath)shared/$(SharedFrameworkName)/$(VSRedistCommonNetCoreTargetingPackx64100PackageVersion)</SharedFrameworkNameVersionPath>
1425
</PropertyGroup>
1526

16-
<!-- Download the runtime package with the crossgen executable in it -->
17-
<ItemGroup>
18-
<CrossGenDownloadPackageProject Include="$(MSBuildThisFileDirectory)..\projects\DownloadPackage.csproj">
19-
<Properties>
20-
PackageToRestore=$(RuntimeNETCrossgenPackageName);
21-
PackageVersionToRestore=$(MicrosoftNETCoreAppRuntimePackageVersion);
22-
TargetFramework=$(TargetFramework)
23-
</Properties>
24-
</CrossGenDownloadPackageProject>
25-
</ItemGroup>
26-
27-
<MSBuild Projects="@(CrossGenDownloadPackageProject)" />
28-
2927
<!-- This PropertyGroup contains the paths to the various SDK tooling that should be
3028
cross-genned. This tooling multi-targets, and we only want to cross-gen the .NET Core
3129
targeted bits. Below, this propertygroup is used to verify that these paths exist as expected,

src/Installer/redist-installer/targets/GenerateLayout.targets

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
<Project TreatAsLocalProperty="PublicBaseURL">
22

3-
<PropertyGroup>
4-
<RedistLayoutPath>$(BaseOutputPath)$(Configuration)\dotnet\</RedistLayoutPath>
5-
<SdkInternalLayoutPath>$(BaseOutputPath)$(Configuration)\i\</SdkInternalLayoutPath>
6-
<DownloadsFolder>$(IntermediateOutputPath)downloads\</DownloadsFolder>
7-
</PropertyGroup>
8-
93
<PropertyGroup>
104
<!-- Blob storage directories are not stabilized, so these must refer to a package that does not stabilize -->
115
<!-- In unified build, the layout does match, so use the runtime package versions rather than the VS redist versions -->
@@ -21,8 +15,6 @@
2115

2216
<Target Name="SetupBundledComponents">
2317
<PropertyGroup>
24-
<SdkOutputDirectory>$(RedistLayoutPath)sdk\$(Version)\</SdkOutputDirectory>
25-
2618
<InternalBuild Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">true</InternalBuild>
2719
<InternalBaseURL Condition="$(SYSTEM_TEAMPROJECT) == 'internal'">https://dotnetbuilds.blob.core.windows.net/internal/</InternalBaseURL>
2820

@@ -32,10 +24,6 @@
3224
<!-- MSBuild removes the '//' slashes when passing PublicBaseURL from the outer to the inner build. -->
3325
<PublicBaseURL Condition="$(PublicBaseURL.StartsWith('file:')) and '$(OS)' != 'Windows_NT'">$([System.Text.RegularExpressions.Regex]::Replace('$(PublicBaseURL)', '%28file:\/{1,}%29%28.+%29', 'file:///%242'))</PublicBaseURL>
3426

35-
<NetRuntimeRid Condition="'$(NetRuntimeRid)' == ''">$(HostRid)</NetRuntimeRid>
36-
<NetRuntimeRid Condition=" ('$(OSName)' == 'win' or '$(OSName)' == 'osx' or '$(OSName)' == 'freebsd' or '$(OSName)' == 'illumos' or '$(OSName)' == 'solaris') and '$(DotNetBuildSourceOnly)' != 'true' ">$(OSName)-$(Architecture)</NetRuntimeRid>
37-
<NetRuntimeRid Condition="'$(DotNetBuild)' != 'true' and $(NetRuntimeRid.StartsWith('mariner.2.0'))">$(HostRid.Replace('mariner.2.0', 'cm.2'))</NetRuntimeRid>
38-
3927
<!-- only the runtime OSX .pkgs have a `-internal` suffix -->
4028
<InstallerStartSuffix Condition="$([MSBuild]::IsOSPlatform('OSX'))">-internal</InstallerStartSuffix>
4129

@@ -68,17 +56,10 @@
6856
<DownloadedNetStandardTargetingPackInstallerFileName Condition="'$(SharedFrameworkInstallerFileRid)' == 'osx-arm64'">netstandard-targeting-pack-$(NETStandardLibraryRefPackageVersion)-osx-x64$(InstallerExtension)</DownloadedNetStandardTargetingPackInstallerFileName>
6957
<NetStandardTargetingPackTargetFramework>netstandard$(NETStandardLibraryRefPackageVersion.Split('.')[0])$(NETStandardLibraryRefPackageVersion.Split('.')[1])</NetStandardTargetingPackTargetFramework>
7058

71-
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
72-
<SharedFrameworkRid>$(NetRuntimeRid)</SharedFrameworkRid>
73-
<SharedFrameworkRid Condition="$(ProductMonikerRid.StartsWith('linux-musl'))">$(ProductMonikerRid)</SharedFrameworkRid>
74-
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-$(Architecture)</SharedFrameworkRid>
7559
<CombinedFrameworkHostArchiveFileName Condition=" '$(PgoInstrument)' != 'true' ">dotnet-runtime-$(MicrosoftNETCoreAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostArchiveFileName>
7660
<CombinedFrameworkHostArchiveFileName Condition=" '$(PgoInstrument)' == 'true' ">dotnet-runtime$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx64100PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostArchiveFileName>
7761
<WinFormsAndWpfSharedFxArchiveFileName>windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</WinFormsAndWpfSharedFxArchiveFileName>
7862

79-
<Crossgen2Rid>$(HostOSName)-$(BuildArchitecture)</Crossgen2Rid>
80-
<Crossgen2Rid Condition="'$(DotNetBuildSourceOnly)' == 'true'">$(SharedFrameworkRid)</Crossgen2Rid>
81-
8263
<AspNetCoreInstallerRid Condition="'$(AspNetCoreInstallerRid)' == ''">$(SharedFrameworkRid)</AspNetCoreInstallerRid>
8364
<AspNetCoreArchiveRid>$(AspNetCoreInstallerRid)</AspNetCoreArchiveRid>
8465
<AspNetCoreInstallerRid Condition="('$(InstallerExtension)' == '.deb' OR '$(InstallerExtension)' == '.rpm') AND '$(Architecture)' != 'arm64'">x64</AspNetCoreInstallerRid>

test/dotnet-MsiInstallation.Tests/WorkloadSetTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,14 @@ public void UpdateShouldNotPinWorkloadSet()
227227
GetWorkloadVersion().Should().Be(WorkloadSetVersion2);
228228
}
229229

230-
[Fact(Skip = "Not Implemented")]
230+
[Fact(Skip = "https://github.com/dotnet/sdk/issues/46905")]
231231
public void WorkloadSetInstallationRecordIsWrittenCorrectly()
232232
{
233233
// Should the workload set version or the package version be used in the registry?
234234
throw new NotImplementedException();
235235
}
236236

237-
[Fact(Skip = "Not Implemented")]
237+
[Fact(Skip = "https://github.com/dotnet/sdk/issues/46905")]
238238
public void TurnOffWorkloadSetUpdateMode()
239239
{
240240
// If you have a workload set installed and then turn off workload set update mode, what should happen?

0 commit comments

Comments
 (0)