CI: Allow running tests on sjg lab
Add a way to run tests on a real hardware lab. This is in the very early experimental stages. There are only 23 boards and 3 of those are broken! (bob, ff3399, samus). A fourth fails due to problems with the TPM tests. To try this, assuming you have gitlab access, set SJG_LAB=1, e.g.: git push -o ci.variable="SJG_LAB=1" dm HEAD:try This relies on the two previous series targeted at -next as well as the bugfix series for -master Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
This commit is contained in:
155
.gitlab-ci.yml
155
.gitlab-ci.yml
@@ -3,6 +3,7 @@
|
||||
variables:
|
||||
DEFAULT_TAG: ""
|
||||
MIRROR_DOCKER: docker.io
|
||||
SJG_LAB: ""
|
||||
|
||||
default:
|
||||
tags:
|
||||
@@ -17,6 +18,7 @@ stages:
|
||||
- testsuites
|
||||
- test.py
|
||||
- world build
|
||||
- sjg-lab
|
||||
|
||||
.buildman_and_testpy_template: &buildman_and_testpy_dfn
|
||||
stage: test.py
|
||||
@@ -521,3 +523,156 @@ coreboot test.py:
|
||||
TEST_PY_TEST_SPEC: "not sleep"
|
||||
TEST_PY_ID: "--id qemu"
|
||||
<<: *buildman_and_testpy_dfn
|
||||
|
||||
.lab_template: &lab_dfn
|
||||
stage: sjg-lab
|
||||
rules:
|
||||
- if: $SJG_LAB == "1"
|
||||
when: always
|
||||
- when: manual
|
||||
tags: [ 'lab' ]
|
||||
script:
|
||||
- if [[ -z "${SJG_LAB}" ]]; then
|
||||
exit 0;
|
||||
fi
|
||||
# Environment:
|
||||
# SRC - source tree
|
||||
# OUT - output directory for builds
|
||||
- export SRC="$(pwd)"
|
||||
- export OUT="${SRC}/build/${BOARD}"
|
||||
- export PATH=$PATH:~/bin
|
||||
- export PATH=$PATH:/vid/software/devel/ubtest/u-boot-test-hooks/bin
|
||||
|
||||
# Load it on the device
|
||||
- ret=0
|
||||
- echo "role ${ROLE}"
|
||||
- export strategy="-s uboot -e off"
|
||||
- export USE_LABGRID_SJG=1
|
||||
# export verbose="-v"
|
||||
- ${SRC}/test/py/test.py --role ${ROLE} --build-dir "${OUT}"
|
||||
--capture=tee-sys -k "not bootstd" || ret=$?
|
||||
- U_BOOT_BOARD_IDENTITY="${ROLE}" u-boot-test-release || true
|
||||
- if [[ $ret -ne 0 ]]; then
|
||||
exit $ret;
|
||||
fi
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- "build/${BOARD}/test-log.html"
|
||||
- "build/${BOARD}/multiplexed_log.css"
|
||||
expire_in: 1 week
|
||||
|
||||
rpi3:
|
||||
variables:
|
||||
ROLE: rpi3
|
||||
<<: *lab_dfn
|
||||
|
||||
opi_pc:
|
||||
variables:
|
||||
ROLE: opi_pc
|
||||
<<: *lab_dfn
|
||||
|
||||
pcduino3_nano:
|
||||
variables:
|
||||
ROLE: pcduino3_nano
|
||||
<<: *lab_dfn
|
||||
|
||||
samus:
|
||||
variables:
|
||||
ROLE: samus
|
||||
<<: *lab_dfn
|
||||
|
||||
link:
|
||||
variables:
|
||||
ROLE: link
|
||||
<<: *lab_dfn
|
||||
|
||||
jerry:
|
||||
variables:
|
||||
ROLE: jerry
|
||||
<<: *lab_dfn
|
||||
|
||||
minnowmax:
|
||||
variables:
|
||||
ROLE: minnowmax
|
||||
<<: *lab_dfn
|
||||
|
||||
opi_pc2:
|
||||
variables:
|
||||
ROLE: opi_pc2
|
||||
<<: *lab_dfn
|
||||
|
||||
bpi:
|
||||
variables:
|
||||
ROLE: bpi
|
||||
<<: *lab_dfn
|
||||
|
||||
rpi2:
|
||||
variables:
|
||||
ROLE: rpi2
|
||||
<<: *lab_dfn
|
||||
|
||||
bob:
|
||||
variables:
|
||||
ROLE: bob
|
||||
<<: *lab_dfn
|
||||
|
||||
ff3399:
|
||||
variables:
|
||||
ROLE: ff3399
|
||||
<<: *lab_dfn
|
||||
|
||||
coral:
|
||||
variables:
|
||||
ROLE: coral
|
||||
<<: *lab_dfn
|
||||
|
||||
rpi3z:
|
||||
variables:
|
||||
ROLE: rpi3z
|
||||
<<: *lab_dfn
|
||||
|
||||
bbb:
|
||||
variables:
|
||||
ROLE: bbb
|
||||
<<: *lab_dfn
|
||||
|
||||
kevin:
|
||||
variables:
|
||||
ROLE: kevin
|
||||
<<: *lab_dfn
|
||||
|
||||
pine64:
|
||||
variables:
|
||||
ROLE: pine64
|
||||
<<: *lab_dfn
|
||||
|
||||
c4:
|
||||
variables:
|
||||
ROLE: c4
|
||||
<<: *lab_dfn
|
||||
|
||||
rpi4:
|
||||
variables:
|
||||
ROLE: rpi4
|
||||
<<: *lab_dfn
|
||||
|
||||
rpi0:
|
||||
variables:
|
||||
ROLE: rpi0
|
||||
<<: *lab_dfn
|
||||
|
||||
snow:
|
||||
variables:
|
||||
ROLE: snow
|
||||
<<: *lab_dfn
|
||||
|
||||
pcduino3:
|
||||
variables:
|
||||
ROLE: pcduino3
|
||||
<<: *lab_dfn
|
||||
|
||||
nyan-big:
|
||||
variables:
|
||||
ROLE: nyan-big
|
||||
<<: *lab_dfn
|
||||
|
||||
Reference in New Issue
Block a user