forked from sonic-net/sonic-swss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathazure-pipelines.yml
More file actions
162 lines (147 loc) · 5.13 KB
/
azure-pipelines.yml
File metadata and controls
162 lines (147 loc) · 5.13 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
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# C/C++ with GCC
# Build your C/C++ project with GCC using make.
# Add steps that publish test results, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/c-cpp/gcc
pr:
- master
- 202???
- 201???
trigger:
batch: true
branches:
include:
- master
- 202???
- 201???
# this part need to be set in UI
schedules:
- cron: "0 0 * * 6"
displayName: Weekly build
branches:
include:
- master
- 202???
- 201???
always: true
parameters:
- name: debian_version
type: string
default: bookworm
variables:
- name: BUILD_BRANCH
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
value: $(System.PullRequest.TargetBranch)
${{ else }}:
value: $(Build.SourceBranchName)
stages:
- stage: Build
jobs:
- template: .azure-pipelines/build-template.yml
parameters:
arch: amd64
pool: sonicbld-1es
sonic_slave: sonic-slave-${{ parameters.debian_version }}
common_lib_artifact_name: common-lib
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}
artifact_name: sonic-swss-${{ parameters.debian_version }}
archive_pytests: true
archive_gcov: true
- stage: BuildAsan
dependsOn: []
jobs:
- template: .azure-pipelines/build-template.yml
parameters:
arch: amd64
pool: sonicbld-1es
sonic_slave: sonic-slave-${{ parameters.debian_version }}
common_lib_artifact_name: common-lib
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}
artifact_name: sonic-swss-asan-${{ parameters.debian_version }}
asan: true
- stage: BuildArm
dependsOn: Build
condition: succeeded('Build')
jobs:
- template: .azure-pipelines/build-template.yml
parameters:
arch: armhf
timeout: 240
pool: sonicbld-armhf
sonic_slave: sonic-slave-${{ parameters.debian_version }}-armhf
common_lib_artifact_name: common-lib.armhf
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}.armhf
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}.armhf
artifact_name: sonic-swss-${{ parameters.debian_version }}.armhf
archive_gcov: false
- template: .azure-pipelines/build-template.yml
parameters:
arch: arm64
timeout: 240
pool: sonicbld-arm64
sonic_slave: sonic-slave-${{ parameters.debian_version }}-arm64
common_lib_artifact_name: common-lib.arm64
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}.arm64
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}.arm64
artifact_name: sonic-swss-${{ parameters.debian_version }}.arm64
archive_gcov: false
- stage: BuildDocker
dependsOn: Build
condition: succeeded('Build')
jobs:
- template: .azure-pipelines/build-docker-sonic-vs-template.yml
parameters:
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}
swss_artifact_name: sonic-swss-${{ parameters.debian_version }}
debian_version: ${{ parameters.debian_version }}
artifact_name: docker-sonic-vs
- stage: BuildDockerAsan
dependsOn: BuildAsan
condition: succeeded('BuildAsan')
jobs:
- template: .azure-pipelines/build-docker-sonic-vs-template.yml
parameters:
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}
swss_artifact_name: sonic-swss-asan-${{ parameters.debian_version }}
artifact_name: docker-sonic-vs-asan
debian_version: ${{ parameters.debian_version }}
asan: true
- stage: Test
dependsOn: BuildDocker
condition: succeeded('BuildDocker')
jobs:
- template: .azure-pipelines/test-docker-sonic-vs-template.yml
parameters:
log_artifact_name: log
gcov_artifact_name: sonic-gcov
sonic_slave: sonic-slave-${{ parameters.debian_version }}
archive_gcov: true
debian_version: ${{ parameters.debian_version }}
- stage: TestAsan
dependsOn: BuildDockerAsan
condition: succeeded('BuildDockerAsan')
jobs:
- template: .azure-pipelines/test-docker-sonic-vs-template.yml
parameters:
log_artifact_name: log-asan
gcov_artifact_name: sonic-gcov
sonic_slave: sonic-slave-${{ parameters.debian_version }}
docker_sonic_vs_name: docker-sonic-vs-asan
asan: true
debian_version: ${{ parameters.debian_version }}
- stage: Gcov
condition: false
dependsOn: Test
jobs:
- template: .azure-pipelines/gcov.yml
parameters:
arch: amd64
sonic_slave: sonic-slave-${{ parameters.debian_version }}
swss_common_artifact_name: sonic-swss-common-${{ parameters.debian_version }}
sairedis_artifact_name: sonic-sairedis-${{ parameters.debian_version }}
swss_artifact_name: sonic-swss-${{ parameters.debian_version }}
artifact_name: sonic-gcov
archive_gcov: true