forked from microsoft/calculator
-
Notifications
You must be signed in to change notification settings - Fork 84
/
.vsts-ci.iOS.yml
93 lines (77 loc) · 2.75 KB
/
.vsts-ci.iOS.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
jobs:
- job: iOS
pool:
vmImage: macOS-14
variables:
- name: XCODE_ROOT
value: '/Applications/Xcode_16.app'
- name: NUGET_PACKAGES
value: $(build.sourcesdirectory)/.nuget
- name: VersionCodeOffset
value: 400559 # last value for the APK release
- group: unoplatform.apple.ios.appstore.distribution
workspace:
clean: all
steps:
- template: build/uno-ci/dotnet-install-mac.yml
- template: build/uno-ci/canary-updater.yml
- template: build/uno-ci/gitversion.yml
- template: build/uno-ci/jdk-setup.yml
- template: build/uno-ci/xcode-select.yml
parameters:
xCodeRoot: $(XCODE_ROOT)
- task: InstallAppleCertificate@2
displayName: Install Certificate
inputs:
certSecureFile: UnoPlatform-Apple-Distribution.p12
certPwd: $(appleappstorecertificatepassword)
keychain: temp
- task: InstallAppleProvisioningProfile@1
displayName: Install Provisioning Profile
inputs:
provisioningProfileLocation: secureFiles
provProfileSecureFile: Uno_Calculator.mobileprovision
- task: InstallAppleProvisioningProfile@1
displayName: Install Provisioning Profile (Canary)
inputs:
provisioningProfileLocation: secureFiles
provProfileSecureFile: Uno_Calculator_Canary_iOS.mobileprovision
- bash: |
cd $(build.sourcesdirectory)/src/CalcManager
chmod +x build_ios.sh
./build_ios.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=iOS /bl:$(build.artifactstagingdirectory)/build.binlog
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: true
createLogFile: true
- bash: |
cd $(build.sourcesdirectory)/src/Calculator.mobile
dotnet publish -f net9.0-ios -c Release /p:ArchiveOnBuild=true /bl:$(build.artifactstagingdirectory)/build-netcore.binlog "/p:InformationalVersion=$GITVERSION_INFORMATIONALVERSION"
displayName: 'Build iOS Binaries (netcore)'
- task: CopyFiles@2
displayName: 'Publish iOS Binaries (netcore)'
inputs:
SourceFolder: $(build.sourcesdirectory)/src/Calculator.Mobile/bin/Release/net9.0-ios
Contents: |
**/*.ipa
**/*.dSym/**
TargetFolder: $(build.artifactstagingdirectory)
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
- task: PublishBuildArtifacts@1
condition: always()
retryCountOnTaskFailure: 3
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
ArtifactName: Uno-Calculator-iOS
ArtifactType: Container