blob: b7cc728358d8b2453ee53a79042f96f2486bda4a (
plain)
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
- job:
name: zephyr-upstream
project-type: matrix
defaults: global
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
- job-workspace
linaro:
- job-read
- job-extended-read
- job-build
- job-cancel
- build-discarder:
days-to-keep: 60
num-to-keep: 60
artifact-num-to-keep: 60
- throttle:
option: category
categories: [lite-zephyr]
matrix-builds: false
matrix-configs: true
parameters:
- string:
name: BRANCH
default: 'main'
- string:
name: LAVA_SERVER
default: 'validation.linaro.org/RPC2/'
- string:
name: QA_SERVER
default: 'https://qa-reports.linaro.org'
- string:
name: GIT_COMMIT
default: 'HEAD'
- string:
name: TWISTER_EXTRA
default: '--enable-slow -x=BUILD_VERSION=ci_build_version'
disabled: false
node: master
child-workspace: .
display-name: 'Zephyr project (main)'
# We should avoid starting this job "on its own". That's because default
# Git revision it builds is main/HEAD, and as this is a matrix job,
# different sub-builds may get different actual HEAD revision (e.g. if
# the tree is actively committed to). Instead, it should be triggered
# externally, with GIT_COMMIT parameter set to a specific SHA1 revision
# to build. This is achieved using "trigger-zephyr-upstream" trigger
# job.
# triggers:
# - timed: 'H H/12 * * *'
axes:
- axis:
type: slave
name: label
values:
- docker-focal-amd64-lite
- axis:
type: user-defined
name: ZEPHYR_TOOLCHAIN_VARIANT
values:
- gnuarmemb
- zephyr
- axis:
type: user-defined
name: PLATFORM
values:
# Jenkins runs these configurations in non-obvious, but
# mostly stable manner. Configurations are ordered to
# get frdm_k64f built first, as it's both a "default"
# test target, and easily contains more tests than other
# targets (== could make whole job longer if run last).
- disco_l475_iot1
- frdm_kw41z
- lpcxpresso55s69_cpu0
- mps2_an385
- nucleo_f103rb
- frdm_k64f
- nucleo_f401re
- qemu_cortex_m3
execution-strategy:
combination-filter: |
ZEPHYR_TOOLCHAIN_VARIANT=="zephyr" || (ZEPHYR_TOOLCHAIN_VARIANT=="gnuarmemb" && !(PLATFORM=="arduino_101" || PLATFORM=="qemu_x86"))
wrappers:
- timestamps
- credentials-binding:
- text:
credential-id: LAVA_USER
variable: LAVA_USER
- credentials-binding:
- text:
credential-id: LAVA_TOKEN
variable: LAVA_TOKEN
- credentials-binding:
- text:
credential-id: QA_REPORTS_TOKEN
variable: QA_REPORTS_TOKEN
builders:
- shell:
!include-raw: lite-common/header.sh
- shell:
!include-raw: lite-common/install-toolchains.sh
- shell:
!include-raw: zephyr-upstream/builders.sh
- inject:
properties-file: env_var_parameters
- build-name-setter:
template: '#${BUILD_NUMBER}-${GIT_COMMIT_ID}'
macro: true
- linaro-publish-token
- inject:
properties-file: env_var_parameters
- shell: |
#!/bin/bash
# Publish
test -d ${HOME}/bin || mkdir ${HOME}/bin
wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
time python3 ${HOME}/bin/linaro-cp.py \
--api_version 3 \
out/${PLATFORM} components/kernel/zephyr/${BRANCH}/${ZEPHYR_TOOLCHAIN_VARIANT}/${PLATFORM}/${BUILD_NUMBER}
echo "Build artifacts download URL: https://snapshots.linaro.org/components/kernel/zephyr/${BRANCH}/${ZEPHYR_TOOLCHAIN_VARIANT}/${PLATFORM}/${BUILD_NUMBER}/"
- shell: |
#!/bin/bash -ex
# Remap Zephyr platform/board name to LAVA device type name.
case "${PLATFORM}" in
frdm_k64f)
export DEVICE_TYPE=frdm-k64f
;;
frdm_kw41z)
export DEVICE_TYPE=frdm-kw41z
;;
disco_l475_iot1)
export DEVICE_TYPE=disco-l475-iot1
;;
lpcxpresso55s69_cpu0)
export DEVICE_TYPE=lpcxpresso55s69
#LAVA_SERVER="staging.validation.linaro.org/RPC2/"
;;
qemu_cortex_m3)
export DEVICE_TYPE=qemu
;;
*)
echo "Skipping LAVA testing for ${PLATFORM} (no LAVA device type mapping)"
;;
esac
# 2021-04-28 - try to submit all (== ~2 builds per day) to LAVA.
#if [ "${ROOT_BUILD_CAUSE}" = "SCMTRIGGER" ]; then
# echo "Skipping LAVA testing for SCM Trigger builds (to not overload LAVA)"
# unset DEVICE_TYPE
#fi
if [ -n "${DEVICE_TYPE}" ]; then
rm -rf configs
git clone --depth 1 --single-branch http://git.linaro.org/ci/job/configs.git
python3 configs/zephyr-upstream/submit_for_testing.py \
--board-name ${PLATFORM} \
--device-type ${DEVICE_TYPE} \
--build-number ${BUILD_NUMBER} \
--build-url ${BUILD_URL} \
--branch-name ${BRANCH} \
--lava-server ${LAVA_SERVER} \
--qa-server ${QA_SERVER} \
--qa-server-team lite \
--qa-server-project zephyr-upstream \
--gcc-variant ${ZEPHYR_TOOLCHAIN_VARIANT} \
--git-commit ${GIT_COMMIT_ID}
fi
publishers:
- email:
recipients: 'fathi.boudra@linaro.org kumar.gala@linaro.org gpitney@ti.com vincent.wan@linaro.org paul.sokolovsky@linaro.org erwan.gouriou@linaro.org'
|