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