]> Git Repo - J-u-boot.git/blob - .gitlab-ci.yml
Merge tag 'v2025.01-rc3' into next
[J-u-boot.git] / .gitlab-ci.yml
1 # SPDX-License-Identifier: GPL-2.0+
2
3 variables:
4   DEFAULT_TAG: ""
5   MIRROR_DOCKER: docker.io
6   SJG_LAB: ""
7
8 default:
9   tags:
10     - ${DEFAULT_TAG}
11
12 # Grab our configured image.  The source for this is found
13 # in the u-boot tree at tools/docker/Dockerfile
14 image: ${MIRROR_DOCKER}/trini/u-boot-gitlab-ci-runner:jammy-20240808-21Aug2024
15
16 # We run some tests in different order, to catch some failures quicker.
17 stages:
18   - testsuites
19   - test.py
20   - sjg-lab
21   - world build
22
23 .buildman_and_testpy_template: &buildman_and_testpy_dfn
24   stage: test.py
25   retry: 2 # QEMU may be too slow, etc.
26   rules:
27     - when: always
28   before_script:
29     # Clone uboot-test-hooks
30     - git config --global --add safe.directory "${CI_PROJECT_DIR}"
31     - git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks
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
35     - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
36     - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
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
39     - if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then
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;
42       fi
43     - if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]] || [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then
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;
46       fi
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;
50         export BINMAN_INDIRS=/tmp;
51       fi
52
53   after_script:
54     - cp -v /tmp/${TEST_PY_BD}/*.{html,css,xml} .
55     - rm -rf /tmp/uboot-test-hooks /tmp/venv
56   script:
57     # If we've been asked to use clang only do one configuration.
58     - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
59     - echo BUILD_ENV ${BUILD_ENV}
60     - if [ -n "${BUILD_ENV}" ]; then
61         export ${BUILD_ENV};
62       fi
63     - tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
64         --board ${TEST_PY_BD} ${OVERRIDE}
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
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
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
82     - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then
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;
86       fi
87     - virtualenv -p /usr/bin/python3 /tmp/venv
88     - . /tmp/venv/bin/activate
89     - pip install -r test/py/requirements.txt
90     # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
91     - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
92       export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
93       ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID}
94         ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
95         --build-dir "$UBOOT_TRAVIS_BUILD_DIR"
96         --junitxml=/tmp/${TEST_PY_BD}/results.xml
97   artifacts:
98     when: always
99     paths:
100       - "*.html"
101       - "*.css"
102     reports:
103       junit: results.xml
104     expire_in: 1 week
105
106 .world_build:
107   stage: world build
108   rules:
109     - when: always
110
111 build all 32bit ARM platforms:
112   extends: .world_build
113   script:
114     - ret=0;
115       git config --global --add safe.directory "${CI_PROJECT_DIR}";
116       pip install -r tools/buildman/requirements.txt;
117       ./tools/buildman/buildman -o /tmp -PEWM arm -x aarch64 || ret=$?;
118       if [[ $ret -ne 0 ]]; then
119         ./tools/buildman/buildman -o /tmp -seP;
120         exit $ret;
121       fi;
122
123 build all 64bit ARM platforms:
124   extends: .world_build
125   script:
126     - virtualenv -p /usr/bin/python3 /tmp/venv
127     - . /tmp/venv/bin/activate
128     - ret=0;
129       git config --global --add safe.directory "${CI_PROJECT_DIR}";
130       pip install -r tools/buildman/requirements.txt;
131       ./tools/buildman/buildman -o /tmp -PEWM aarch64 || ret=$?;
132       if [[ $ret -ne 0 ]]; then
133         ./tools/buildman/buildman -o /tmp -seP;
134         exit $ret;
135       fi;
136
137 build all PowerPC platforms:
138   extends: .world_build
139   script:
140     - ret=0;
141       git config --global --add safe.directory "${CI_PROJECT_DIR}";
142       ./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?;
143       if [[ $ret -ne 0 ]]; then
144         ./tools/buildman/buildman -o /tmp -seP;
145         exit $ret;
146       fi;
147
148 build all other platforms:
149   extends: .world_build
150   script:
151     - ret=0;
152       git config --global --add safe.directory "${CI_PROJECT_DIR}";
153       ./tools/buildman/buildman -o /tmp -PEWM -x arm,powerpc || ret=$?;
154       if [[ $ret -ne 0 ]]; then
155         ./tools/buildman/buildman -o /tmp -seP;
156         exit $ret;
157       fi;
158
159 .testsuites:
160   stage: testsuites
161   rules:
162     - when: always
163
164 check for new CONFIG symbols outside Kconfig:
165   extends: .testsuites
166   script:
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_'
171         :^doc/ :^arch/arm/dts/ :^scripts/kconfig/lkc.h
172         :^include/linux/kconfig.h :^tools/ :^dts/upstream/
173         :^lib/mbedtls/external :^lib/mbedtls/mbedtls_def_config.h &&
174         exit 1 || exit 0
175
176 # build documentation
177 docs:
178   extends: .testsuites
179   script:
180     - virtualenv -p /usr/bin/python3 /tmp/venvhtml
181     - . /tmp/venvhtml/bin/activate
182     - pip install -r doc/sphinx/requirements.txt
183     - make htmldocs KDOC_WERROR=1
184     - make infodocs
185
186 # ensure all configs have MAINTAINERS entries
187 Check for configs without MAINTAINERS entry:
188   extends: .testsuites
189   script:
190     - ./tools/buildman/buildman --maintainer-check
191
192 # Ensure host tools build
193 Build tools-only and envtools:
194   extends: .testsuites
195   script:
196     - make tools-only_config tools-only -j$(nproc);
197       make mrproper;
198       make tools-only_config envtools -j$(nproc)
199
200 Run binman, buildman, dtoc, Kconfig and patman testsuites:
201   extends: .testsuites
202   script:
203     - git config --global user.name "GitLab CI Runner";
204       git config --global user.email [email protected];
205       git config --global --add safe.directory "${CI_PROJECT_DIR}";
206       export USER=gitlab;
207       virtualenv -p /usr/bin/python3 /tmp/venv;
208       . /tmp/venv/bin/activate;
209       pip install -r test/py/requirements.txt;
210       pip install -r tools/buildman/requirements.txt;
211       export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only;
212       export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
213       export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
214       set +e;
215       ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
216         --board tools-only;
217       set -e;
218       ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test;
219       ./tools/buildman/buildman -t;
220       ./tools/dtoc/dtoc -t;
221       ./tools/patman/patman test;
222       make testconfig
223
224 # Check for any pylint regressions
225 Run pylint:
226   extends: .testsuites
227   script:
228     - git config --global --add safe.directory "${CI_PROJECT_DIR}"
229     - pip install -r test/py/requirements.txt
230     - pip install -r tools/buildman/requirements.txt
231     - pip install asteval pylint==2.12.2 pyopenssl
232     - export PATH=${PATH}:~/.local/bin
233     - echo "[MASTER]" >> .pylintrc
234     - echo "load-plugins=pylint.extensions.docparams" >> .pylintrc
235     - export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only
236     - set +e
237     - ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
238         --board tools-only
239     - set -e
240     - pylint --version
241     - export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
242     - make pylint_err
243
244 # Check for pre-schema driver model tags
245 Check for pre-schema tags:
246   extends: .testsuites
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
253 # Check we can package the Python tools
254 Check packing of Python tools:
255   extends: .testsuites
256   script:
257     - make pip
258
259 # Test sandbox with test.py
260 sandbox test.py:
261   variables:
262     TEST_PY_BD: "sandbox"
263   <<: *buildman_and_testpy_dfn
264
265 sandbox with clang test.py:
266   variables:
267     TEST_PY_BD: "sandbox"
268     OVERRIDE: "-O clang-17"
269   <<: *buildman_and_testpy_dfn
270
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"
279     OVERRIDE: "-O clang-17"
280   <<: *buildman_and_testpy_dfn
281
282 sandbox_spl test.py:
283   variables:
284     TEST_PY_BD: "sandbox_spl"
285     TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
286   <<: *buildman_and_testpy_dfn
287
288 sandbox_noinst_test.py:
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
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
301 sandbox_vpl test.py:
302   variables:
303     TEST_PY_BD: "sandbox_vpl"
304     TEST_PY_TEST_SPEC: "vpl or test_spl"
305   <<: *buildman_and_testpy_dfn
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"
313     OVERRIDE: "-a CONFIG_TRACE=y -a CONFIG_TRACE_EARLY=y -a CONFIG_TRACE_EARLY_SIZE=0x01000000 -a CONFIG_TRACE_BUFFER_SIZE=0x02000000"
314   <<: *buildman_and_testpy_dfn
315
316 evb-ast2500 test.py:
317   variables:
318     TEST_PY_BD: "evb-ast2500"
319     TEST_PY_TEST_SPEC: "not sleep"
320     TEST_PY_ID: "--id qemu"
321   <<: *buildman_and_testpy_dfn
322
323 evb-ast2600 test.py:
324   variables:
325     TEST_PY_BD: "evb-ast2600"
326     TEST_PY_TEST_SPEC: "not sleep"
327     TEST_PY_ID: "--id qemu"
328   <<: *buildman_and_testpy_dfn
329
330 sandbox_flattree test.py:
331   variables:
332     TEST_PY_BD: "sandbox_flattree"
333   <<: *buildman_and_testpy_dfn
334
335 vexpress_ca9x4 test.py:
336   variables:
337     TEST_PY_BD: "vexpress_ca9x4"
338     TEST_PY_TEST_SPEC: "not sleep"
339     TEST_PY_ID: "--id qemu"
340   <<: *buildman_and_testpy_dfn
341
342 integratorcp_cm926ejs test.py:
343   variables:
344     TEST_PY_BD: "integratorcp_cm926ejs"
345     TEST_PY_TEST_SPEC: "not sleep"
346     TEST_PY_ID: "--id qemu"
347   <<: *buildman_and_testpy_dfn
348
349 qemu_arm test.py:
350   variables:
351     TEST_PY_BD: "qemu_arm"
352     TEST_PY_TEST_SPEC: "not sleep"
353   <<: *buildman_and_testpy_dfn
354
355 qemu_arm64 test.py:
356   variables:
357     TEST_PY_BD: "qemu_arm64"
358     TEST_PY_TEST_SPEC: "not sleep"
359   <<: *buildman_and_testpy_dfn
360
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
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
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
380
381 qemu_malta test.py:
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:
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:
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:
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
409 qemu-ppce500 test.py:
410   variables:
411     TEST_PY_BD: "qemu-ppce500"
412     TEST_PY_TEST_SPEC: "not sleep"
413   <<: *buildman_and_testpy_dfn
414
415 qemu-riscv32 test.py:
416   variables:
417     TEST_PY_BD: "qemu-riscv32"
418     TEST_PY_TEST_SPEC: "not sleep"
419   <<: *buildman_and_testpy_dfn
420
421 qemu-riscv64 test.py:
422   variables:
423     TEST_PY_BD: "qemu-riscv64"
424     TEST_PY_TEST_SPEC: "not sleep"
425   <<: *buildman_and_testpy_dfn
426
427 qemu-riscv32_spl test.py:
428   variables:
429     TEST_PY_BD: "qemu-riscv32_spl"
430     TEST_PY_TEST_SPEC: "not sleep"
431   <<: *buildman_and_testpy_dfn
432
433 qemu-riscv64_spl test.py:
434   variables:
435     TEST_PY_BD: "qemu-riscv64_spl"
436     TEST_PY_TEST_SPEC: "not sleep"
437   <<: *buildman_and_testpy_dfn
438
439 qemu-x86 test.py:
440   variables:
441     TEST_PY_BD: "qemu-x86"
442     TEST_PY_TEST_SPEC: "not sleep"
443   <<: *buildman_and_testpy_dfn
444
445 qemu-x86_64 test.py:
446   variables:
447     TEST_PY_BD: "qemu-x86_64"
448     TEST_PY_TEST_SPEC: "not sleep"
449   <<: *buildman_and_testpy_dfn
450
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
457 r2dplus_i82557c test.py:
458   variables:
459     TEST_PY_BD: "r2dplus"
460     TEST_PY_TEST_SPEC: "not sleep"
461     TEST_PY_ID: "--id i82557c_qemu"
462   <<: *buildman_and_testpy_dfn
463
464 r2dplus_pcnet test.py:
465   variables:
466     TEST_PY_BD: "r2dplus"
467     TEST_PY_TEST_SPEC: "not sleep"
468     TEST_PY_ID: "--id pcnet_qemu"
469   <<: *buildman_and_testpy_dfn
470
471 r2dplus_rtl8139 test.py:
472   variables:
473     TEST_PY_BD: "r2dplus"
474     TEST_PY_TEST_SPEC: "not sleep"
475     TEST_PY_ID: "--id rtl8139_qemu"
476   <<: *buildman_and_testpy_dfn
477
478 r2dplus_tulip test.py:
479   variables:
480     TEST_PY_BD: "r2dplus"
481     TEST_PY_TEST_SPEC: "not sleep"
482     TEST_PY_ID: "--id tulip_qemu"
483   <<: *buildman_and_testpy_dfn
484
485 sifive_unleashed_sdcard test.py:
486   variables:
487     TEST_PY_BD: "sifive_unleashed"
488     TEST_PY_TEST_SPEC: "not sleep"
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"
495     TEST_PY_TEST_SPEC: "not sleep"
496     TEST_PY_ID: "--id spi-nor_qemu"
497   <<: *buildman_and_testpy_dfn
498
499 xilinx_zynq_virt test.py:
500   variables:
501     TEST_PY_BD: "xilinx_zynq_virt"
502     TEST_PY_TEST_SPEC: "not sleep"
503     TEST_PY_ID: "--id qemu"
504   <<: *buildman_and_testpy_dfn
505
506 xilinx_versal_virt test.py:
507   variables:
508     TEST_PY_BD: "xilinx_versal_virt"
509     TEST_PY_TEST_SPEC: "not sleep"
510     TEST_PY_ID: "--id qemu"
511   <<: *buildman_and_testpy_dfn
512
513 xtfpga test.py:
514   variables:
515     TEST_PY_BD: "xtfpga"
516     TEST_PY_TEST_SPEC: "not sleep"
517     TEST_PY_ID: "--id qemu"
518   <<: *buildman_and_testpy_dfn
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"
525   <<: *buildman_and_testpy_dfn
526
527 .lab_template: &lab_dfn
528   stage: sjg-lab
529   rules:
530     - if: $SJG_LAB == "1"
531       when: always
532     - if: $SJG_LAB != "1"
533       when: manual
534       allow_failure: true
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
This page took 0.065741 seconds and 4 git commands to generate.