Skip to content
This repository was archived by the owner on Apr 20, 2023. It is now read-only.

Commit a54f0ff

Browse files
authored
Enable 'arm' builds in the CLI (#8791)
* First draft enablement of Win-arm and Linux-arm builds for the CLI. * Fixing a typo * Disable tests for arm; enable badges and FinalizeBuild for arm. * Remove the 'Win-arm' leg. * Update the README * Update the README [2] * Update netci.groovy * Fixing a hard-coded Architecture: 'linux-x64'; removing the LZMA for 'arm'.
1 parent 6d9177f commit a54f0ff

15 files changed

+74
-38
lines changed

README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ This project has adopted the code of conduct defined by the [Contributor Covenan
2323
Build Status
2424
------------
2525

26-
|Windows x64|Windows x86|macOS|Linux x64 Archive|Linux Native Installers|RHEL 6 Archive|Alpine 3.6 Archive|
27-
|:------:|:------:|:------:|:------:|:------:|:------:|:------:|
28-
|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]|
26+
|Windows x64|Windows x86|macOS|Linux x64 Archive|Linux arm Archive|Linux Native Installers|RHEL 6 Archive|Alpine 3.6 Archive|
27+
|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|
28+
|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linux-arm-build-badge]][linux-arm-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]|
2929

