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