[Buildroot] [PATCHv2 12/12] gitlab-ci: check all defconfigs on every push
Yann E. MORIN
yann.morin.1998 at free.fr
Tue Apr 21 20:23:39 UTC 2020
Romain, All,
On 2020-04-21 19:26 +0200, Romain Naour spake thusly:
> A defconfig check has been introduced by a previous
> patch to test each defconfig before the building them.
> But those builds are done every week or more.
>
> Checking a defconfig can be done on every push to the
> repository since it take few seconds for each.
>
> This would allow to detect as soon as possible a problem
> in a defconfig and in particular Kconfig symbols that
> disapear from the generated .config file.
>
> Although we could have used one job for each defconfig
> check, we need to limit the number of jobs since gitlab
> can limit the number of jobs in active pipelines.
> (500 by default [1]).
So, how many jobs do we get at now?
But OK, I see the point.
> So, add a new job called defconfig_check that test all
> defconfig in one go.
>
> The test curently take 3 minutes 31 seconds to run in
> a gitlab runner.
>
> Tested:
> https://gitlab.com/kubu93/buildroot/-/jobs/520646767
>
> [1] https://gitlab.com/gitlab-org/gitlab/-/blob/4108625e85990fd9d4520365a03bb1bad625ac35/doc/administration/instance_limits.md#number-of-jobs-in-active-pipelines
>
> Signed-off-by: Romain Naour <romain.naour at gmail.com>
> Cc: Yann E. MORIN <yann.morin.1998 at free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> ---
> .gitlab-ci.yml | 13 +++++++++++++
> .gitlab-ci.yml.in | 13 +++++++++++++
> 2 files changed, 26 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 0d06a1b7cf..a060b545de 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -43,6 +43,19 @@ check-package:
> script:
> - make check-package
>
> +defconfig_check:
> + extends: .check_base
> + script:
> + - >
> + failed=0;
success=true
No need for the trailing semi-colon.
> + for defconfig in $(cd configs; ls *_defconfig);
> + do
> + echo "Configure Buildroot for ${defconfig}";
No need for the trailing semi-colon.
> + make ${defconfig} 2>&1 >/dev/null;
No need for the trailing semi-colon.
> + ./support/scripts/check-dotconfig.py .config configs/${defconfig} || failed=1;
[...] || success=false
No need for the trailing semi-colon.
> + done;
No need for the trailing semi-colon.
> + exit ${failed};
${succes}
No need for the trailing semi-colon.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| 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