-
-
Notifications
You must be signed in to change notification settings - Fork 690
/
azure-pipelines.yml
134 lines (125 loc) · 5.06 KB
/
azure-pipelines.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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Xcode
# Build, test, and archive an Xcode workspace on macOS.
# Add steps that install certificates, test, sign, and distribute an app, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/xcode
pool:
vmImage: 'macOS-12'
variables:
group: 'ios-pipeline'
xcWorkspacePath: "Provenance.xcworkspace"
${{ if contains('main,develop,release', variables['Build.SourceBranchName']) }}:
configuration: 'Release'
${{ if not(contains('main,develop,release', variables['Build.SourceBranchName'])) }}:
configuration: 'Release'
name: $(Build.SourceBranchName)
tag: $(Build.BuildNumber)
CertificateFileName: 'developer_cert.p12'
ExportOptionsFileName: 'options.plist'
ExportMethod: 'development'
xcode-version: '14.1'
xcodeVersion: specifyPath # Options: 8, 9, 11, 12, default, specifyPath
sdk: 'iphoneos'
scheme: 'Provenance'
destinationPlatformOption: iOS
# strategy:
# matrix:
# ios:
# sdk: 'iphoneos'
# scheme: 'Provenance'
# destinationPlatformOption: iOS
# tvos:
# sdk: 'appletvos'
# scheme: 'ProvenanceTV'
# destinationPlatformOption: tvOS
# maxParallel: 3
jobs:
# Builds
- job: iOS
timeoutInMinutes: 300
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
clean: false # if true, run `execute git clean -ffdx && git reset --hard HEAD` before fetching
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules; defaults to not checking out submodules
# - task: InstallAppleCertificate@2
# inputs:
# certSecureFile: $(CertificateFileName)
# certPwd: '$(P12password)'
# keychain: 'temp'
# deleteCert: true
#- task: InstallAppleProvisioningProfile@1
# inputs:
# provisioningProfileLocation: 'secureFiles'
# provProfileSecureFile: $(ProfileFileName)
# removeProfile: true
- task: Xcode@5
inputs:
actions: 'build'
scheme: '$(scheme)'
xcWorkspacePath: '$(xcWorkspacePath)'
xcodeDeveloperDir: /Applications/Xcode_14.1.app/Contents/Developer
xcodeVersion: specifyPath
exportPath: '$(agent.buildDirectory)/output/$(sdk)/$(configuration)'
useXcpretty: false
configuration: '$(configuration)'
# exportMethod: '$(ExportMethod)'
# packageApp: false
# destinationPlatformOption: $(destinationPlatformOption)
# destinationSimulators: 'iPhone 11 Pro'
# signingOption: 'manual'
# signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
# provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
args: 'CODE_SIGNING_REQUIRED=NO AD_HOC_CODE_SIGNING_ALLOWED=YES CODE_SIGNING_ALLOWED=NO DEVELOPMENT_TEAM=S32Z3HMYVQ ORG_IDENTIFIER=org.provenance-emu'
displayName: Building project $(scheme)
# - task: CopyFiles@2
# inputs:
# contents: '**/*.ipa'
# targetFolder: '$(build.artifactStagingDirectory)'
# - task: PublishBuildArtifacts@1
# inputs:
# pathtoPublish: '$(build.artifactStagingDirectory)/output/$(sdk)/$(configuration)'
# artifactName: 'drop'
# publishLocation: 'Container'
# App Center distribute
# Distribute app builds to testers and users via Visual Studio App Center
# - task: AppCenterDistribute@1
# inputs:
# serverEndpoint:
# appSlug:
# appFile:
# #symbolsOption: 'Apple' # Optional. Options: apple
# #symbolsPath: # Optional
# #symbolsPdbFiles: '**/*.pdb' # Optional
# #symbolsDsymFiles: # Optional
# #symbolsMappingTxtFile: # Optional
# #symbolsIncludeParentDirectory: # Optional
# #releaseNotesOption: 'input' # Options: input, file
# #releaseNotesInput: # Required when releaseNotesOption == Input
# #releaseNotesFile: # Required when releaseNotesOption == File
# #isMandatory: false # Optional
# #distributionGroupId: # Optional
# - job: tvOS
# steps:
# - checkout: self # self represents the repo where the initial Pipelines YAML file was found
# clean: false # if true, run `execute git clean -ffdx && git reset --hard HEAD` before fetching
# submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules; defau
# - task: Xcode@5
# inputs:
# configuration: Debug
# destinationPlatform: 'tvOS'
# destinationSimulators: 'Apple TV 4K'
# xcodeDeveloperDir: /Applications/Xcode_13.2.1.app/Contents/Developer
# xcodeVersion: specifyPath
# #exportMethod: '$(ExportMethod)'
# #exportPath: '$(agent.buildDirectory)/output/appletvos/$(configuration)'
# packageApp: false
# scheme: 'ProvenanceTV-Azure'
# sdk: 'appletvsimulator'
# destinationTypeOption: 'simulators'
# useXcpretty: true
# xcWorkspacePath: '$(xcWorkspacePath)'
# clean: false
# displayName: Building project $(scheme) - tvOS
# env:
# sdk: 'appletvsimulator' # appletvsimulator, appletvos
# scheme: 'ProvenanceTV'
# destinationPlatformOption: tvOS