blob: 29af8c645ee35d1de24d00846e7085899d56fa66 [file] [log] [blame]
Tom Rini1a62a722019-06-19 09:25:17 -04001# SPDX-License-Identifier: GPL-2.0+
2
Joel Stanleycb735172022-08-23 16:18:26 +10003# Grab our configured image. The source for this is found
4# in the u-boot tree at tools/docker/Dockerfile
Tom Rinib6d4e082022-08-09 21:08:54 -04005image: trini/u-boot-gitlab-ci-runner:jammy-20220801-09Aug2022
Tom Rini1a62a722019-06-19 09:25:17 -04006
7# We run some tests in different order, to catch some failures quicker.
8stages:
Tom Rini1a62a722019-06-19 09:25:17 -04009 - testsuites
Tom Rinib29cb052019-07-24 13:09:31 -040010 - test.py
Tom Rini1a62a722019-06-19 09:25:17 -040011 - world build
12
13.buildman_and_testpy_template: &buildman_and_testpy_dfn
Tom Rini1a62a722019-06-19 09:25:17 -040014 stage: test.py
15 before_script:
16 # Clone uboot-test-hooks
Tom Rini85ae52b2021-02-24 17:05:04 -050017 - git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks
Tom Rini1a62a722019-06-19 09:25:17 -040018 - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
19 - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
Tom Rini28a51232019-10-04 12:12:54 -040020 - grub-mkimage --prefix="" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
21 - grub-mkimage --prefix="" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
Bin Meng49fb28a2020-03-28 07:25:29 -070022 - if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then
Heinrich Schuchardtb6b35fd2021-04-02 11:42:01 +020023 wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
24 export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin;
Bin Meng49fb28a2020-03-28 07:25:29 -070025 fi
Bin Meng0e60b3a2021-08-26 23:33:35 +080026 - if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]] || [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then
Heinrich Schuchardtb6b35fd2021-04-02 11:42:01 +020027 wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
28 export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin;
Bin Meng49fb28a2020-03-28 07:25:29 -070029 fi
Tom Rinib29cb052019-07-24 13:09:31 -040030
Tom Rini1a62a722019-06-19 09:25:17 -040031 after_script:
Heinrich Schuchardt24df1b12019-12-19 13:30:32 +010032 - rm -rf /tmp/uboot-test-hooks /tmp/venv
Tom Rini1a62a722019-06-19 09:25:17 -040033 script:
Simon Glassdd5c9542020-03-18 09:42:57 -060034 # If we've been asked to use clang only do one configuration.
Simon Glass4e32fed2020-03-18 09:42:55 -060035 - export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD}
Simon Glass1aa168c2022-08-03 12:13:09 -060036 - echo BUILD_ENV ${BUILD_ENV}
Simon Glass7ec12552020-03-18 09:43:00 -060037 - tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e
38 --board ${TEST_PY_BD} ${OVERRIDE}
Heinrich Schuchardt82560ae2020-07-14 00:23:58 +020039 - cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/
40 - cp ~/grub_x64.efi $UBOOT_TRAVIS_BUILD_DIR/
41 - cp /opt/grub/grubriscv64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_riscv64.efi
Heinrich Schuchardt82560ae2020-07-14 00:23:58 +020042 - cp /opt/grub/grubaa64.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm64.efi
43 - cp /opt/grub/grubarm.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi
Bin Meng0e60b3a2021-08-26 23:33:35 +080044 # create sdcard / spi-nor images for sifive unleashed using genimage
45 - if [[ "${TEST_PY_BD}" == "sifive_unleashed" ]]; then
46 mkdir -p root;
47 cp ${UBOOT_TRAVIS_BUILD_DIR}/spl/u-boot-spl.bin .;
48 cp ${UBOOT_TRAVIS_BUILD_DIR}/u-boot.itb .;
49 rm -rf tmp;
50 genimage --inputpath . --config board/sifive/unleashed/genimage_sdcard.cfg;
51 cp images/sdcard.img ${UBOOT_TRAVIS_BUILD_DIR}/;
52 rm -rf tmp;
53 genimage --inputpath . --config board/sifive/unleashed/genimage_spi-nor.cfg;
54 cp images/spi-nor.img ${UBOOT_TRAVIS_BUILD_DIR}/;
55 fi
Simon Glassbfb2a7f2022-01-21 10:23:01 -070056 - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then
57 wget -O -
58 "https://drive.google.com/uc?id=1x6nrtWIyIRPLS2cQBwYTnT2TbOI8UjmM&export=download" |
59 xz -dc >${UBOOT_TRAVIS_BUILD_DIR}/coreboot.rom;
60 wget -O -
61 "https://drive.google.com/uc?id=149Cz-5SZXHNKpi9xg6R_5XITWohu348y&export=download" >
62 cbfstool;
63 chmod a+x cbfstool;
64 ./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;
65 fi
Tom Rini085b8972019-10-24 11:59:27 -040066 - virtualenv -p /usr/bin/python3 /tmp/venv
67 - . /tmp/venv/bin/activate
68 - pip install -r test/py/requirements.txt
Simon Glass4080d092020-03-18 09:42:56 -060069 # "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
Simon Glass4e32fed2020-03-18 09:42:55 -060070 - export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
Tom Rini1a62a722019-06-19 09:25:17 -040071 export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
Heinrich Schuchardtf3092472020-07-10 22:04:40 +020072 ./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID}
Simon Glass4080d092020-03-18 09:42:56 -060073 ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"}
Simon Glasscec1e852020-03-18 09:42:59 -060074 --build-dir "$UBOOT_TRAVIS_BUILD_DIR"
Simon Glassbfb2a7f2022-01-21 10:23:01 -070075 # It seems that the files in /tmp go away, so copy out what we need
76 - if [[ "${TEST_PY_BD}" == "coreboot" ]]; then
77 cp -v /tmp/coreboot/*.{html,css} .;
78 fi
Tom Rini1a62a722019-06-19 09:25:17 -040079
Heinrich Schuchardta11cb572019-10-06 12:26:16 +020080build all 32bit ARM platforms:
Tom Rini1a62a722019-06-19 09:25:17 -040081 stage: world build
82 script:
83 - ret=0;
Simon Glassdd5c9542020-03-18 09:42:57 -060084 ./tools/buildman/buildman -o /tmp -P -E -W arm -x aarch64 || ret=$?;
85 if [[ $ret -ne 0 ]]; then
Simon Glassb52f5a12020-03-18 09:42:53 -060086 ./tools/buildman/buildman -o /tmp -seP;
Tom Rini4c749972019-10-24 11:59:16 -040087 exit $ret;
88 fi;
Tom Rini9f7bda12019-07-17 17:51:28 -040089
Heinrich Schuchardta11cb572019-10-06 12:26:16 +020090build all 64bit ARM platforms:
Tom Rini9f7bda12019-07-17 17:51:28 -040091 stage: world build
92 script:
Tom Rini26a426a2020-02-11 12:41:14 -050093 - virtualenv -p /usr/bin/python3 /tmp/venv
Tom Rinif0db8392019-07-18 07:28:36 -040094 - . /tmp/venv/bin/activate
95 - pip install pyelftools
Tom Rini9f7bda12019-07-17 17:51:28 -040096 - ret=0;
Simon Glassdd5c9542020-03-18 09:42:57 -060097 ./tools/buildman/buildman -o /tmp -P -E -W aarch64 || ret=$?;
98 if [[ $ret -ne 0 ]]; then
Simon Glassb52f5a12020-03-18 09:42:53 -060099 ./tools/buildman/buildman -o /tmp -seP;
Tom Rini4c749972019-10-24 11:59:16 -0400100 exit $ret;
101 fi;
Tom Rini9f7bda12019-07-17 17:51:28 -0400102
Heinrich Schuchardta11cb572019-10-06 12:26:16 +0200103build all PowerPC platforms:
Tom Rini9f7bda12019-07-17 17:51:28 -0400104 stage: world build
105 script:
106 - ret=0;
Simon Glassdd5c9542020-03-18 09:42:57 -0600107 ./tools/buildman/buildman -o /tmp -P -E -W powerpc || ret=$?;
108 if [[ $ret -ne 0 ]]; then
Simon Glassb52f5a12020-03-18 09:42:53 -0600109 ./tools/buildman/buildman -o /tmp -seP;
Tom Rini4c749972019-10-24 11:59:16 -0400110 exit $ret;
111 fi;
Tom Rini9f7bda12019-07-17 17:51:28 -0400112
Heinrich Schuchardta11cb572019-10-06 12:26:16 +0200113build all other platforms:
Tom Rini9f7bda12019-07-17 17:51:28 -0400114 stage: world build
115 script:
116 - ret=0;
Simon Glassdd5c9542020-03-18 09:42:57 -0600117 ./tools/buildman/buildman -o /tmp -P -E -W -x arm,powerpc || ret=$?;
118 if [[ $ret -ne 0 ]]; then
Simon Glassb52f5a12020-03-18 09:42:53 -0600119 ./tools/buildman/buildman -o /tmp -seP;
Tom Rini4c749972019-10-24 11:59:16 -0400120 exit $ret;
121 fi;
Tom Rini1a62a722019-06-19 09:25:17 -0400122
Tom Rinic1a7de52021-12-14 13:36:41 -0500123check for migrated symbols in board header:
124 stage: testsuites
125 script:
126 - KSYMLST=`mktemp`;
127 KUSEDLST=`mktemp`;
Tom Rini239fe552022-04-11 13:20:00 -0400128 RET=0;
Tom Rinic1a7de52021-12-14 13:36:41 -0500129 cat `find . -name "Kconfig*"` |
130 sed -n -e 's/^\s*config *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p'
131 -e 's/^\s*menuconfig *\([A-Za-z0-9_]*\).*$/CONFIG_\1/p'
132 | sort -u > $KSYMLST;
133 for CFG in `find include/configs -name "*.h"`; do
Tom Rini694943c2022-03-21 21:33:28 -0400134 (grep '#define[[:blank:]]CONFIG_' $CFG |
135 sed -n 's/#define.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p' ;
136 grep '#undef[[:blank:]]CONFIG_' $CFG |
137 sed -n 's/#undef.\(CONFIG_[A-Za-z0-9_]*\).*/\1/p') |
Tom Rinic1a7de52021-12-14 13:36:41 -0500138 sort -u > ${KUSEDLST} || true;
Tom Rini576eac82022-03-11 07:12:45 -0500139 NUM=`comm -123 --total --output-delimiter=, ${KSYMLST} ${KUSEDLST} |
Tom Rinic1a7de52021-12-14 13:36:41 -0500140 cut -d , -f 3`;
141 if [[ $NUM -ne 0 ]]; then
Tom Rini239fe552022-04-11 13:20:00 -0400142 echo "Unmigrated symbols found in $CFG:";
143 comm -12 ${KSYMLST} ${KUSEDLST};
144 RET=1;
Tom Rinic1a7de52021-12-14 13:36:41 -0500145 fi;
Tom Rini239fe552022-04-11 13:20:00 -0400146 done;
147 exit $RET
Tom Rinic1a7de52021-12-14 13:36:41 -0500148
Tom Rini1a62a722019-06-19 09:25:17 -0400149# QA jobs for code analytics
150# static code analysis with cppcheck (we can add --enable=all later)
151cppcheck:
Tom Rini1a62a722019-06-19 09:25:17 -0400152 stage: testsuites
153 script:
Simon Glass4ee7f522020-04-05 14:35:43 -0600154 - cppcheck -j$(nproc) --force --quiet --inline-suppr .
Tom Rini1a62a722019-06-19 09:25:17 -0400155
156# search for TODO within source tree
157grep TODO/FIXME/HACK:
Tom Rini1a62a722019-06-19 09:25:17 -0400158 stage: testsuites
159 script:
160 - grep -r TODO .
161 - grep -r FIXME .
162 # search for HACK within source tree and ignore HACKKIT board
163 - grep -r HACK . | grep -v HACKKIT
164
Heinrich Schuchardt3eb7b782020-02-21 18:24:01 +0100165# build HTML documentation
166htmldocs:
Heinrich Schuchardt3eb7b782020-02-21 18:24:01 +0100167 stage: testsuites
168 script:
Heinrich Schuchardt836049d2021-01-25 22:06:25 +0100169 - virtualenv -p /usr/bin/python3 /tmp/venvhtml
170 - . /tmp/venvhtml/bin/activate
171 - pip install -r doc/sphinx/requirements.txt
Heinrich Schuchardt3eb7b782020-02-21 18:24:01 +0100172 - make htmldocs
173
Tom Rini1a62a722019-06-19 09:25:17 -0400174# some statistics about the code base
175sloccount:
Tom Rini1a62a722019-06-19 09:25:17 -0400176 stage: testsuites
177 script:
178 - sloccount .
179
180# ensure all configs have MAINTAINERS entries
181Check for configs without MAINTAINERS entry:
Tom Rini1a62a722019-06-19 09:25:17 -0400182 stage: testsuites
183 script:
Simon Glass7ae8a522022-07-11 19:04:09 -0600184 - ./tools/buildman/buildman -R
Tom Rini1a62a722019-06-19 09:25:17 -0400185
186# Ensure host tools build
187Build tools-only:
Tom Rini1a62a722019-06-19 09:25:17 -0400188 stage: testsuites
189 script:
190 - make tools-only_config tools-only -j$(nproc)
191
Pierre-Jean Texier1f3910d2019-08-26 13:06:18 +0200192# Ensure env tools build
193Build envtools:
Pierre-Jean Texier1f3910d2019-08-26 13:06:18 +0200194 stage: testsuites
195 script:
196 - make tools-only_config envtools -j$(nproc)
197
Tom Rini72618332020-03-11 18:11:15 -0400198Run binman, buildman, dtoc, Kconfig and patman testsuites:
Tom Rini1a62a722019-06-19 09:25:17 -0400199 stage: testsuites
200 script:
Tom Rinid7ae9322019-08-12 10:09:08 -0400201 - git config --global user.name "GitLab CI Runner";
202 git config --global user.email trini@konsulko.com;
Tom Rinib6d4e082022-08-09 21:08:54 -0400203 git config --global --add safe.directory "${CI_PROJECT_DIR}";
Tom Rinid7ae9322019-08-12 10:09:08 -0400204 export USER=gitlab;
Tom Rini26a426a2020-02-11 12:41:14 -0500205 virtualenv -p /usr/bin/python3 /tmp/venv;
Tom Rinid7ae9322019-08-12 10:09:08 -0400206 . /tmp/venv/bin/activate;
Tom Rini38229b52021-02-26 07:52:29 -0500207 pip install -r test/py/requirements.txt;
Simon Glassbf0a8132020-03-18 09:42:50 -0600208 export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl;
Tom Rinid7ae9322019-08-12 10:09:08 -0400209 export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
210 export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
Tom Rinib6d4e082022-08-09 21:08:54 -0400211 set +e;
Simon Glass6c914e42021-03-15 17:25:34 +1300212 ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
213 --board sandbox_spl;
Tom Rinib6d4e082022-08-09 21:08:54 -0400214 set -e;
Tom Rinid7ae9322019-08-12 10:09:08 -0400215 ./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test;
216 ./tools/buildman/buildman -t;
217 ./tools/dtoc/dtoc -t;
Simon Glass6bb74de2020-07-05 21:41:55 -0600218 ./tools/patman/patman test;
Tom Rini72618332020-03-11 18:11:15 -0400219 make testconfig
Tom Rini1a62a722019-06-19 09:25:17 -0400220
Pali Rohár6cfd09d2020-05-17 14:38:22 +0200221Run tests for Nokia RX-51 (aka N900):
Pali Rohár6cfd09d2020-05-17 14:38:22 +0200222 stage: testsuites
223 script:
Tom Rinie2d6a772021-10-14 22:21:29 -0400224 - export PATH=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin:$PATH;
Pali Rohár6cfd09d2020-05-17 14:38:22 +0200225 test/nokia_rx51_test.sh
226
Simon Glass642e51a2022-02-11 13:23:26 -0700227# Check for any pylint regressions
228Run pylint:
229 stage: testsuites
230 script:
Tom Rinib6d4e082022-08-09 21:08:54 -0400231 - git config --global --add safe.directory "${CI_PROJECT_DIR}"
Simon Glass642e51a2022-02-11 13:23:26 -0700232 - pip install -r test/py/requirements.txt
Tom Rinie47bbf72022-03-25 08:19:09 -0400233 - pip install asteval pylint==2.12.2 pyopenssl
Simon Glass642e51a2022-02-11 13:23:26 -0700234 - export PATH=${PATH}:~/.local/bin
235 - echo "[MASTER]" >> .pylintrc
236 - echo "load-plugins=pylint.extensions.docparams" >> .pylintrc
237 - export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
Tom Rinib6d4e082022-08-09 21:08:54 -0400238 - set +e
Simon Glass642e51a2022-02-11 13:23:26 -0700239 - ./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w
240 --board sandbox_spl
Tom Rinib6d4e082022-08-09 21:08:54 -0400241 - set -e
Simon Glass642e51a2022-02-11 13:23:26 -0700242 - pylint --version
243 - export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"
244 - make pylint_err
245
Tom Rini1a62a722019-06-19 09:25:17 -0400246# Test sandbox with test.py
247sandbox test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400248 variables:
249 TEST_PY_BD: "sandbox"
Tom Rini1a62a722019-06-19 09:25:17 -0400250 <<: *buildman_and_testpy_dfn
251
Tom Rini0219d012019-11-06 19:30:47 -0500252sandbox with clang test.py:
Tom Rini0219d012019-11-06 19:30:47 -0500253 variables:
254 TEST_PY_BD: "sandbox"
Tom Rini927e0ee2021-10-05 13:51:38 -0400255 OVERRIDE: "-O clang-13"
Tom Rini0219d012019-11-06 19:30:47 -0500256 <<: *buildman_and_testpy_dfn
257
Simon Glass1aa168c2022-08-03 12:13:09 -0600258sandbox without LTO test.py:
259 variables:
260 TEST_PY_BD: "sandbox"
261 BUILD_ENV: "NO_LTO=1"
262 <<: *buildman_and_testpy_dfn
263
Tom Rini1a62a722019-06-19 09:25:17 -0400264sandbox_spl test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400265 variables:
266 TEST_PY_BD: "sandbox_spl"
Simon Glassafb26ba2020-10-25 20:38:36 -0600267 TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
Tom Rini1a62a722019-06-19 09:25:17 -0400268 <<: *buildman_and_testpy_dfn
269
Simon Glass6c914e42021-03-15 17:25:34 +1300270sandbox_noinst_test.py:
Simon Glass6c914e42021-03-15 17:25:34 +1300271 variables:
272 TEST_PY_BD: "sandbox_noinst"
273 TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
274 <<: *buildman_and_testpy_dfn
275
Simon Glassa31eff32022-04-30 00:56:57 -0600276sandbox_vpl test.py:
277 variables:
278 TEST_PY_BD: "sandbox_vpl"
279 TEST_PY_TEST_SPEC: "test_vpl_help or test_spl"
280 <<: *buildman_and_testpy_dfn
281
Tom Rini699c0b92019-07-17 16:06:57 -0400282evb-ast2500 test.py:
Tom Rini699c0b92019-07-17 16:06:57 -0400283 variables:
284 TEST_PY_BD: "evb-ast2500"
285 TEST_PY_ID: "--id qemu"
Tom Rini699c0b92019-07-17 16:06:57 -0400286 <<: *buildman_and_testpy_dfn
287
Joel Stanleyb24087a2022-06-29 16:35:25 +0930288evb-ast2600 test.py:
289 variables:
290 TEST_PY_BD: "evb-ast2600"
291 TEST_PY_ID: "--id qemu"
292 <<: *buildman_and_testpy_dfn
293
Tom Rini1a62a722019-06-19 09:25:17 -0400294sandbox_flattree test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400295 variables:
296 TEST_PY_BD: "sandbox_flattree"
Tom Rini1a62a722019-06-19 09:25:17 -0400297 <<: *buildman_and_testpy_dfn
298
Kristian Amlie15e30102021-09-07 08:37:51 +0200299vexpress_ca9x4 test.py:
300 variables:
301 TEST_PY_BD: "vexpress_ca9x4"
302 TEST_PY_ID: "--id qemu"
303 <<: *buildman_and_testpy_dfn
304
Tom Rini1a62a722019-06-19 09:25:17 -0400305integratorcp_cm926ejs test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400306 variables:
307 TEST_PY_BD: "integratorcp_cm926ejs"
308 TEST_PY_TEST_SPEC: "not sleep"
309 TEST_PY_ID: "--id qemu"
Tom Rini1a62a722019-06-19 09:25:17 -0400310 <<: *buildman_and_testpy_dfn
311
312qemu_arm test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400313 variables:
314 TEST_PY_BD: "qemu_arm"
315 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400316 <<: *buildman_and_testpy_dfn
317
318qemu_arm64 test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400319 variables:
320 TEST_PY_BD: "qemu_arm64"
321 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400322 <<: *buildman_and_testpy_dfn
323
Daniel Schwierzeckd8533162020-06-06 22:21:47 +0200324qemu_malta test.py:
Daniel Schwierzeckd8533162020-06-06 22:21:47 +0200325 variables:
326 TEST_PY_BD: "malta"
327 TEST_PY_TEST_SPEC: "not sleep and not efi"
328 TEST_PY_ID: "--id qemu"
329 <<: *buildman_and_testpy_dfn
330
331qemu_maltael test.py:
Daniel Schwierzeckd8533162020-06-06 22:21:47 +0200332 variables:
333 TEST_PY_BD: "maltael"
334 TEST_PY_TEST_SPEC: "not sleep and not efi"
335 TEST_PY_ID: "--id qemu"
336 <<: *buildman_and_testpy_dfn
337
338qemu_malta64 test.py:
Daniel Schwierzeckd8533162020-06-06 22:21:47 +0200339 variables:
340 TEST_PY_BD: "malta64"
341 TEST_PY_TEST_SPEC: "not sleep and not efi"
342 TEST_PY_ID: "--id qemu"
343 <<: *buildman_and_testpy_dfn
344
345qemu_malta64el test.py:
Daniel Schwierzeckd8533162020-06-06 22:21:47 +0200346 variables:
347 TEST_PY_BD: "malta64el"
348 TEST_PY_TEST_SPEC: "not sleep and not efi"
349 TEST_PY_ID: "--id qemu"
350 <<: *buildman_and_testpy_dfn
351
Tom Rini1a62a722019-06-19 09:25:17 -0400352qemu-ppce500 test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400353 variables:
354 TEST_PY_BD: "qemu-ppce500"
355 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400356 <<: *buildman_and_testpy_dfn
357
Bin Menga379d332020-03-28 07:25:27 -0700358qemu-riscv32 test.py:
Bin Menga379d332020-03-28 07:25:27 -0700359 variables:
360 TEST_PY_BD: "qemu-riscv32"
361 TEST_PY_TEST_SPEC: "not sleep"
Bin Menga379d332020-03-28 07:25:27 -0700362 <<: *buildman_and_testpy_dfn
363
Tom Rini7298d822019-08-02 11:32:37 -0400364qemu-riscv64 test.py:
Tom Rini7298d822019-08-02 11:32:37 -0400365 variables:
366 TEST_PY_BD: "qemu-riscv64"
367 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini7298d822019-08-02 11:32:37 -0400368 <<: *buildman_and_testpy_dfn
369
Bin Meng49fb28a2020-03-28 07:25:29 -0700370qemu-riscv32_spl test.py:
Bin Meng49fb28a2020-03-28 07:25:29 -0700371 variables:
372 TEST_PY_BD: "qemu-riscv32_spl"
373 TEST_PY_TEST_SPEC: "not sleep"
Bin Meng49fb28a2020-03-28 07:25:29 -0700374 <<: *buildman_and_testpy_dfn
375
376qemu-riscv64_spl test.py:
Bin Meng49fb28a2020-03-28 07:25:29 -0700377 variables:
378 TEST_PY_BD: "qemu-riscv64_spl"
379 TEST_PY_TEST_SPEC: "not sleep"
Bin Meng49fb28a2020-03-28 07:25:29 -0700380 <<: *buildman_and_testpy_dfn
381
Tom Rini1a62a722019-06-19 09:25:17 -0400382qemu-x86 test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400383 variables:
384 TEST_PY_BD: "qemu-x86"
385 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400386 <<: *buildman_and_testpy_dfn
387
388qemu-x86_64 test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400389 variables:
390 TEST_PY_BD: "qemu-x86_64"
391 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400392 <<: *buildman_and_testpy_dfn
393
Marek Vasut0e125752020-09-14 21:55:58 +0200394r2dplus_i82557c test.py:
Marek Vasut0e125752020-09-14 21:55:58 +0200395 variables:
396 TEST_PY_BD: "r2dplus"
397 TEST_PY_ID: "--id i82557c_qemu"
398 <<: *buildman_and_testpy_dfn
399
400r2dplus_pcnet test.py:
Marek Vasut0e125752020-09-14 21:55:58 +0200401 variables:
402 TEST_PY_BD: "r2dplus"
403 TEST_PY_ID: "--id pcnet_qemu"
404 <<: *buildman_and_testpy_dfn
405
406r2dplus_rtl8139 test.py:
Marek Vasut0e125752020-09-14 21:55:58 +0200407 variables:
408 TEST_PY_BD: "r2dplus"
409 TEST_PY_ID: "--id rtl8139_qemu"
410 <<: *buildman_and_testpy_dfn
411
412r2dplus_tulip test.py:
Marek Vasut0e125752020-09-14 21:55:58 +0200413 variables:
414 TEST_PY_BD: "r2dplus"
415 TEST_PY_ID: "--id tulip_qemu"
416 <<: *buildman_and_testpy_dfn
417
Bin Meng0e60b3a2021-08-26 23:33:35 +0800418sifive_unleashed_sdcard test.py:
419 variables:
420 TEST_PY_BD: "sifive_unleashed"
421 TEST_PY_ID: "--id sdcard_qemu"
422 <<: *buildman_and_testpy_dfn
423
424sifive_unleashed_spi-nor test.py:
425 variables:
426 TEST_PY_BD: "sifive_unleashed"
427 TEST_PY_ID: "--id spi-nor_qemu"
428 <<: *buildman_and_testpy_dfn
429
Michal Simekf7c6ee72020-02-13 15:03:29 +0100430xilinx_zynq_virt test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400431 variables:
Michal Simekf7c6ee72020-02-13 15:03:29 +0100432 TEST_PY_BD: "xilinx_zynq_virt"
Tom Rini1a62a722019-06-19 09:25:17 -0400433 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400434 TEST_PY_ID: "--id qemu"
Tom Rini1a62a722019-06-19 09:25:17 -0400435 <<: *buildman_and_testpy_dfn
436
437xilinx_versal_virt test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400438 variables:
439 TEST_PY_BD: "xilinx_versal_virt"
440 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400441 TEST_PY_ID: "--id qemu"
Tom Rini1a62a722019-06-19 09:25:17 -0400442 <<: *buildman_and_testpy_dfn
443
444xtfpga test.py:
Tom Rini1a62a722019-06-19 09:25:17 -0400445 variables:
446 TEST_PY_BD: "xtfpga"
447 TEST_PY_TEST_SPEC: "not sleep"
Tom Rini1a62a722019-06-19 09:25:17 -0400448 TEST_PY_ID: "--id qemu"
Tom Rini1a62a722019-06-19 09:25:17 -0400449 <<: *buildman_and_testpy_dfn
Simon Glassbfb2a7f2022-01-21 10:23:01 -0700450
451coreboot test.py:
452 variables:
453 TEST_PY_BD: "coreboot"
454 TEST_PY_TEST_SPEC: "not sleep"
455 TEST_PY_ID: "--id qemu"
456 artifacts:
457 paths:
458 - "*.html"
459 - "*.css"
460 expire_in: 1 week
461 <<: *buildman_and_testpy_dfn