From: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
To: Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>,
Tom Rini <trini@konsulko.com>,
Leo Yu-Chi Liang <ycliang@andestech.com>,
Marek Vasut <marek.vasut+renesas@mailbox.org>
Subject: Re: [PATCH 42/42] CI: Allow running tests on sjg lab
Date: Wed, 12 Jun 2024 10:43:24 +0200 [thread overview]
Message-ID: <ZmlfrPaPExYjt2Gg@toradex.com> (raw)
In-Reply-To: <20240611200156.2245525-43-sjg@chromium.org>
On Tue, Jun 11, 2024 at 02:01:56PM -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
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> .gitlab-ci.yml | 151 +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 151 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 165f765a833..6c362340341 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,153 @@ 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:
> + - when: always
> + tags: [ 'lab' ]
> + script:
> + - if [[ -z "${SJG_LAB}" ]]; then
> + exit 0;
> + fi
Hi Simon,
Perhaps it would be better to move the check to rules:if?
I do know there's a lot of GitLab CI limitation when it comes to
variables, so not completely sure if this will work, but:
rules:
- if: $SJG_LAB == "1"
when: always
- when: manual
My concern is that every of these jobs you added will spin up a docker
image even if you don't want to.
/Andrejs
> + # 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
>
next prev parent reply other threads:[~2024-06-12 12:50 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 20:01 [PATCH 00/42] labgrid: Provide an integration with Labgrid Simon Glass
2024-06-11 20:01 ` [PATCH 01/42] trace: Update test to tolerate different trace-cmd version Simon Glass
2024-06-11 20:01 ` [PATCH 02/42] binman: efi: Correct entry docs Simon Glass
2024-06-11 20:01 ` [PATCH 03/42] binman: Regenerate nxp docs Simon Glass
2024-06-11 20:01 ` [PATCH 04/42] binman: ti: Regenerate entry docs Simon Glass
2024-06-11 20:01 ` [PATCH 05/42] binman: Update the entrydocs header Simon Glass
2024-06-11 20:01 ` [PATCH 06/42] buildman: Make mrproper an argument to _reconfigure() Simon Glass
2024-06-11 20:01 ` [PATCH 07/42] buildman: Make mrproper an argument to _config_and_build() Simon Glass
2024-06-11 20:01 ` [PATCH 08/42] buildman: Make mrproper an argument to run_commit() Simon Glass
2024-06-11 20:01 ` [PATCH 09/42] buildman: Avoid rebuilding when --mrproper is used Simon Glass
2024-06-11 20:01 ` [PATCH 10/42] buildman: Add a flag to force mrproper on failure Simon Glass
2024-06-11 20:01 ` [PATCH 11/42] buildman: Retry the build for current source Simon Glass
2024-06-11 20:01 ` [PATCH 12/42] buildman: Add a way to limit the number of buildmans Simon Glass
2024-06-11 20:01 ` [PATCH 13/42] dm: core: Enhance comments on bind_drivers_pass() Simon Glass
2024-06-11 20:01 ` [PATCH 14/42] initcall: Correct use of relocation offset Simon Glass
2024-06-12 9:04 ` Caleb Connolly
2024-06-11 20:01 ` [PATCH 15/42] am33xx: Provide a function to set up the debug UART Simon Glass
2024-06-11 20:01 ` [PATCH 16/42] sunxi: Mark scp as optional Simon Glass
2024-06-11 20:01 ` [PATCH 17/42] google: Disable TPMv2 on most Chromebooks Simon Glass
2024-06-12 5:50 ` Ilias Apalodimas
2024-06-11 20:01 ` [PATCH 18/42] meson: Correct driver declaration for meson_axg_gpio Simon Glass
2024-06-12 9:38 ` Neil Armstrong
2024-06-11 20:01 ` [PATCH 19/42] test: Allow signaling that U-Boot is ready Simon Glass
2024-06-11 20:01 ` [PATCH 20/42] test: Make bootstd init run only on sandbox Simon Glass
2024-06-11 20:01 ` [PATCH 21/42] test: Use a constant for the test timeout Simon Glass
2024-06-11 20:01 ` [PATCH 22/42] test: Pass stderr to stdout Simon Glass
2024-06-11 20:01 ` [PATCH 23/42] test: Release board after tests complete Simon Glass
2024-06-12 16:02 ` Tom Rini
2024-06-12 20:24 ` Simon Glass
2024-06-11 20:01 ` [PATCH 24/42] log: Allow tests to pass with CONFIG_LOGF_FUNC_PAD set Simon Glass
2024-06-11 20:01 ` [PATCH 25/42] test: Allow connecting to a running board Simon Glass
2024-06-24 23:56 ` Andrejs Cainikovs
2024-06-25 12:31 ` Simon Glass
2024-06-25 14:14 ` Tom Rini
2024-06-25 15:21 ` Andrejs Cainikovs
2024-06-11 20:01 ` [PATCH 26/42] test: Decode exceptions only with sandbox Simon Glass
2024-06-11 20:01 ` [PATCH 27/42] test: Avoid failing skipped tests Simon Glass
2024-06-11 20:01 ` [PATCH 28/42] test: dm: Show failing driver name Simon Glass
2024-06-11 20:01 ` [PATCH 29/42] test: Check help output Simon Glass
2024-06-11 20:01 ` [PATCH 30/42] test: Create a common function to get the config Simon Glass
2024-06-11 20:01 ` [PATCH 31/42] test: Introduce the concept of a role Simon Glass
2024-06-11 20:01 ` [PATCH 32/42] test: Move the receive code into a function Simon Glass
2024-06-11 20:01 ` [PATCH 33/42] test: Separate out the exception handling Simon Glass
2024-06-11 20:01 ` [PATCH 34/42] test: Detect dead connections Simon Glass
2024-06-11 20:01 ` [PATCH 35/42] test: Tidy up remaining exceptions Simon Glass
2024-06-11 20:01 ` [PATCH 36/42] test: Introduce lab mode Simon Glass
2024-06-11 20:01 ` [PATCH 37/42] test: Improve handling of sending commands Simon Glass
2024-06-11 20:01 ` [PATCH 38/42] test: Fix mulptiplex_log typo Simon Glass
2024-06-11 20:01 ` [PATCH 39/42] test: Avoid double echo when starting up Simon Glass
2024-06-11 20:01 ` [PATCH 40/42] test: Try to shut down the lab console gracefully Simon Glass
2024-06-11 20:01 ` [PATCH 41/42] test: Add a section for closing the connection Simon Glass
2024-06-11 20:01 ` [PATCH 42/42] CI: Allow running tests on sjg lab Simon Glass
2024-06-12 8:43 ` Andrejs Cainikovs [this message]
2024-06-11 20:09 ` [PATCH 00/42] labgrid: Provide an integration with Labgrid Simon Glass
2024-06-12 6:08 ` Ilias Apalodimas
2024-06-12 16:03 ` Tom Rini
2024-06-12 20:24 ` Simon Glass
2024-06-12 20:24 ` Simon Glass
2024-06-26 9:43 ` (subset) " Neil Armstrong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZmlfrPaPExYjt2Gg@toradex.com \
--to=andrejs.cainikovs@toradex.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.