forked from unoplatform/calculator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vsts-ci.iOS.yml
102 lines (86 loc) · 2.98 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
94
95
96
97
98
99
100
101
102
jobs:
- job: iOS
pool:
name: Default
demands:
- Agent.OS -equals Darwin
- Xamarin.iOS -equals Stable
variables:
NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
steps:
- checkout: self
clean: true
#- bash: /bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1"
# displayName: Select Xamarin Version
- bash: |
shopt -s nullglob
function join_by { local IFS="$1"; shift; echo "$*"; }
lib_path=$(join_by ';' $(Agent.WorkFolder)/_tasks/GitVersion*/4.0.*/lib/osx)
echo LD_LIBRARY_PATH: $lib_path
echo "##vso[task.setvariable variable=LD_LIBRARY_PATH]$lib_path"
displayName: Update LD_LIBRARY_PATH for GitVersion
- task: GitVersion@4
inputs:
updateAssemblyInfo: false
- task: InstallAppleCertificate@2
displayName: 'Install an Apple certificate'
inputs:
certSecureFile: 'nventive-appstore-prod-20190521.p12'
certPwd: '$(iOSSigning.CertificatePwd)'
signingIdentity: '$(iOSSigning.CertificateIdentity)'
- task: InstallAppleProvisioningProfile@1
displayName: 'Install an Apple provisioning profile'
inputs:
provProfileSecureFile: 'Uno_Calculator.mobileprovision'
- task: NuGetToolInstaller@0
inputs:
versionSpec: 4.9.1
checkLatest: false
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '$(build.sourcesdirectory)/src/Calculator.iOS/Calculator.iOS.csproj'
- 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
- task: MSBuild@1
inputs:
solution: '$(build.sourcesdirectory)/src/Calculator.iOS/Calculator.iOS.csproj'
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
msbuildArguments: /r /p:Configuration=Release /p:Platform=iPhone /bl:$(build.artifactstagingdirectory)/build.binlog
clean: false
maximumCpuCount: true
restoreNugetPackages: false
logProjectEvents: true
createLogFile: true
- task: CopyFiles@2
displayName: 'Publish iOS Binaries'
inputs:
SourceFolder: $(build.sourcesdirectory)/src/Calculator.iOS/bin/iPhone/Release
Contents: '*.ipa'
TargetFolder: $(build.artifactstagingdirectory)
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
- task: PublishBuildArtifacts@1
condition: always()
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
ArtifactName: Uno-Calculator-iOS
ArtifactType: Container