U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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
> 


  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox