Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/10] gitlab-ci: handle all conditional jobs in the generating script (branch yem/gitlab-ci-cond)
@ 2020-09-06 20:12 Yann E. MORIN
  2020-09-06 20:12 ` [Buildroot] [PATCH 01/10] gitlab-ci: introduce main() in generating script Yann E. MORIN
                   ` (10 more replies)
  0 siblings, 11 replies; 24+ messages in thread
From: Yann E. MORIN @ 2020-09-06 20:12 UTC (permalink / raw)
  To: buildroot

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).

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(-)

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-09-09  7:40 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-06 20:12 [Buildroot] [PATCH 00/10] gitlab-ci: handle all conditional jobs in the generating script (branch yem/gitlab-ci-cond) Yann E. MORIN
2020-09-06 20:12 ` [Buildroot] [PATCH 01/10] gitlab-ci: introduce main() in generating script Yann E. MORIN
2020-09-08 20:49   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 02/10] gitlab-ci: share the image version with the child Yann E. MORIN
2020-09-08 20:57   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 03/10] gitlab-ci: handle the defconfig build conditions in script Yann E. MORIN
2020-09-08 21:08   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 04/10] gitlab-ci: defconfig_check is included in defconfig build Yann E. MORIN
2020-09-08 21:08   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 05/10] gitlab-ci: handle the run-time tests conditions in script Yann E. MORIN
2020-09-08 21:14   ` Romain Naour
2020-09-09  7:40     ` Yann E. MORIN
2020-09-06 20:12 ` [Buildroot] [PATCH 06/10] gitlab-ci: handle single defconfig " Yann E. MORIN
2020-09-08 21:19   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 07/10] gitlab-ci: handle single runtime test " Yann E. MORIN
2020-09-08 21:23   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 08/10] gitlab-ci: handle the basic tests " Yann E. MORIN
2020-09-08 21:39   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 09/10] gitlab-ci: move before-script before script Yann E. MORIN
2020-09-08 21:40   ` Romain Naour
2020-09-06 20:12 ` [Buildroot] [PATCH 10/10] gitlab-ci: only check defconfigs for known branches Yann E. MORIN
2020-09-08 22:02   ` Romain Naour
2020-09-08 20:47 ` [Buildroot] [PATCH 00/10] gitlab-ci: handle all conditional jobs in the generating script (branch yem/gitlab-ci-cond) Romain Naour
2020-09-09  7:39   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox