Merge pull request #13640 from dsplaisted/linux-arm64-and-mariner2-6.0.3xx

Add Mariner 2.0 and Arm64 RHEL builds (6.0.3xx)
This commit is contained in:
Daniel Plaisted 2022-05-03 14:39:14 -07:00 committed by GitHub
commit 921c0441d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 66 additions and 14 deletions

View file

@ -198,6 +198,15 @@ stages:
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Rhel_7_2_Release_Arm64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-arm64'
_BuildArchitecture: 'arm64'
# Never run tests on arm
_TestArg: ''
_AdditionalBuildParameters: '/p:CLIBUILD_SKIP_TESTS=true'
Build_Arm_Debug:
_BuildConfig: Debug
_DockerParameter: ''
@ -306,6 +315,17 @@ stages:
# already published by Build_LinuxPortable_Release_x64
_AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
_TestArg: $(_NonWindowsTestArg)
Build_Linux_Portable_Rpm_Release_Arm64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm64'
_BuildArchitecture: 'arm64'
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
_AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false /p:CLIBUILD_SKIP_TESTS=true'
# Never run tests on arm64
_TestArg: ''
Build_LinuxPortable_Release_x64:
_BuildConfig: Release
_DockerParameter: ''

View file

@ -46,11 +46,13 @@
<!-- Use the "x64" Rid when downloading Linux shared framework 'DEB' installer files. -->
<SharedFrameworkInstallerFileRid>$(CoreSetupRid)</SharedFrameworkInstallerFileRid>
<SharedFrameworkInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">$(Architecture)</SharedFrameworkInstallerFileRid>
<SharedFrameworkInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true' ">$(InstallerTargetArchitecture)</SharedFrameworkInstallerFileRid>
<!-- Use the "x64" Rid when downloading Linux runtime dependencies Debian package. -->
<RuntimeDepsInstallerFileRid>$(CoreSetupRid)</RuntimeDepsInstallerFileRid>
<RuntimeDepsInstallerFileRid Condition=" '$(IsDebianBaseDistro)' == 'true' ">$(Architecture)</RuntimeDepsInstallerFileRid>
<RuntimeDepsInstallerFileRid Condition=" '$(IsRPMBasedDistro)' == 'true' And '$(UsePortableLinuxSharedFramework)' != 'true' ">$(OSName)-$(InstallerTargetArchitecture)</RuntimeDepsInstallerFileRid>
<RuntimeDepsInstallerFileRid Condition=" '$(CoreSetupRid)' == 'rhel.7-x64' And '$(Architecture)' == 'Arm64' And '$(UsePortableLinuxSharedFramework)' == 'true' ">rhel.7-aarch64</RuntimeDepsInstallerFileRid>
<AlternateArchitecture Condition="'$(Architecture)' == 'x86'">x64</AlternateArchitecture>
<AlternateArchitecture Condition="'$(Architecture)' == 'x64'">x86</AlternateArchitecture>

View file

