]>
Commit | Line | Data |
---|---|---|
1a62a722 TR |
1 | # SPDX-License-Identifier: GPL-2.0+ |
2 | ||
8b0b5017 | 3 | variables: |
77026080 TR |
4 | DEFAULT_ALL_TAG: "all" |
5 | DEFAULT_ARM64_TAG: "arm64" | |
6 | DEFAULT_AMD64_TAG: "amd64" | |
7 | DEFAULT_FAST_AMD64_TAG: "fast amd64" | |
74bcbb13 | 8 | MIRROR_DOCKER: docker.io |
1888b096 | 9 | SJG_LAB: "" |
0025e7e4 | 10 | PLATFORM: linux/amd64,linux/arm64 |
8b0b5017 PH |
11 | |
12 | default: | |
13 | tags: | |
77026080 | 14 | - ${DEFAULT_ALL_TAG} |
8b0b5017 | 15 | |
e64fd07c TR |
16 | workflow: |
17 | rules: | |
18 | - when: always | |
19 | ||
cb735173 JS |
20 | # Grab our configured image. The source for this is found |
21 | # in the u-boot tree at tools/docker/Dockerfile | |
b0f5ae8e | 22 | image: ${MIRROR_DOCKER}/trini/u-boot-gitlab-ci-runner:jammy-20240911.1-08Dec2024 |
1a62a722 TR |
23 | |
24 | # We run some tests in different order, to catch some failures quicker. | |
25 | stages: | |
1a62a722 | 26 | - testsuites |
b29cb058 | 27 | - test.py |
1888b096 | 28 | - sjg-lab |
1a62a722 TR |
29 | - world build |
30 | ||
31 | .buildman_and_testpy_template: &buildman_and_testpy_dfn | |
1a62a722 | 32 | stage: test.py |
58b35850 | 33 | retry: 2 # QEMU may be too slow, etc. |
399f739b AC |
34 | rules: |
35 | - when: always | |
1a62a722 TR |
36 | before_script: |
37 | # Clone uboot-test-hooks | |
bd181a24 | 38 | - git config --global --add safe.directory "${CI_PROJECT_DIR}" |
85ae52b9 | 39 | - git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks |
fd10d156 JF |
40 | # qemu_arm64_lwip_defconfig is the same as qemu_arm64 but with NET_LWIP enabled. |
41 | # The test config and the boardenv file from qemu_arm64 can be re-used so create symlinks | |
42 | - ln -s conf.qemu_arm64_na /tmp/uboot-test-hooks/bin/travis-ci/conf.qemu_arm64_lwip_na | |
1a62a722 TR |
43 | - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname` |
44 | - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname` | |
49fb28a4 | 45 | - if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then |
a966634e HS |
46 | wget -O - https://github.com/riscv-software-src/opensbi/releases/download/v1.3.1/opensbi-1.3.1-rv-bin.tar.xz | tar -C /tmp -xJ; |
47 | export OPENSBI=/tmp/opensbi-1.3.1-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin; | |
49fb28a4 | 48 | fi |
0e60b3a7 | 49 | - if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]] || [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then |
a966634e HS |
50 | wget -O - https://github.com/riscv-software-src/opensbi/releases/download/v1.3.1/opensbi-1.3.1-rv-bin.tar.xz | tar -C /tmp -xJ; |
51 | export OPENSBI=/tmp/opensbi-1.3.1-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin; | |
49fb28a4 | 52 | fi |
25081abf PR |
53 | - if [[ "${TEST_PY_BD}" == "qemu-arm-sbsa" ]]; then |
54 | wget -O /tmp/bl1.bin https://artifacts.codelinaro.org/artifactory/linaro-419-sbsa-ref/latest/tf-a/bl1.bin; | |
55 | wget -O /tmp/fip.bin https://artifacts.codelinaro.org/artifactory/linaro-419-sbsa-ref/latest/tf-a/fip.bin; | |
2800aecc | 56 | export BINMAN_INDIRS=/tmp; |
25081abf | 57 | fi |
b29cb058 | 58 | |
1a62a722 | 59 | after_script: |
26c56f1c | 60 | - cp -v /tmp/${TEST_PY_BD}/*.{html,css,xml} . |
24df1b14 | 61 | - rm -rf /tmp/uboot-test-hooks /tmp/venv |
1a62a722 | 62 | script: |
dd5c954e | 63 | # If we've been asked to use clang only do one configuration. |
4e32fed4 | 64 | - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD} |
1aa168ca | 65 | - echo BUILD_ENV ${BUILD_ENV} |
9cea4797 SG |
66 | - if [ -n "${BUILD_ENV}" ]; then |
67 | export ${BUILD_ENV}; | |
68 | fi | |
7ec1255c SG |
69 | - tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e |
70 | --board ${TEST_PY_BD} ${OVERRIDE} | |
5fb78e0e TR |
71 | - cp /opt/grub/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/ |
72 | - cp /opt/grub/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/ | |
82560ae2 | 73 | - cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi |
82560ae2 HS |
74 | - cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi |
75 | - cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi | |
0e60b3a7 BM |
76 | # create sdcard / spi-nor images for sifive unleashed using genimage |
77 | - if [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then | |
78 | mkdir -p root; | |
79 | cp ${UBOOT_TRAVIS_BUILD_DIR}/spl/u-boot-spl.bin .; | |
80 | cp ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.itb .; | |
81 | rm -rf tmp; | |
82 | genimage --inputpath . --config board/sifive/unleashed/genimage_sdcard.cfg; | |
83 | cp images/sdcard.img ${UBOOT_TRAVIS_BUILD_DIR}/; | |
84 | rm -rf tmp; | |
85 | genimage --inputpath . --config board/sifive/unleashed/genimage_spi-nor.cfg; | |
86 | cp images/spi-nor.img ${UBOOT_TRAVIS_BUILD_DIR}/; | |
87 | fi | |
bfb2a7fb | 88 | - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then |
3a79c91f TR |
89 | cp /opt/coreboot/coreboot.rom ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom; |
90 | /opt/coreboot/cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom remove -n fallback/payload; | |
91 | /opt/coreboot/cbfstool ${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom add-flat-binary -f ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.bin -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000; | |
bfb2a7fb | 92 | fi |
085b8978 TR |
93 | - virtualenv -p /usr/bin/python3 /tmp/venv |
94 | - . /tmp/venv/bin/activate | |
95 | - pip install -r test/py/requirements.txt | |
4080d097 | 96 | # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not |
4e32fed4 | 97 | - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH}; |
1a62a722 | 98 | export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci; |
f3092473 | 99 | ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID} |
4080d097 | 100 | ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} |
cec1e856 | 101 | --build-dir "$UBOOT_TRAVIS_BUILD_DIR" |
26c56f1c | 102 | --junitxml=/tmp/${TEST_PY_BD}/results.xml |
e5670730 MV |
103 | artifacts: |
104 | when: always | |
105 | paths: | |
106 | - "*.html" | |
107 | - "*.css" | |
26c56f1c TR |
108 | reports: |
109 | junit: results.xml | |
e5670730 | 110 | expire_in: 1 week |
1a62a722 | 111 | |
77026080 | 112 | build all platforms in a single job: |
1a62a722 | 113 | stage: world build |
d3bb2458 | 114 | dependencies: [] |
399f739b AC |
115 | rules: |
116 | - when: always | |
77026080 TR |
117 | parallel: |
118 | matrix: | |
119 | - HOST: "arm64" | |
120 | - HOST: "fast amd64" | |
121 | tags: | |
122 | - ${HOST} | |
9f7bda10 TR |
123 | script: |
124 | - ret=0; | |
bd181a24 | 125 | git config --global --add safe.directory "${CI_PROJECT_DIR}"; |
f586cdae | 126 | pip install -r tools/buildman/requirements.txt; |
77026080 | 127 | ./tools/buildman/buildman -o /tmp -PEWM -x xtensa || ret=$?; |
dd5c954e | 128 | if [[ $ret -ne 0 ]]; then |
b52f5a19 | 129 | ./tools/buildman/buildman -o /tmp -seP; |
4c749971 TR |
130 | exit $ret; |
131 | fi; | |
1a62a722 | 132 | |
399f739b | 133 | .testsuites: |
c1a7de57 | 134 | stage: testsuites |
399f739b AC |
135 | rules: |
136 | - when: always | |
137 | ||
138 | check for new CONFIG symbols outside Kconfig: | |
139 | extends: .testsuites | |
c1a7de57 | 140 | script: |
bb9b9c1e TR |
141 | - git config --global --add safe.directory "${CI_PROJECT_DIR}" |
142 | # If grep succeeds and finds a match the test fails as we should | |
143 | # have no matches. | |
144 | - git grep -E '^#[[:blank:]]*(define|undef)[[:blank:]]*CONFIG_' | |
a03efb6f | 145 | :^doc/ :^arch/arm/dts/ :^scripts/kconfig/lkc.h |
25ce987b RM |
146 | :^include/linux/kconfig.h :^tools/ :^dts/upstream/ |
147 | :^lib/mbedtls/external :^lib/mbedtls/mbedtls_def_config.h && | |
8f31c85c | 148 | exit 1 || exit 0 |
c1a7de57 | 149 | |
e9cc7029 HS |
150 | # build documentation |
151 | docs: | |
399f739b | 152 | extends: .testsuites |
3eb7b78b | 153 | script: |
836049d6 HS |
154 | - virtualenv -p /usr/bin/python3 /tmp/venvhtml |
155 | - . /tmp/venvhtml/bin/activate | |
156 | - pip install -r doc/sphinx/requirements.txt | |
8a6414d1 | 157 | - make htmldocs KDOC_WERROR=1 |
e9cc7029 | 158 | - make infodocs |
3eb7b78b | 159 | |
1a62a722 TR |
160 | # ensure all configs have MAINTAINERS entries |
161 | Check for configs without MAINTAINERS entry: | |
399f739b | 162 | extends: .testsuites |
1a62a722 | 163 | script: |
d6b3297d | 164 | - ./tools/buildman/buildman --maintainer-check |
1a62a722 TR |
165 | |
166 | # Ensure host tools build | |
562ed115 | 167 | Build tools-only and envtools: |
399f739b | 168 | extends: .testsuites |
1a62a722 | 169 | script: |
562ed115 TR |
170 | - make tools-only_config tools-only -j$(nproc); |
171 | make mrproper; | |
172 | make tools-only_config envtools -j$(nproc) | |
1f3910da | 173 | |
7261833f | 174 | Run binman, buildman, dtoc, Kconfig and patman testsuites: |
399f739b | 175 | extends: .testsuites |
77026080 TR |
176 | tags: |
177 | - ${DEFAULT_AMD64_TAG} | |
1a62a722 | 178 | script: |
d7ae9321 TR |
179 | - git config --global user.name "GitLab CI Runner"; |
180 | git config --global user.email [email protected]; | |
b6d4e085 | 181 | git config --global --add safe.directory "${CI_PROJECT_DIR}"; |
d7ae9321 | 182 | export USER=gitlab; |
26a426a1 | 183 | virtualenv -p /usr/bin/python3 /tmp/venv; |
d7ae9321 | 184 | . /tmp/venv/bin/activate; |
38229b55 | 185 | pip install -r test/py/requirements.txt; |
f586cdae | 186 | pip install -r tools/buildman/requirements.txt; |
48f792e3 | 187 | export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only; |
d7ae9321 TR |
188 | export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; |
189 | export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; | |
b6d4e085 | 190 | set +e; |
6c914e42 | 191 | ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w |
48f792e3 | 192 | --board tools-only; |
b6d4e085 | 193 | set -e; |
d7ae9321 TR |
194 | ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test; |
195 | ./tools/buildman/buildman -t; | |
196 | ./tools/dtoc/dtoc -t; | |
6bb74de7 | 197 | ./tools/patman/patman test; |
7261833f | 198 | make testconfig |
1a62a722 | 199 | |
642e51ad SG |
200 | # Check for any pylint regressions |
201 | Run pylint: | |
399f739b | 202 | extends: .testsuites |
642e51ad | 203 | script: |
b6d4e085 | 204 | - git config --global --add safe.directory "${CI_PROJECT_DIR}" |
642e51ad | 205 | - pip install -r test/py/requirements.txt |
f586cdae | 206 | - pip install -r tools/buildman/requirements.txt |
e47bbf7e | 207 | - pip install asteval pylint==2.12.2 pyopenssl |
642e51ad SG |
208 | - export PATH=${PATH}:~/.local/bin |
209 | - echo "[MASTER]" >> .pylintrc | |
210 | - echo "load-plugins=pylint.extensions.docparams" >> .pylintrc | |
48f792e3 | 211 | - export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only |
b6d4e085 | 212 | - set +e |
642e51ad | 213 | - ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w |
48f792e3 | 214 | --board tools-only |
b6d4e085 | 215 | - set -e |
642e51ad SG |
216 | - pylint --version |
217 | - export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt" | |
218 | - make pylint_err | |
219 | ||
441a3d0a SG |
220 | # Check for pre-schema driver model tags |
221 | Check for pre-schema tags: | |
399f739b | 222 | extends: .testsuites |
441a3d0a SG |
223 | script: |
224 | - git config --global --add safe.directory "${CI_PROJECT_DIR}"; | |
225 | # If grep succeeds and finds a match the test fails as we should | |
226 | # have no matches. | |
227 | - git grep u-boot,dm- -- '*.dts*' && exit 1 || exit 0 | |
228 | ||
c21a5286 SG |
229 | # Check we can package the Python tools |
230 | Check packing of Python tools: | |
399f739b | 231 | extends: .testsuites |
c21a5286 SG |
232 | script: |
233 | - make pip | |
234 | ||
1a62a722 TR |
235 | # Test sandbox with test.py |
236 | sandbox test.py: | |
77026080 TR |
237 | tags: |
238 | - ${DEFAULT_AMD64_TAG} | |
1a62a722 TR |
239 | variables: |
240 | TEST_PY_BD: "sandbox" | |
1a62a722 TR |
241 | <<: *buildman_and_testpy_dfn |
242 | ||
0219d014 | 243 | sandbox with clang test.py: |
77026080 TR |
244 | tags: |
245 | - ${DEFAULT_AMD64_TAG} | |
0219d014 TR |
246 | variables: |
247 | TEST_PY_BD: "sandbox" | |
96afd8a3 | 248 | OVERRIDE: "-O clang-17" |
0219d014 TR |
249 | <<: *buildman_and_testpy_dfn |
250 | ||
c807bdd0 | 251 | sandbox64 test.py: |
77026080 TR |
252 | tags: |
253 | - ${DEFAULT_AMD64_TAG} | |
c807bdd0 MV |
254 | variables: |
255 | TEST_PY_BD: "sandbox64" | |
256 | <<: *buildman_and_testpy_dfn | |
257 | ||
258 | sandbox64 with clang test.py: | |
77026080 TR |
259 | tags: |
260 | - ${DEFAULT_AMD64_TAG} | |
c807bdd0 MV |
261 | variables: |
262 | TEST_PY_BD: "sandbox64" | |
96afd8a3 | 263 | OVERRIDE: "-O clang-17" |
c807bdd0 MV |
264 | <<: *buildman_and_testpy_dfn |
265 | ||
1a62a722 | 266 | sandbox_spl test.py: |
1a62a722 TR |
267 | variables: |
268 | TEST_PY_BD: "sandbox_spl" | |
afb26ba9 | 269 | TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" |
1a62a722 TR |
270 | <<: *buildman_and_testpy_dfn |
271 | ||
6c914e42 | 272 | sandbox_noinst_test.py: |
6c914e42 SG |
273 | variables: |
274 | TEST_PY_BD: "sandbox_noinst" | |
275 | TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" | |
276 | <<: *buildman_and_testpy_dfn | |
277 | ||
b93cc1e7 SA |
278 | sandbox_noinst with LOAD_FIT_FULL test.py: |
279 | variables: | |
280 | TEST_PY_BD: "sandbox_noinst" | |
281 | TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" | |
282 | OVERRIDE: "-a CONFIG_SPL_LOAD_FIT_FULL=y" | |
283 | <<: *buildman_and_testpy_dfn | |
284 | ||
a31eff30 SG |
285 | sandbox_vpl test.py: |
286 | variables: | |
287 | TEST_PY_BD: "sandbox_vpl" | |
8b609878 | 288 | TEST_PY_TEST_SPEC: "vpl or test_spl" |
a31eff30 | 289 | <<: *buildman_and_testpy_dfn |
9cea4797 SG |
290 | |
291 | # Enable tracing and disable LTO, to ensure functions are not elided | |
292 | sandbox trace_test.py: | |
293 | variables: | |
294 | TEST_PY_BD: "sandbox" | |
295 | BUILD_ENV: "FTRACE=1 NO_LTO=1" | |
296 | TEST_PY_TEST_SPEC: "trace" | |
61cad8da | 297 | OVERRIDE: "-a CONFIG_TRACE=y -a CONFIG_TRACE_EARLY=y -a CONFIG_TRACE_EARLY_SIZE=0x01000000 -a CONFIG_TRACE_BUFFER_SIZE=0x02000000" |
9cea4797 | 298 | <<: *buildman_and_testpy_dfn |
a31eff30 | 299 | |
699c0b93 | 300 | evb-ast2500 test.py: |
699c0b93 TR |
301 | variables: |
302 | TEST_PY_BD: "evb-ast2500" | |
08128f05 | 303 | TEST_PY_TEST_SPEC: "not sleep" |
699c0b93 | 304 | TEST_PY_ID: "--id qemu" |
699c0b93 TR |
305 | <<: *buildman_and_testpy_dfn |
306 | ||
b24087ae JS |
307 | evb-ast2600 test.py: |
308 | variables: | |
309 | TEST_PY_BD: "evb-ast2600" | |
08128f05 | 310 | TEST_PY_TEST_SPEC: "not sleep" |
b24087ae JS |
311 | TEST_PY_ID: "--id qemu" |
312 | <<: *buildman_and_testpy_dfn | |
313 | ||
1a62a722 | 314 | sandbox_flattree test.py: |
77026080 TR |
315 | tags: |
316 | - ${DEFAULT_AMD64_TAG} | |
1a62a722 TR |
317 | variables: |
318 | TEST_PY_BD: "sandbox_flattree" | |
1a62a722 TR |
319 | <<: *buildman_and_testpy_dfn |
320 | ||
15e30106 KA |
321 | vexpress_ca9x4 test.py: |
322 | variables: | |
323 | TEST_PY_BD: "vexpress_ca9x4" | |
08128f05 | 324 | TEST_PY_TEST_SPEC: "not sleep" |
15e30106 KA |
325 | TEST_PY_ID: "--id qemu" |
326 | <<: *buildman_and_testpy_dfn | |
327 | ||
1a62a722 | 328 | integratorcp_cm926ejs test.py: |
1a62a722 TR |
329 | variables: |
330 | TEST_PY_BD: "integratorcp_cm926ejs" | |
331 | TEST_PY_TEST_SPEC: "not sleep" | |
332 | TEST_PY_ID: "--id qemu" | |
1a62a722 TR |
333 | <<: *buildman_and_testpy_dfn |
334 | ||
335 | qemu_arm test.py: | |
1a62a722 TR |
336 | variables: |
337 | TEST_PY_BD: "qemu_arm" | |
338 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 TR |
339 | <<: *buildman_and_testpy_dfn |
340 | ||
341 | qemu_arm64 test.py: | |
1a62a722 TR |
342 | variables: |
343 | TEST_PY_BD: "qemu_arm64" | |
344 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 | 345 | <<: *buildman_and_testpy_dfn |
a21e1123 | 346 | |
fd10d156 JF |
347 | qemu_arm64_lwip test.py: |
348 | variables: | |
349 | TEST_PY_BD: "qemu_arm64_lwip" | |
350 | TEST_PY_TEST_SPEC: "test_net_dhcp or test_net_ping or test_net_tftpboot" | |
351 | <<: *buildman_and_testpy_dfn | |
352 | ||
25081abf PR |
353 | qemu_arm_sbsa test.py: |
354 | variables: | |
355 | TEST_PY_BD: "qemu-arm-sbsa" | |
356 | TEST_PY_TEST_SPEC: "not sleep" | |
357 | <<: *buildman_and_testpy_dfn | |
358 | ||
a21e1123 MV |
359 | qemu_m68k test.py: |
360 | variables: | |
361 | TEST_PY_BD: "M5208EVBE" | |
362 | TEST_PY_ID: "--id qemu" | |
363 | TEST_PY_TEST_SPEC: "not sleep and not efi" | |
364 | OVERRIDE: "-a CONFIG_M68K_QEMU=y -a ~CONFIG_MCFTMR" | |
365 | <<: *buildman_and_testpy_dfn | |
1a62a722 | 366 | |
d8533167 | 367 | qemu_malta test.py: |
d8533167 DS |
368 | variables: |
369 | TEST_PY_BD: "malta" | |
370 | TEST_PY_TEST_SPEC: "not sleep and not efi" | |
371 | TEST_PY_ID: "--id qemu" | |
372 | <<: *buildman_and_testpy_dfn | |
373 | ||
374 | qemu_maltael test.py: | |
d8533167 DS |
375 | variables: |
376 | TEST_PY_BD: "maltael" | |
377 | TEST_PY_TEST_SPEC: "not sleep and not efi" | |
378 | TEST_PY_ID: "--id qemu" | |
379 | <<: *buildman_and_testpy_dfn | |
380 | ||
381 | qemu_malta64 test.py: | |
d8533167 DS |
382 | variables: |
383 | TEST_PY_BD: "malta64" | |
384 | TEST_PY_TEST_SPEC: "not sleep and not efi" | |
385 | TEST_PY_ID: "--id qemu" | |
386 | <<: *buildman_and_testpy_dfn | |
387 | ||
388 | qemu_malta64el test.py: | |
d8533167 DS |
389 | variables: |
390 | TEST_PY_BD: "malta64el" | |
391 | TEST_PY_TEST_SPEC: "not sleep and not efi" | |
392 | TEST_PY_ID: "--id qemu" | |
393 | <<: *buildman_and_testpy_dfn | |
394 | ||
1a62a722 | 395 | qemu-ppce500 test.py: |
1a62a722 TR |
396 | variables: |
397 | TEST_PY_BD: "qemu-ppce500" | |
398 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 TR |
399 | <<: *buildman_and_testpy_dfn |
400 | ||
a379d330 | 401 | qemu-riscv32 test.py: |
a379d330 BM |
402 | variables: |
403 | TEST_PY_BD: "qemu-riscv32" | |
404 | TEST_PY_TEST_SPEC: "not sleep" | |
a379d330 BM |
405 | <<: *buildman_and_testpy_dfn |
406 | ||
7298d82d | 407 | qemu-riscv64 test.py: |
7298d82d TR |
408 | variables: |
409 | TEST_PY_BD: "qemu-riscv64" | |
410 | TEST_PY_TEST_SPEC: "not sleep" | |
49fb28a4 BM |
411 | <<: *buildman_and_testpy_dfn |
412 | ||
413 | qemu-riscv32_spl test.py: | |
49fb28a4 BM |
414 | variables: |
415 | TEST_PY_BD: "qemu-riscv32_spl" | |
416 | TEST_PY_TEST_SPEC: "not sleep" | |
49fb28a4 BM |
417 | <<: *buildman_and_testpy_dfn |
418 | ||
419 | qemu-riscv64_spl test.py: | |
49fb28a4 BM |
420 | variables: |
421 | TEST_PY_BD: "qemu-riscv64_spl" | |
422 | TEST_PY_TEST_SPEC: "not sleep" | |
7298d82d TR |
423 | <<: *buildman_and_testpy_dfn |
424 | ||
1a62a722 | 425 | qemu-x86 test.py: |
1a62a722 TR |
426 | variables: |
427 | TEST_PY_BD: "qemu-x86" | |
428 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 TR |
429 | <<: *buildman_and_testpy_dfn |
430 | ||
431 | qemu-x86_64 test.py: | |
1a62a722 TR |
432 | variables: |
433 | TEST_PY_BD: "qemu-x86_64" | |
434 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 TR |
435 | <<: *buildman_and_testpy_dfn |
436 | ||
7de94126 JY |
437 | qemu-xtensa-dc233c test.py: |
438 | variables: | |
439 | TEST_PY_BD: "qemu-xtensa-dc233c" | |
440 | TEST_PY_TEST_SPEC: "not sleep and not efi" | |
12d7be49 | 441 | tags: |
77026080 | 442 | - ${DEFAULT_AMD64_TAG} |
7de94126 JY |
443 | <<: *buildman_and_testpy_dfn |
444 | ||
0e125756 | 445 | r2dplus_i82557c test.py: |
0e125756 MV |
446 | variables: |
447 | TEST_PY_BD: "r2dplus" | |
08128f05 | 448 | TEST_PY_TEST_SPEC: "not sleep" |
0e125756 MV |
449 | TEST_PY_ID: "--id i82557c_qemu" |
450 | <<: *buildman_and_testpy_dfn | |
451 | ||
452 | r2dplus_pcnet test.py: | |
0e125756 MV |
453 | variables: |
454 | TEST_PY_BD: "r2dplus" | |
08128f05 | 455 | TEST_PY_TEST_SPEC: "not sleep" |
0e125756 MV |
456 | TEST_PY_ID: "--id pcnet_qemu" |
457 | <<: *buildman_and_testpy_dfn | |
458 | ||
459 | r2dplus_rtl8139 test.py: | |
0e125756 MV |
460 | variables: |
461 | TEST_PY_BD: "r2dplus" | |
08128f05 | 462 | TEST_PY_TEST_SPEC: "not sleep" |
0e125756 MV |
463 | TEST_PY_ID: "--id rtl8139_qemu" |
464 | <<: *buildman_and_testpy_dfn | |
465 | ||
466 | r2dplus_tulip test.py: | |
0e125756 MV |
467 | variables: |
468 | TEST_PY_BD: "r2dplus" | |
08128f05 | 469 | TEST_PY_TEST_SPEC: "not sleep" |
0e125756 MV |
470 | TEST_PY_ID: "--id tulip_qemu" |
471 | <<: *buildman_and_testpy_dfn | |
472 | ||
0e60b3a7 BM |
473 | sifive_unleashed_sdcard test.py: |
474 | variables: | |
475 | TEST_PY_BD: "sifive_unleashed" | |
08128f05 | 476 | TEST_PY_TEST_SPEC: "not sleep" |
0e60b3a7 BM |
477 | TEST_PY_ID: "--id sdcard_qemu" |
478 | <<: *buildman_and_testpy_dfn | |
479 | ||
480 | sifive_unleashed_spi-nor test.py: | |
481 | variables: | |
482 | TEST_PY_BD: "sifive_unleashed" | |
08128f05 | 483 | TEST_PY_TEST_SPEC: "not sleep" |
0e60b3a7 BM |
484 | TEST_PY_ID: "--id spi-nor_qemu" |
485 | <<: *buildman_and_testpy_dfn | |
486 | ||
f7c6ee7f | 487 | xilinx_zynq_virt test.py: |
1a62a722 | 488 | variables: |
f7c6ee7f | 489 | TEST_PY_BD: "xilinx_zynq_virt" |
1a62a722 | 490 | TEST_PY_TEST_SPEC: "not sleep" |
1a62a722 | 491 | TEST_PY_ID: "--id qemu" |
1a62a722 TR |
492 | <<: *buildman_and_testpy_dfn |
493 | ||
494 | xilinx_versal_virt test.py: | |
1a62a722 TR |
495 | variables: |
496 | TEST_PY_BD: "xilinx_versal_virt" | |
497 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 | 498 | TEST_PY_ID: "--id qemu" |
1a62a722 TR |
499 | <<: *buildman_and_testpy_dfn |
500 | ||
501 | xtfpga test.py: | |
1a62a722 TR |
502 | variables: |
503 | TEST_PY_BD: "xtfpga" | |
504 | TEST_PY_TEST_SPEC: "not sleep" | |
1a62a722 | 505 | TEST_PY_ID: "--id qemu" |
12d7be49 | 506 | tags: |
77026080 | 507 | - ${DEFAULT_AMD64_TAG} |
1a62a722 | 508 | <<: *buildman_and_testpy_dfn |
bfb2a7fb SG |
509 | |
510 | coreboot test.py: | |
511 | variables: | |
512 | TEST_PY_BD: "coreboot" | |
513 | TEST_PY_TEST_SPEC: "not sleep" | |
514 | TEST_PY_ID: "--id qemu" | |
bfb2a7fb | 515 | <<: *buildman_and_testpy_dfn |
1888b096 SG |
516 | |
517 | .lab_template: &lab_dfn | |
518 | stage: sjg-lab | |
519 | rules: | |
520 | - if: $SJG_LAB == "1" | |
521 | when: always | |
8573ea41 TR |
522 | - if: $SJG_LAB != "1" |
523 | when: manual | |
524 | allow_failure: true | |
d3bb2458 | 525 | dependencies: [] |
1888b096 SG |
526 | tags: [ 'lab' ] |
527 | script: | |
528 | - if [[ -z "${SJG_LAB}" ]]; then | |
529 | exit 0; | |
530 | fi | |
531 | # Environment: | |
532 | # SRC - source tree | |
533 | # OUT - output directory for builds | |
534 | - export SRC="$(pwd)" | |
535 | - export OUT="${SRC}/build/${BOARD}" | |
536 | - export PATH=$PATH:~/bin | |
537 | - export PATH=$PATH:/vid/software/devel/ubtest/u-boot-test-hooks/bin | |
538 | ||
539 | # Load it on the device | |
540 | - ret=0 | |
541 | - echo "role ${ROLE}" | |
542 | - export strategy="-s uboot -e off" | |
543 | - export USE_LABGRID_SJG=1 | |
544 | # export verbose="-v" | |
545 | - ${SRC}/test/py/test.py --role ${ROLE} --build-dir "${OUT}" | |
546 | --capture=tee-sys -k "not bootstd" || ret=$? | |
547 | - U_BOOT_BOARD_IDENTITY="${ROLE}" u-boot-test-release || true | |
548 | - if [[ $ret -ne 0 ]]; then | |
549 | exit $ret; | |
550 | fi | |
551 | artifacts: | |
552 | when: always | |
553 | paths: | |
554 | - "build/${BOARD}/test-log.html" | |
555 | - "build/${BOARD}/multiplexed_log.css" | |
556 | expire_in: 1 week | |
557 | ||
558 | rpi3: | |
559 | variables: | |
560 | ROLE: rpi3 | |
561 | <<: *lab_dfn | |
562 | ||
563 | opi_pc: | |
564 | variables: | |
565 | ROLE: opi_pc | |
566 | <<: *lab_dfn | |
567 | ||
568 | pcduino3_nano: | |
569 | variables: | |
570 | ROLE: pcduino3_nano | |
571 | <<: *lab_dfn | |
572 | ||
573 | samus: | |
574 | variables: | |
575 | ROLE: samus | |
576 | <<: *lab_dfn | |
577 | ||
578 | link: | |
579 | variables: | |
580 | ROLE: link | |
581 | <<: *lab_dfn | |
582 | ||
583 | jerry: | |
584 | variables: | |
585 | ROLE: jerry | |
586 | <<: *lab_dfn | |
587 | ||
588 | minnowmax: | |
589 | variables: | |
590 | ROLE: minnowmax | |
591 | <<: *lab_dfn | |
592 | ||
593 | opi_pc2: | |
594 | variables: | |
595 | ROLE: opi_pc2 | |
596 | <<: *lab_dfn | |
597 | ||
598 | bpi: | |
599 | variables: | |
600 | ROLE: bpi | |
601 | <<: *lab_dfn | |
602 | ||
603 | rpi2: | |
604 | variables: | |
605 | ROLE: rpi2 | |
606 | <<: *lab_dfn | |
607 | ||
608 | bob: | |
609 | variables: | |
610 | ROLE: bob | |
611 | <<: *lab_dfn | |
612 | ||
613 | ff3399: | |
614 | variables: | |
615 | ROLE: ff3399 | |
616 | <<: *lab_dfn | |
617 | ||
618 | coral: | |
619 | variables: | |
620 | ROLE: coral | |
621 | <<: *lab_dfn | |
622 | ||
623 | rpi3z: | |
624 | variables: | |
625 | ROLE: rpi3z | |
626 | <<: *lab_dfn | |
627 | ||
628 | bbb: | |
629 | variables: | |
630 | ROLE: bbb | |
631 | <<: *lab_dfn | |
632 | ||
633 | kevin: | |
634 | variables: | |
635 | ROLE: kevin | |
636 | <<: *lab_dfn | |
637 | ||
638 | pine64: | |
639 | variables: | |
640 | ROLE: pine64 | |
641 | <<: *lab_dfn | |
642 | ||
643 | c4: | |
644 | variables: | |
645 | ROLE: c4 | |
646 | <<: *lab_dfn | |
647 | ||
648 | rpi4: | |
649 | variables: | |
650 | ROLE: rpi4 | |
651 | <<: *lab_dfn | |
652 | ||
653 | rpi0: | |
654 | variables: | |
655 | ROLE: rpi0 | |
656 | <<: *lab_dfn | |
657 | ||
658 | snow: | |
659 | variables: | |
660 | ROLE: snow | |
661 | <<: *lab_dfn | |
662 | ||
663 | pcduino3: | |
664 | variables: | |
665 | ROLE: pcduino3 | |
666 | <<: *lab_dfn | |
667 | ||
668 | nyan-big: | |
669 | variables: | |
670 | ROLE: nyan-big | |
671 | <<: *lab_dfn |