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