108 строки
3.3 KiB
YAML
108 строки
3.3 KiB
YAML
jobs:
|
|
- job: macOS
|
|
|
|
pool:
|
|
vmImage: 'macOS-10.15'
|
|
|
|
variables:
|
|
- name: NUGET_PACKAGES
|
|
value: $(build.sourcesdirectory)/.nuget
|
|
- name: VersionCodeOffset
|
|
value: 400559 # last value for the APK release
|
|
- group: apple.appstore.distribution.macos
|
|
- group: apple.appstore.distribution
|
|
|
|
workspace:
|
|
clean: all
|
|
|
|
steps:
|
|
|
|
- template: build/uno-ci/canary-updater.yml
|
|
- template: build/uno-ci/gitversion.yml
|
|
|
|
# Apply workaround for https://github.com/xamarin/xamarin-macios/issues/10652
|
|
- bash: |
|
|
curl -o xamarinmac.pkg 'https://bosstoragemirror.blob.core.windows.net/wrench/xcode12.4/a4c70e7d04e3904d17aa60f6d640eb048081c757/4477741/package/notarized/xamarin.mac-7.4.0.10.pkg'
|
|
sudo installer -pkg xamarinmac.pkg -target /
|
|
|
|
displayName: Apply Xamarin.mac workaround
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .Net Core runtime 3.1.6'
|
|
retryCountOnTaskFailure: 3
|
|
inputs:
|
|
packageType: runtime
|
|
version: 3.1.6
|
|
|
|
- task: InstallAppleCertificate@2
|
|
displayName: Install Bundle Apple Certificate
|
|
inputs:
|
|
certSecureFile: 'apple.appstore.distribution.p12'
|
|
certPwd: '$(appleappstorecertificatepassword)'
|
|
keychain: 'temp'
|
|
deleteCert: true
|
|
|
|
- task: InstallAppleCertificate@2
|
|
displayName: Install PKG Apple Certificate
|
|
inputs:
|
|
certSecureFile: '3rd-party-mac-developer.p12'
|
|
certPwd: '$(applepkgcertificatepassword)'
|
|
deleteCert: true
|
|
|
|
- task: InstallAppleProvisioningProfile@1
|
|
displayName: 'Install Apple Provisioning Profile'
|
|
inputs:
|
|
provisioningProfileLocation: 'secureFiles'
|
|
provProfileSecureFile: Uno_Calculator_macOS.mobileprovision # Located in the Library's secure files
|
|
|
|
- bash: |
|
|
cd $(build.sourcesdirectory)/src/CalcManager
|
|
chmod +x build_macos.sh
|
|
./build_macos.sh
|
|
|
|
displayName: Build native CalcManager
|
|
|
|
- task: MSBuild@1
|
|
inputs:
|
|
solution: '$(build.sourcesdirectory)/src/build/build.csproj'
|
|
msbuildLocationMethod: version
|
|
msbuildVersion: latest
|
|
msbuildArchitecture: x86
|
|
msbuildArguments: /r /p:BuildPlatformTarget=iPhoneSimulator /bl:$(build.artifactstagingdirectory)/build.binlog
|
|
clean: false
|
|
maximumCpuCount: true
|
|
restoreNugetPackages: false
|
|
logProjectEvents: true
|
|
createLogFile: true
|
|
|
|
- task: MSBuild@1
|
|
inputs:
|
|
solution: '$(build.sourcesdirectory)/src/Calculator.macOS/Calculator.macOS.csproj'
|
|
msbuildLocationMethod: version
|
|
msbuildVersion: latest
|
|
msbuildArchitecture: x86
|
|
msbuildArguments: /r /p:Configuration=Release /p:Platform=iPhoneSimulator /bl:$(build.artifactstagingdirectory)/build.binlog "/p:InformationalVersion=$GITVERSION_INFORMATIONALVERSION"
|
|
clean: false
|
|
maximumCpuCount: true
|
|
restoreNugetPackages: false
|
|
logProjectEvents: true
|
|
createLogFile: true
|
|
|
|
- task: CopyFiles@2
|
|
displayName: 'Publish macOS Binaries'
|
|
inputs:
|
|
SourceFolder: $(build.sourcesdirectory)/src/Calculator.macOS/bin/Release
|
|
Contents: '*.pkg'
|
|
TargetFolder: $(build.artifactstagingdirectory)
|
|
CleanTargetFolder: false
|
|
OverWrite: false
|
|
flattenFolders: false
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
condition: always()
|
|
retryCountOnTaskFailure: 3
|
|
inputs:
|
|
PathtoPublish: $(build.artifactstagingdirectory)
|
|
ArtifactName: Uno-Calculator-macOS
|
|
ArtifactType: Container
|