[Buildroot] [PATCH v2 RFC] support/scripts: don't build board defconfigs with Gitlab's pipelines trigged on tag

Yann E. MORIN yann.morin.1998 at free.fr
Thu Nov 11 08:25:48 UTC 2021


Romain, All,

On 2021-11-09 23:03 +0100, Romain Naour spake thusly:
> Currently when a tag is added to the Buildroot git tree, the gitlab-ci
> create a pipeline with several hundred of jobs (~750) to build all
> defconfigs and execute the Buildroot testsuite.
> 
> However, there is only a limited number of gitlab-ci runner (9 runners)
> and some jobs reach the timeout limit (24h) while waiting for a runner
> [1]. Indeed, the Buildroot project doesn't use the Gitlab's shared
> runners.
> 
> In addition to the pipeline created when a new tag is added to the
> git repository, two pipelines are created each weeks to execute the
> Buildroot testsuite (on monday [2]) and build all defconfigs (on
> Thursday [3]).
> 
> At some point there are too many jobs waiting in gitlab due board
> defconfigs builds. Indded a board defconfig requires a lot of time
> (~30min) compared to other jobs in order to build a toolchain and a
> kernel linux along with a basic rootfs. There is currently 262
> defconfigs.
> 
> This is even worse when several pipelines are trigged at the same
> time (new git tag and scheduled pipeline trigger).
> 
> In order to reduce the number of long jobs, don't build board
> defconfigs with pipelines trigged on tag, keeping only the runtime
> tests and the Qemu's defconfigs.
> 
> [1] https://gitlab.com/buildroot.org/buildroot/-/jobs/1758966541
> [2] https://gitlab.com/buildroot.org/buildroot/-/pipelines/404035190
> [3] https://gitlab.com/buildroot.org/buildroot/-/pipelines/401685550
> 
> Signed-off-by: Romain Naour <romain.naour at gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> Cc: Yann E. MORIN <yann.morin.1998 at free.fr>
> Cc: Arnout Vandecappelle <arnout at mind.be>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> v2: improve commit log
> 
> I would like to keep Qemu runtime testing when a tag is added because
> it test the toolchain provided by default by Buildroot on several
> architectures.
> ---
>  support/scripts/generate-gitlab-ci-yml | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/support/scripts/generate-gitlab-ci-yml b/support/scripts/generate-gitlab-ci-yml
> index 7d09279bbd..232785f2e3 100755
> --- a/support/scripts/generate-gitlab-ci-yml
> +++ b/support/scripts/generate-gitlab-ci-yml
> @@ -36,6 +36,9 @@ gen_tests() {
>               )
>  
>      if [ -n "${CI_COMMIT_TAG}" ]; then
> +        # When a tag is added to the Buildroot git tree, we want
> +        # to run the runtime tests and only test Qemu defconfigs.
> +        defconfigs=( $(cd configs; LC_ALL=C ls -1 qemu_*_defconfig) )
>          do_basics=true
>          do_defconfigs=base
>          do_runtime=true
> -- 
> 2.31.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list