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