[Buildroot] [PATCH 00/10] gitlab-ci: handle all conditional jobs in the generating script (branch yem/gitlab-ci-cond)
Romain Naour
romain.naour at gmail.com
Tue Sep 8 20:47:18 UTC 2020
Hello Yann,
Le 06/09/2020 à 22:12, Yann E. MORIN a écrit :
> Hello All!
>
> The grammar in gitlab-CI yaml, to specify conditions under which jobs
> should be spawned or not, is not very nice to handle.
>
> Take adavantage of the fact that we are now generating the pipeline
> description from a script, to decide in that script exactly what jobs
> should be spawned.
>
> This is both more usual, to use a classic scripting language (shell for
> now, but could be whatever in the future), and more versatile (we can
> more easilt express conditions than in the limited gitlab-CI YAML).
On one hand, it's a pity to workaround the gitlab-ci Yaml and not take the
opportunity to practice this specific language...
But on the other hand the language is not still stable over the time (see the
only/except keyword deprecation we used until recently).
Also the generate-gitlab-ci-yml after this series doesn't seem too complex :)
Maybe we can complete the manual about defconfigs testing in gitlab.
runtime-tests in gitlab is already described in the manual.
Best regards,
Romain
>
> Here are examples of resulting pipelines, with child pipelines created
> under the various expected conditions:
>
> Arbitrary branch, only run the basic tests:
> git push gitlab
> https://gitlab.com/ymorin/buildroot/-/pipelines/186557459
>
> Maintenance branch, run the basic checks, and check the defconfigs:
> git push gitlab HEAD:toto.no.x
> https://gitlab.com/ymorin/buildroot/-/pipelines/186556538
>
> Tag, run all the tests:
> git tag FOO-YEM
> git push gitlab FOO-YEM
> https://gitlab.com/ymorin/buildroot/-/pipelines/186559009
>
> Build all defconfigs:
> git push gitlab HEAD:FOO-defconfigs
> https://gitlab.com/ymorin/buildroot/-/pipelines/186551495
>
> Build one defconfig:
> git push gitlab HEAD:FOO-warp7_defconfig
> https://gitlab.com/ymorin/buildroot/-/pipelines/186530844
>
> Build all runtime tests:
> git push gitlab HEAD:FOO-runtime-tests
> https://gitlab.com/ymorin/buildroot/-/pipelines/186554657
>
> Build one runtime test:
> git push gitlab HEAD:FOO-tests.package.test_openssh
> https://gitlab.com/ymorin/buildroot/-/pipelines/186530918
>
> Notes:
> - 'gitlab' is my git remote pointing to gitlab,
> - some pipelines were canceled to not exhaust my job limit
> - there were too many jobs in the tag, so it exceed the limits of my
> free account...
>
>
> Regards,
> Yann E. MORIN.
>
>
> The following changes since commit 97d431c181268716b38cd5a63eb0e8b78b003b3b
>
> package/mrp: new package (2020-09-06 16:38:02 +0200)
>
>
> are available in the git repository at:
>
> https://git.busybox.net/~ymorin/git/buildroot
>
> for you to fetch changes up to c1ea91abce5dbf7068615b247ff77dd7f8ec8fbb
>
> gitlab-ci: only check defconfigs for known branches (2020-09-06 21:59:52 +0200)
>
>
> ----------------------------------------------------------------
> Yann E. MORIN (10):
> gitlab-ci: introduce main() in generating script
> gitlab-ci: share the image version with the child
> gitlab-ci: handle the defconfig build conditions in script
> gitlab-ci: defconfig_check is included in defconfig build
> gitlab-ci: handle the run-time tests conditions in script
> gitlab-ci: handle single defconfig in script
> gitlab-ci: handle single runtime test in script
> gitlab-ci: handle the basic tests in script
> gitlab-ci: move before-script before script
> gitlab-ci: only check defconfigs for known branches
>
> support/misc/gitlab-ci.yml.in | 70 +++----------------
> support/scripts/generate-gitlab-ci-yml | 118 ++++++++++++++++++++++++++++++---
> 2 files changed, 117 insertions(+), 71 deletions(-)
>
More information about the buildroot
mailing list