3030
[win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6902/badge
3131
[win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6902
@@ -39,6 +39,9 @@ Build Status
3939
[linux-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6899/badge
4040
[linux-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6899
4141

42+
[linux-arm-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8721/badge
43+
[linux-arm-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=8721
44+
4245
[linuxnative-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/7254/badge
4346
[linuxnative-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=7254
4447

@@ -65,6 +68,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/
6568
| **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]<br>[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] |
6669
| **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]<br>[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] |
6770
| **Linux x64** | [DEB Installer][linux-DEB-installer] - [Checksum][linux-DEB-installer-checksum]<br>[RPM Installer][linux-RPM-installer] - [Checksum][linux-RPM-installer-checksum]<br>_see installer note below_<sup>1</sup><br>[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] |
71+
| **Linux arm** | [tar.gz][linux-arm-targz] - [Checksum][linux-arm-targz-checksum] |
6872
| **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] |
6973
| **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] |
7074

@@ -100,6 +104,9 @@ Reference notes:
100104
[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz
101105
[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz.sha
102106

107+
[linux-arm-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm.tar.gz
108+
[linux-arm-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm.tar.gz.sha
109+
103110
[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb
104111
[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb.sha
105112

build/BackwardsCompatibilityRuntimes.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
<ItemGroup Condition=" '$(IncludeSharedFrameworksForBackwardsCompatibilityTests)' == 'true' ">
2727
<_DownloadAndExtractItem Include="BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive"
28-
Condition="!Exists('$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)')">
28+
Condition="!Exists('$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)') And !$(Architecture.StartsWith('arm'))">
2929
<Url>$(BackwardsCompatibility110SharedFrameworkArchiveBlobRootUrl)/$(BackwardsCompatibility110CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam)</Url>
3030
<DownloadFileName>$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)</DownloadFileName>
3131
<ExtractDestination>$(BackwardsCompatibleSharedFrameworksPublishDirectory)</ExtractDestination>
@@ -34,21 +34,21 @@
3434
</_DownloadAndExtractItem>
3535

3636
<_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile"
37-
Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)') And '$(OSName)' != 'linux'">
37+
Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)') And '$(OSName)' != 'linux' And !$(Architecture.StartsWith('arm'))">
3838
<Url>$(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedFrameworkVersion)/$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
3939
<DownloadFileName>$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)</DownloadFileName>
4040
<ExtractDestination></ExtractDestination>
4141
</_DownloadAndExtractItem>
4242

4343
<_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedHostInstallerFile"
44-
Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)') And '$(OSName)' != 'linux'">
44+
Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)') And '$(OSName)' != 'linux' And !$(Architecture.StartsWith('arm'))">
4545
<Url>$(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedHostVersion)/$(BackwardsCompatibility110DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
4646
<DownloadFileName>$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)</DownloadFileName>
4747
<ExtractDestintation></ExtractDestintation>
4848
</_DownloadAndExtractItem>
4949

5050
<_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedHostFxrInstallerFile"
51-
Condition="!Exists('$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)') And '$(OSName)' != 'linux'">
51+
Condition="!Exists('$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)') And '$(OSName)' != 'linux' And !$(Architecture.StartsWith('arm'))">
5252
<Url>$(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110HostFxrVersion)/$(BackwardsCompatibility110DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
5353
<DownloadFileName>$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)</DownloadFileName>
5454
<ExtractDestintation></ExtractDestintation>

build/BuildDefaults.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<PropertyGroup>
33
<CLITargets Condition=" '$(CLITargets)' == '' ">Prepare;Compile;Test;Package;Publish</CLITargets>
44
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<IncludeNuGetPackageArchive Condition=" $(Architecture.StartsWith('arm')) ">false</IncludeNuGetPackageArchive>
56
<IncludeNuGetPackageArchive Condition=" '$(IncludeNuGetPackageArchive)' == '' ">true</IncludeNuGetPackageArchive>
67
<SkipBuildingInstallers Condition=" '$(SkipBuildingInstallers)' == '' AND ($(Rid.StartsWith('rhel.6')) OR $(Rid.StartsWith('alpine.3.6')))">true</SkipBuildingInstallers>
78
<SkipBuildingInstallers Condition=" '$(SkipBuildingInstallers)' == '' ">false</SkipBuildingInstallers>

build/BuildInfo.targets

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,14 @@
1010

1111
<PropertyGroup>
1212
<IsLinux Condition = " '$(HostOSName)' != 'win' AND '$(HostOSName)' != 'osx' ">True</IsLinux>
13-
<Rid Condition=" '$(Rid)' == '' AND '$(IsLinux)' != 'True' ">$(HostRid)</Rid>
14-
<Architecture Condition=" '$(Architecture)' == '' AND '$(IsLinux)' != 'True' ">x64</Architecture>
1513
<OSName Condition=" '$(OSName)' == '' AND '$(IsLinux)' != 'True' ">$(HostOSName)</OSName>
1614
<OSPlatform Condition=" '$(OSPlatform)' == '' AND '$(IsLinux)' != 'True' ">$(HostOSPlatform)</OSPlatform>
17-
18-
<Rid Condition=" '$(Rid)' == '' AND '$(IsLinux)' == 'True' ">linux-x64</Rid>
19-
<Architecture Condition=" '$(Architecture)' == '' AND '$(IsLinux)' == 'True' ">x64</Architecture>
2015
<OSName Condition=" '$(OSName)' == '' AND '$(IsLinux)' == 'True' ">linux</OSName>
2116
<OSPlatform Condition=" '$(OSPlatform)' == '' AND '$(IsLinux)' == 'True' ">linux</OSPlatform>
2217

18+
<Architecture Condition=" '$(Architecture)' == '' ">x64</Architecture>
19+
<Rid Condition=" '$(Rid)' == '' ">$(OSName)-$(Architecture)</Rid>
20+
2321
<BuildInfoPropsContent>
2422
&lt;Project ToolsVersion=&quot;15.0&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;
2523
&lt;PropertyGroup&gt;

build/BundledRuntimes.props

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
<!-- Use the portable "linux-x64" Rid when downloading Linux shared framework compressed file. -->
2727
<SharedFrameworkRid>$(CoreSetupRid)</SharedFrameworkRid>
28-
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-x64</SharedFrameworkRid>
28+
<SharedFrameworkRid Condition=" '$(UsePortableLinuxSharedFramework)' == 'true' ">linux-$(Architecture)</SharedFrameworkRid>
2929
<CombinedFrameworkHostCompressedFileName>dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostCompressedFileName>
3030

3131
<AspNetCoreSharedFxInstallerRid>$(SharedFrameworkRid)</AspNetCoreSharedFxInstallerRid>
@@ -56,7 +56,7 @@
5656

5757
<ItemGroup>
5858
<_DownloadAndExtractItem Include="AspNetCoreSharedFxArchiveFile"
59-
Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)')">
59+
Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)') And !$(Architecture.StartsWith('arm'))">
6060
<Url>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam)</Url>
6161
<DownloadFileName>$(AspNetCoreSharedFxArchiveFile)</DownloadFileName>
6262
<ExtractDestination>$(AspNetCoreSharedFxPublishDirectory)</ExtractDestination>
@@ -70,42 +70,42 @@
7070
</_DownloadAndExtractItem>
7171

7272
<_DownloadAndExtractItem Include="DownloadedRuntimeDepsInstallerFile"
73-
Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != ''">
73+
Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
7474
<Url>$(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedRuntimeDepsInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
7575
<DownloadFileName>$(DownloadedRuntimeDepsInstallerFile)</DownloadFileName>
7676
<ExtractDestination></ExtractDestination>
7777
</_DownloadAndExtractItem>
7878

7979
<_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile"
80-
Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''">
80+
Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
8181
<Url>$(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
8282
<DownloadFileName>$(DownloadedSharedFrameworkInstallerFile)</DownloadFileName>
8383
<ExtractDestination></ExtractDestination>
8484
</_DownloadAndExtractItem>
8585

8686
<_DownloadAndExtractItem Include="DownloadedSharedHostInstallerFile"
87-
Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != ''">
87+
Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
8888
<Url>$(CoreSetupRootUrl)$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
8989
<DownloadFileName>$(DownloadedSharedHostInstallerFile)</DownloadFileName>
9090
<ExtractDestination></ExtractDestination>
9191
</_DownloadAndExtractItem>
9292

9393
<_DownloadAndExtractItem Include="DownloadedHostFxrInstallerFile"
94-
Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != ''">
94+
Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
9595
<Url>$(CoreSetupRootUrl)$(HostFxrVersion)/$(DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
9696
<DownloadFileName>$(DownloadedHostFxrInstallerFile)</DownloadFileName>
9797
<ExtractDestination></ExtractDestination>
9898
</_DownloadAndExtractItem>
9999

100100
<_DownloadAndExtractItem Include="DownloadedAspNetCoreSharedFxInstallerFile"
101-
Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != ''">
101+
Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))">
102102
<Url>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(DownloadedAspNetCoreSharedFxInstallerFileName)$(CoreSetupBlobAccessTokenParam)</Url>
103103
<DownloadFileName>$(DownloadedAspNetCoreSharedFxInstallerFile)</DownloadFileName>
104104
<ExtractDestination></ExtractDestination>
105105
</_DownloadAndExtractItem>
106106

107107
<_DownloadAndExtractItem Include="AspNetCoreSharedFxBaseRuntimeVersionFile"
108-
Condition="!Exists('$(AspNetCoreSharedFxBaseRuntimeVersionFile)')">
108+
Condition="!Exists('$(AspNetCoreSharedFxBaseRuntimeVersionFile)') And !$(Architecture.StartsWith('arm'))">
109109
<Url>$(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxBaseRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam)</Url>
110110
<DownloadFileName>$(AspNetCoreSharedFxBaseRuntimeVersionFile)</DownloadFileName>
111111
<ExtractDestination></ExtractDestination>

build/Package.targets

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,27 @@
1010
<Import Project="$(MSBuildThisFileDirectory)/package/CopySandBoxPackageOut.targets" />
1111

1212
<Target Name="GenerateInstallers"
13-
Condition=" '$(SkipBuildingInstallers)' != 'true' "
14-
DependsOnTargets="Prepare;Layout;GeneratePkgs;GenerateDebs;GenerateMsis;GenerateRpms" />
13+
Condition=" '$(SkipBuildingInstallers)' != 'true' And !$(Architecture.StartsWith('arm')) "
14+
DependsOnTargets="Prepare;
15+
Layout;
16+
GeneratePkgs;
17+
GenerateDebs;
18+
GenerateMsis;
19+
GenerateRpms" />
1520

1621
<Target Name="Package"
1722
DependsOnTargets="BuildDotnetCliBuildFramework;
1823
Init;
1924
Layout;
2025
GenerateNugetPackages;
2126
GenerateArchives;
22-
GenerateInstallers" />
27+
GenerateInstallers" />
2328

2429
<Target Name="GenerateInstallersAndCopyOutOfSandBox"
25-
DependsOnTargets="SandBoxPrepare;Layout;GenerateDebs;GenerateRpms;CopySandBoxPackageOut" />
30+
DependsOnTargets="SandBoxPrepare;
31+
Layout;
32+
GenerateDebs;
33+
GenerateRpms;
34+
CopySandBoxPackageOut" />
2635

27-
</Project>
36+
</Project>

build/Publish.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
<ItemGroup>
6767
<CliVersionBadgeToUpload Include="$(VersionBadge)" />
6868
<CliVersionBadgeToUpload Include="$(CoherentBadge)"
69-
Condition=" '$(Coherent)' == 'true' " />
69+
Condition=" '$(Coherent)' == 'true' And !$(Architecture.StartsWith('arm')) " />
7070
</ItemGroup>
7171

7272
<ItemGroup>

build/Test.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
</PropertyGroup>
1414

1515
<Target Name="Test"
16-
Condition=" '$(CLIBUILD_SKIP_TESTS)' != 'true' "
16+
Condition=" '$(CLIBUILD_SKIP_TESTS)' != 'true' And !$(Architecture.StartsWith('arm')) "
1717
DependsOnTargets="TestsForBuildItself;BuildTests;">
1818

1919
<!-- Make ure the test packages directory exists so that it's not an error to have it as a package source -->

build/publish/Badge.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
<Target Name="GenerateCoherentBadge"
1919
DependsOnTargets="Init; EvaluateRuntimeCoherence"
20-
Condition=" '$(Coherent)' == 'true' ">
20+
Condition=" '$(Coherent)' == 'true' And !$(Architecture.StartsWith('arm')) ">
2121
<Message Text="$(CoherentBadge)" />
2222

2323
<ReplaceFileContents

build/publish/RuntimeCoherence.targets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<Target Name="EvaluateRuntimeCoherence"
4+
Condition="!$(Architecture.StartsWith('arm'))"
45
DependsOnTargets="ReadAspNetCoreSharedRuntimeVersionFile;
56
CompareRuntimeVersions" />
67

0 commit comments

Comments
 (0)