Skip to content

Commit

Permalink
Add osx-arm64 to packages & CI (#1574)
Browse files Browse the repository at this point in the history
* Add osx-arm64 to packages & CI

+ Revise osx-arm64 builds

  + Use vmImage: macOS-10.15
  + Use XCode 12.2

+ Fix comments
  • Loading branch information
sdmaclea committed Oct 8, 2020
1 parent 47a4256 commit cfa2182
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 3 deletions.
25 changes: 25 additions & 0 deletions diagnostics.yml
Expand Up @@ -157,6 +157,21 @@ stages:
_BuildConfig: Debug
_BuildArch: x64

- template: /eng/build.yml
parameters:
name: MacOS_cross
osGroup: MacOS_cross
strategy:
matrix:
Build_Release:
_BuildConfig: Release
_BuildArch: arm64
_PublishArtifacts: bin/OSX.arm64.Release
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
Build_Debug:
_BuildConfig: Debug
_BuildArch: arm64

- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- template: /eng/build.yml
parameters:
Expand Down Expand Up @@ -310,6 +325,7 @@ stages:
- CentOS_7
- Alpine3_6
- MacOS
- MacOS_cross
- Linux_cross
- Linux_cross64
- Alpine3_6_cross64
Expand Down Expand Up @@ -415,6 +431,15 @@ stages:
targetPath: '$(Build.SourcesDirectory)/artifacts/bin/OSX.x64.Release'
condition: succeeded()

# MacOS arm64 download

- task: DownloadPipelineArtifact@2
displayName: Download MacOS arm64 Artifacts
inputs:
artifactName: MacOS_cross_arm64_Release
targetPath: '$(Build.SourcesDirectory)/artifacts/bin/OSX.arm64.Release'
condition: succeeded()

# Create nuget packages, sign binaries and publish to blob feed
- script: $(Build.SourcesDirectory)\eng\ci-prepare-artifacts.cmd $(_InternalBuildArgs)
displayName: Package, Sign, and Publish
Expand Down
28 changes: 25 additions & 3 deletions eng/build.yml
Expand Up @@ -50,14 +50,22 @@ jobs:
${{ if and(eq(parameters.osGroup, 'FreeBSD'), ne(variables['System.TeamProject'], 'public')) }}:
name: dnceng-freebsd-internal

# Public OSX Build Pool
# Official Build OSX Pool
${{ if and(eq(parameters.osGroup, 'MacOS'), ne(variables['System.TeamProject'], 'public')) }}:
name: Hosted Mac Internal

# Official Build OSX Pool
# Public OSX Build Pool
${{ if and(eq(parameters.osGroup, 'MacOS'), eq(variables['System.TeamProject'], 'public')) }}:
vmImage: macOS-10.14

# Official Build OSX Xcode 12 Pool
${{ if and(eq(parameters.osGroup, 'MacOS_cross'), ne(variables['System.TeamProject'], 'public')) }}:
vmImage: macos-10.15

# Public OSX Xcode 12 Build Pool
${{ if and(eq(parameters.osGroup, 'MacOS_cross'), eq(variables['System.TeamProject'], 'public')) }}:
vmImage: macOS-10.15

# Official Build Windows Pool
${{ if and(eq(parameters.osGroup, 'Windows_NT'), ne(variables['System.TeamProject'], 'public')) }}:
name: NetCoreInternal-Pool
Expand Down Expand Up @@ -157,7 +165,21 @@ jobs:
$(_InternalInstallArgs)
displayName: Build / Test
condition: succeeded()


- ${{ if eq(parameters.osGroup, 'MacOS_cross') }}:
- script: /bin/bash -c "sudo xcode-select -s /Applications/Xcode_12.2.app/Contents/Developer"
- script: $(Build.SourcesDirectory)/eng/build.sh
--restore
--ci
--stripsymbols
--configuration $(_BuildConfig)
--architecture $(_BuildArch)
--prepareMachine
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
$(_InternalInstallArgs)
displayName: Build / Test
condition: succeeded()

- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: PublishBuildArtifacts@1
displayName: Publish Build Artifacts
Expand Down
7 changes: 7 additions & 0 deletions src/SOS/SOS.Package/SOS.Symbol.Package.csproj
Expand Up @@ -71,6 +71,13 @@
<None Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsos.dylib.dwarf" Pack="true" Visible="false">
<PackagePath>$(SOSPackagePathPrefix)/osx-x64</PackagePath>
</None>

<None Include="$(ArtifactsBinDir)\OSX.arm64.$(Configuration)\libsosplugin.dylib.dwarf" Pack="true" Visible="false">
<PackagePath>$(SOSPackagePathPrefix)/osx-arm64</PackagePath>
</None>
<None Include="$(ArtifactsBinDir)\OSX.arm64.$(Configuration)\libsos.dylib.dwarf" Pack="true" Visible="false">
<PackagePath>$(SOSPackagePathPrefix)/osx-arm64</PackagePath>
</None>
</ItemGroup>

</Project>
5 changes: 5 additions & 0 deletions src/sos-packaging.props
Expand Up @@ -55,6 +55,11 @@
<SosRequiredBinaries Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsosplugin.dylib" TargetRid="osx-x64" />
<SosRequiredBinaries Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\libsos.dylib" TargetRid="osx-x64" />
<SosRequiredBinaries Include="$(ArtifactsBinDir)\OSX.x64.$(Configuration)\sosdocsunix.txt" TargetRid="osx-x64" />

<SosRequiredBinaries Include="$(SOSNETCoreBinaries)" TargetRid="osx-arm64" />
<SosRequiredBinaries Include="$(ArtifactsBinDir)\OSX.arm64.$(Configuration)\libsosplugin.dylib" TargetRid="osx-arm64" />
<SosRequiredBinaries Include="$(ArtifactsBinDir)\OSX.arm64.$(Configuration)\libsos.dylib" TargetRid="osx-arm64" />
<SosRequiredBinaries Include="$(ArtifactsBinDir)\OSX.arm64.$(Configuration)\sosdocsunix.txt" TargetRid="osx-arm64" />
</ItemGroup>

<!-- What and where to pack SOS assets in the final packages. -->
Expand Down

0 comments on commit cfa2182

Please sign in to comment.