forked from xamarin/GooglePlayServicesComponents
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yaml
70 lines (64 loc) · 2.53 KB
/
azure-pipelines.yaml
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
variables:
MONO_VERSION: 5_16_0
XCODE_VERSION: 10.1
VERBOSITY: minimal
resources:
repositories:
- repository: xamarin-templates
type: github
name: xamarin/yaml-templates
endpoint: xamarin
jobs:
- job: build
displayName: 'Build Libraries & NuGets (macOS)'
timeoutInMinutes: 240
pool:
vmImage: macos-10.13
steps:
# Make sure to select the correct Xamarin and mono
- bash: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh $(MONO_VERSION)
displayName: 'Switch to the latest Xamarin SDK'
- bash: echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_$(XCODE_VERSION).app;sudo xcode-select --switch /Applications/Xcode_$(XCODE_VERSION).app/Contents/Developer
displayName: 'Switch to the latest Xcode'
# Build the libraries and packages
- bash: sh build.sh --target=ci --settings_skipverification=true --verbosity=$(VERBOSITY)
displayName: 'Build NuGets'
workingDirectory: '$(Build.SourcesDirectory)' #
# Publish the artifacts
- task: PublishBuildArtifacts@1
displayName: 'Publish Unsigned NuGets'
inputs:
pathToPublish: '$(Build.SourcesDirectory)/output'
artifactName: 'nuget'
- job: build_windows_vs2017
displayName: 'Build Libraries & NuGets (Windows)'
timeoutInMinutes: 240
pool:
vmImage: vs2017-win2016
steps:
- powershell: .\build.ps1 --target=ci --settings_skipverification=true --verbosity=$(VERBOSITY)
# Build the libraries and packages
displayName: 'Build VS4W2017 everything'
workingDirectory: '$(Build.SourcesDirectory)' #
# only sign the packages when running on Windows, and using the private server which has the certificates
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
- job: signing
displayName: Signing NuGets
dependsOn: build
pool:
name: VSEng-XamarinCustom
demands:
- corpnet
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'],'refs/tags/'))
steps:
# don't checkout code and sign the packages
- checkout: none
- template: sign-artifacts.yml@xamarin-templates
parameters:
targetFolder: '$(Build.ArtifactStagingDirectory)/signed'
# publish the signed packages
- task: PublishBuildArtifacts@1
displayName: 'Publish Signed NuGets'
inputs:
artifactName: nuget-signed
pathToPublish: '$(Build.ArtifactStagingDirectory)/signed'