[PATCH v3 19/19] CI: Allow running tests on sjg lab

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Mon Jun 24 16:56:02 CEST 2024


Hi Simon

On Mon, Jun 24, 2024 at 2:52 PM Andrejs Cainikovs
<andrejs.cainikovs at toradex.com> wrote:
>
> On Sun, Jun 23, 2024 at 02:32:13PM -0600, Simon Glass wrote:
> > 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 at chromium.org>
>
> Reviewed-by: Andrejs Cainikovs <andrejs.cainikovs at toradex.com>
>

Do you have documentation on how to set it? We would like to do in our
company too

Michael

> > ---
> >
> > Changes in v3:
> > - Split out most patches into two new series and update cover letter
> >
> > Changes in v2:
> > - Avoid running a docker image for skipped lab tests
> >
> >  .gitlab-ci.yml | 153 +++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 153 insertions(+)
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 165f765a833..75c18a0f2f7 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -17,6 +17,7 @@ stages:
> >    - testsuites
> >    - test.py
> >    - world build
> > +  - sjg-lab
> >
> >  .buildman_and_testpy_template: &buildman_and_testpy_dfn
> >    stage: test.py
> > @@ -482,3 +483,155 @@ 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 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
> > --
> > 2.34.1
> >
>


-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com


More information about the U-Boot mailing list