Skip to content

Commit d4784ec

Browse files
authored
Merge pull request #2483 from AzureAD/mipetriu/broker_submodule_check_yaml
Broker submodule check yaml pipeline
2 parents ad160ad + af8ad60 commit d4784ec

File tree

1 file changed

+164
-0
lines changed

1 file changed

+164
-0
lines changed
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
# Xcode
2+
# Build, test, and archive an Xcode workspace on macOS.
3+
# Add steps that install certificates, test, sign, and distribute an app, save build artifacts, and more:
4+
# https://docs.microsoft.com/azure/devops/pipelines/languages/xcode
5+
6+
trigger:
7+
branches:
8+
include:
9+
- dev
10+
11+
pr:
12+
autoCancel: true
13+
branches:
14+
include:
15+
- '*'
16+
drafts: true
17+
18+
pool:
19+
name: 'Azure Pipelines'
20+
21+
resources:
22+
repositories:
23+
- repository: azure-activedirectory-tokenbroker-for-objc
24+
type: github
25+
endpoint: 'MSAL ObjC Service Connection'
26+
name: AzureAD/azure-activedirectory-tokenbroker-for-objc
27+
28+
- repository: WorkplaceJoin-for-iOS
29+
type: github
30+
endpoint: 'MSAL ObjC Service Connection'
31+
name: AzureAD/WorkplaceJoin-for-iOS
32+
33+
jobs:
34+
- job: 'Validate_Pull_Request'
35+
displayName: Validate Pull Request
36+
pool:
37+
vmImage: 'macOS-14'
38+
timeOutInMinutes: 30
39+
40+
steps:
41+
- checkout: azure-activedirectory-tokenbroker-for-objc
42+
displayName: 'Checkout Broker'
43+
clean: false
44+
submodules: false
45+
fetchTags: true
46+
persistCredentials: true
47+
48+
- checkout: self
49+
displayName: 'Checkout MSAL'
50+
clean: false
51+
submodules: false
52+
fetchTags: true
53+
path: 's/azure-activedirectory-tokenbroker-for-objc/ADAuthenticationBroker/Frameworks/microsoft-authentication-library-for-objc'
54+
persistCredentials: true
55+
56+
- task: Bash@3
57+
displayName: 'Checkout MSAL submodules + ADAL'
58+
inputs:
59+
workingDirectory: $(Pipeline.Workspace)/s
60+
targetType: 'inline'
61+
script: |
62+
cd azure-activedirectory-tokenbroker-for-objc
63+
git submodule update --init --recursive ADAuthenticationBroker/Frameworks/adal
64+
cd ADAuthenticationBroker/Frameworks/microsoft-authentication-library-for-objc
65+
git submodule update --init --recursive
66+
67+
- checkout: WorkplaceJoin-for-iOS
68+
displayName: 'Checkout WPJ'
69+
clean: false
70+
submodules: false
71+
fetchTags: true
72+
path: 's/azure-activedirectory-tokenbroker-for-objc/ADAuthenticationBroker/Frameworks/WorkplaceJoin-for-iOS'
73+
persistCredentials: true
74+
75+
- task: AzureCLI@2
76+
inputs:
77+
azureSubscription: 'AuthSdkResourceManager'
78+
scriptType: 'pscore'
79+
scriptLocation: 'inlineScript'
80+
inlineScript: |
81+
# if this fails, check out this bash script that includes diagnostics:
82+
# https://gist.github.com/johnterickson/19f80a3e969e39f1000d118739176e62
83+
# uncomment these for more debugging spew
84+
# GIT_TRACE=1
85+
# GIT_CURL_VERBOSE=1
86+
87+
# Note that the resoruce is specified to limit the token to Azure DevOps
88+
$token = az account get-access-token --query accessToken --resource 499b84ac-1321-427f-aa17-267ca6975798 -o tsv
89+
Write-Host "##vso[task.setvariable variable=aadToken;issecret=true]$token"
90+
- task: Bash@3
91+
displayName: 'Checkout NGC Submodules'
92+
env:
93+
AccessToken: $(MSAzureToken_encoded)
94+
inputs:
95+
workingDirectory: $(Pipeline.Workspace)/s
96+
targetType: 'inline'
97+
script: |
98+
cd azure-activedirectory-tokenbroker-for-objc/ADAuthenticationBroker/Frameworks
99+
git -c http.https://msazure.visualstudio.com/DefaultCollection/One/_git/AD-MFA-NGCAuthentication.extraheader="AUTHORIZATION: bearer $(aadToken)" submodule update --init AD-MFA-NGCAuthentication
100+
cd AD-MFA-NGCAuthentication
101+
git -c http.https://msazure.visualstudio.com/DefaultCollection/One/_git/AD-MFA-NGCKeyProvider-ios.extraheader="AUTHORIZATION: bearer $(aadToken)" submodule update --init NGCKeyProvider
102+
git -c http.https://msazure.visualstudio.com/DefaultCollection/One/_git/AD-MFA-MSAuthNetworking.extraheader="AUTHORIZATION: bearer $(aadToken)" submodule update --init MSAuthNetworking
103+
104+
- task: Bash@3
105+
displayName: 'Checkout WPJ openssl-msft submodule'
106+
inputs:
107+
workingDirectory: $(Pipeline.Workspace)/s
108+
targetType: 'inline'
109+
script: |
110+
cd azure-activedirectory-tokenbroker-for-objc/ADAuthenticationBroker/Frameworks/WorkplaceJoin-for-iOS
111+
git -c http.https://msazure.visualstudio.com/DefaultCollection/PlatformCrypto/_git/openssl-msft.extraheader="AUTHORIZATION: bearer $(aadToken)" submodule update --init Frameworks/openssl-msft
112+
113+
- task: Bash@3
114+
displayName: 'Update WPJ submodules'
115+
inputs:
116+
workingDirectory: $(Pipeline.Workspace)/s
117+
targetType: 'inline'
118+
script: |
119+
cd azure-activedirectory-tokenbroker-for-objc/ADAuthenticationBroker/Frameworks/WorkplaceJoin-for-iOS
120+
git submodule update --init --recursive Frameworks/microsoft-authentication-library-for-objc
121+
122+
- script: 'gem uninstall xcpretty -I --version 0.4.0'
123+
displayName: 'Uninstall xcpretty v0.4.0'
124+
125+
- script: 'gem install xcpretty -N -v 0.3.0'
126+
displayName: 'Install xcpretty v0.3.0'
127+
128+
- script: 'gem install slather -N'
129+
displayName: 'Install slather'
130+
131+
- task: UsePythonVersion@0
132+
displayName: 'Use Python 3.x'
133+
134+
- task: Bash@3
135+
displayName: 'Select Xcode version'
136+
inputs:
137+
targetType: 'inline'
138+
script: '/bin/bash -c "sudo xcode-select -s /Applications/Xcode_15.4.app"'
139+
140+
# The following is needed to install the visionOS SDK on macos-14 vm image which
141+
# doesn't have visionOS installed by default.
142+
# TODO: Remove when macos-14-arm64 is supported on ADO.
143+
- task: Bash@3
144+
displayName: download visionOS SDK
145+
inputs:
146+
targetType: 'inline'
147+
script: |
148+
echo "Downloading simulator for visionOS"
149+
sudo xcode-select -s /Applications/Xcode_15.4.app/Contents/Developer
150+
defaults write com.apple.dt.Xcode AllowUnsupportedVisionOSHost -bool YES
151+
defaults write com.apple.CoreSimulator AllowUnsupportedVisionOSHost -bool YES
152+
xcodebuild -downloadPlatform visionOS
153+
failOnStderr: false
154+
155+
156+
- task: Bash@3
157+
displayName: 'Run a python script for Broker'
158+
inputs:
159+
targetType: 'inline'
160+
script: |
161+
cd azure-activedirectory-tokenbroker-for-objc
162+
echo "executing build:./build.py"
163+
python3 ./build.py
164+

0 commit comments

Comments
 (0)