-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathazure-pipelines.yml
More file actions
103 lines (90 loc) · 3.75 KB
/
azure-pipelines.yml
File metadata and controls
103 lines (90 loc) · 3.75 KB
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
trigger:
branches:
include:
- master
- stable
- release/stable/*
- legacy/*
- feature/*
pr:
branches:
include:
- master
- stable
- release/stable/*
- legacy/*
- feature/*
variables:
# Path where packages (nuget or app packages) will be copied to.
PackageOutputPath: $(Build.ArtifactStagingDirectory)
XCODE_ROOT: '/Applications/Xcode_26.1.1.app'
# For Application.Building.Light optimizations
IsLightBuild: $[eq(variables['Build.Reason'], 'PullRequest')]
IsCanaryBranch: $[startsWith(variables['Build.SourceBranch'], 'refs/heads/canaries/')]
IsReleaseBranch: $[or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/feature/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'))]
# ANDROID_NDK_HOME: C:\Microsoft\AndroidNDK64\android-ndk-r16b
# ANDROID_NDK_PATH: C:\Microsoft\AndroidNDK64\android-ndk-r16b
# AndroidNdkDirectory: C:\Microsoft\AndroidNDK64\android-ndk-r16b
stages:
- stage: Determine_Changes
displayName: Determine Changes
jobs:
- template: build/stage-determine-changes.yml
- stage: Docs_Validations
displayName: Docs Validations
dependsOn: Determine_Changes
# Trigger this stage when docs files are changed
condition: and(succeeded(), or(eq(dependencies.Determine_Changes.outputs['evaluate_changes.DetermineChanges.docsOnly'], 'true'), eq(dependencies.Determine_Changes.outputs['evaluate_changes.DetermineChanges.mixedChanges'], 'true')))
jobs:
- template: build/stage-docs-validations.yml
- stage: Packages
displayName: Packages
dependsOn: Determine_Changes
# Don't trigger this stage if only docs files are changed
condition: and(succeeded(), ne(dependencies.Determine_Changes.outputs['evaluate_changes.DetermineChanges.docsOnly'], 'true'))
jobs:
- template: build/stage-build-packages.yml
- stage: Build_Samples
displayName: Build Samples
dependsOn: Determine_Changes
# Don't trigger this stage if only docs files are changed
condition: and(succeeded(), ne(dependencies.Determine_Changes.outputs['evaluate_changes.DetermineChanges.docsOnly'], 'true'))
jobs:
- template: build/stage-build-ios.yml
- template: build/stage-build-android.yml
- template: build/stage-build-wasm.yml
- template: build/stage-build-desktop.yml
- stage: Runtime_Tests
displayName: Runtime Tests
dependsOn: Determine_Changes
# Don't trigger this stage if only docs files are changed
condition: and(succeeded(), ne(dependencies.Determine_Changes.outputs['evaluate_changes.DetermineChanges.docsOnly'], 'true'))
jobs:
- template: build/stage-runtimetests-desktop.yml
##
## Publishing
##
- stage: Publish_Dev
displayName: 'Publish - Dev NuGet.org'
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/feature')), not(eq(variables['build.reason'], 'PullRequest')))
dependsOn: Packages
jobs:
- template: build/publish/publish-nuget-dev.yml
parameters:
vmImage: 'windows-2022'
- stage: Publish_Prod_Dev
displayName: 'Publish - Prod Uno Dev Feed'
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), not(eq(variables['build.reason'], 'PullRequest')))
dependsOn: Packages
jobs:
- template: build/publish/publish-nuget-prod-dev.yml
parameters:
vmImage: 'windows-2022'
- stage: Publish_Prod_Public
displayName: 'Publish - Prod NuGet.org'
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), not(eq(variables['build.reason'], 'PullRequest')))
dependsOn: Publish_Prod_Dev
jobs:
- template: build/publish/publish-nuget-prod.yml
parameters:
vmImage: 'windows-2022'