forked from sonic-net/sonic-swss
-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
158 lines (143 loc) · 4.91 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
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
# 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 }}
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
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
- 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
- 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