forked from Provenance-Emu/Provenance
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
131 lines (122 loc) · 4.87 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
# 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: 'Debug'
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
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:
scheme: '$(scheme)'
xcWorkspacePath: '$(xcWorkspacePath)'
xcodeDeveloperDir: /Applications/Xcode_14.1.app/Contents/Developer
xcodeVersion: specifyPath
exportPath: '$(agent.buildDirectory)/output/$(sdk)/$(configuration)'
packageApp: false
destinationPlatformOption: $(destinationPlatformOption)
useXcpretty: false
configuration: '$(configuration)'
exportMethod: '$(ExportMethod)'
destinationSimulators: 'iPhone 11 Pro'
# signingOption: 'manual'
# signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
# provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
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