@ -91,9 +91,6 @@
<SDKTokenValue Include="%NETCOREAPP_TARGETING_PACK_RPM_PACKAGE_VERSION%">
<ReplacementString>$(MicrosoftNETCoreAppRefMajorMinorPatchVersion)</ReplacementString>
</SDKTokenValue>
<SDKTokenValue Include="%NETSTANDARD_TARGETING_PACK_RPM_PACKAGE_VERSION%">
<ReplacementString>$(NetStandardTargetingPackMajorMinorPatchVersion)</ReplacementString>
</SDKTokenValue>
<SDKTokenValue Include="%ASPNETCORE_SHAREDFX_RPM_PACKAGE_VERSION%">
<ReplacementString>$(AspNetCoreRuntimeMajorMinorPatchVersion)</ReplacementString>
</SDKTokenValue>
@ -109,9 +106,6 @@
<SDKTokenValue Include="%NETCORE_APPHOST_PACK_RPM_PACKAGE_NAME%">
<ReplacementString>$(NetCoreAppHostPackRpmPackageName)</ReplacementString>
</SDKTokenValue>
<SDKTokenValue Include="%NETSTANDARD_TARGETING_PACK_RPM_PACKAGE_NAME%">
<ReplacementString>$(NetStandardTargetingPackRpmPackageName)</ReplacementString>
</SDKTokenValue>
<SDKTokenValue Include="%ASPNETCORE_SHAREDFX_RPM_PACKAGE_NAME%">
<ReplacementString>$(AspNetCoreSharedFxRpmPackageName)</ReplacementString>
</SDKTokenValue>
@ -121,6 +115,10 @@
<SDKTokenValue Include="%SDK_NUGET_VERSION%">
<ReplacementString>$(Version)</ReplacementString>
</SDKTokenValue>
<SDKTokenValue Include="%SDK_RPM_PACKAGE_ARCHITECTURE%">
<ReplacementString>amd64</ReplacementString>
<ReplacementString Condition="'$(Architecture)' == 'Arm64'">aarch64</ReplacementString>
</SDKTokenValue>
<SDKTokenValue Include="%CLI_SDK_BRAND_NAME%">
<ReplacementString>$(SdkBrandName)</ReplacementString>
</SDKTokenValue>
@ -133,6 +131,27 @@
</AfterInstallHostTokenValue>
</ItemGroup>
<ItemGroup Condition="'$(Architecture)' != 'Arm64'">
<SDKTokenValue Include="%SDK_RPM_NETSTANDARD_TARGETINGPACK_DEPENDENCY%">
<ReplacementString>
<![CDATA[
{
"package_name": "$(NetStandardTargetingPackRpmPackageName)",
"package_version": "$(NetStandardTargetingPackMajorMinorPatchVersion)"
},
]]>
</ReplacementString>
</SDKTokenValue>
</ItemGroup>
<!-- .NET Standard targeting pack package hasn't been created for Arm64, so don't include it as a dependency -->
<ItemGroup Condition="'$(Architecture)' == 'Arm64'">
<SDKTokenValue Include="%SDK_RPM_NETSTANDARD_TARGETINGPACK_DEPENDENCY%">
<ReplacementString></ReplacementString>
</SDKTokenValue>
</ItemGroup>
<ItemGroup>
<TestSdkRpmTaskEnvironmentVariables Include="PATH=$(RpmInstalledDirectory)$(PathListSeparator)$(PATH)" />
<TestSdkRpmTaskEnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" />
@ -186,6 +205,12 @@
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False"/>
<Copy SourceFiles="@(GeneratedRpmFiles)"
DestinationFiles="$(Mariner2RpmFile)"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False"/>
</Target>
<Target Name="SetupRpmProps"
@ -199,6 +224,7 @@
<SdkRPMInstallerFile>$(ArtifactsShippingPackagesDir)$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension)</SdkRPMInstallerFile>
<RpmFile>$(SdkRPMInstallerFile)</RpmFile>
<MarinerRpmFile>$(ArtifactsShippingPackagesDir)$(MarinerArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension)</MarinerRpmFile>
<Mariner2RpmFile>$(ArtifactsShippingPackagesDir)$(Mariner2ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension)</Mariner2RpmFile>
<!-- Need to acquire manpage files from CLI repo: https://github.com/dotnet/cli/issues/10266 -->
<ManPagesDir>$(RepoRoot)/Documentation/manpages</ManPagesDir>
<EndToEndTestProject>$(RepoRoot)/test/EndToEnd/EndToEnd.csproj</EndToEndTestProject>

View file

@ -39,8 +39,15 @@
<!-- Warning: changing the value "ProductBandCombinedHostHostFxrFrameworkSdkName" can only occur on a product-band boundary [CliProductBandVersion],
Changing "ProductBandCombinedHostHostFxrFrameworkSdkName" mid-product-band will break the upgradability of the SDK bundle installer. -->
<ProductBandCombinedHostHostFxrFrameworkSdkName>Dotnet SDK Bundle Installer $(CliProductBandVersion) $(ProductMonikerRid)</ProductBandCombinedHostHostFxrFrameworkSdkName>
<DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(Version)-$(Architecture)</DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
<MarinerArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk Condition=" '$(IsRPMBasedDistro)' == 'True' ">$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(Version)-cm.1-$(Architecture)</MarinerArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
<InstallerTargetArchitecture>$(Architecture)</InstallerTargetArchitecture>
<InstallerTargetArchitecture Condition=" '$(IsRPMBasedDistro)' == 'true' and '$(Architecture)' == 'Arm64' ">aarch64</InstallerTargetArchitecture>
<DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(Version)-$(InstallerTargetArchitecture)</DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
<!-- Mariner RPM names -->
<MarinerArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk Condition=" '$(IsRPMBasedDistro)' == 'True' ">$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(Version)-cm.1-$(InstallerTargetArchitecture)</MarinerArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
<Mariner2ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk Condition=" '$(IsRPMBasedDistro)' == 'True' ">$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(Version)-cm.2-$(InstallerTargetArchitecture)</Mariner2ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
</PropertyGroup>
</Target>
</Project>

View file

@ -14,7 +14,7 @@
"changelog_message": "Bootstrap loop package"
},
"control": {
"architecture": "amd64"
"architecture": "%SDK_RPM_PACKAGE_ARCHITECTURE%"
},
"copyright": ".NET Foundation and contributors",
"license": {
@ -34,10 +34,7 @@
"package_name": "%NETCORE_APPHOST_PACK_RPM_PACKAGE_NAME%",
"package_version": "%SHARED_FRAMEWORK_RPM_PACKAGE_VERSION%"
},
{
"package_name": "%NETSTANDARD_TARGETING_PACK_RPM_PACKAGE_NAME%",
"package_version": "%NETSTANDARD_TARGETING_PACK_RPM_PACKAGE_VERSION%"
},
%SDK_RPM_NETSTANDARD_TARGETINGPACK_DEPENDENCY%
{
"package_name": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_NAME%",
"package_version": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_VERSION%"