kumquat-buildroot/support/scripts
Yann E. MORIN cf8364f202 support/scripts/generate-gitlab-ci-yml: rework generation of pipelines
Currently, we handle three kinds of tests: basic, defconfig, and
runtime, and we treat them totally independently ones from the others.

Except for the basic tests that are ignored when defconfig or runtime
tests are explicitly requested.

The basic tests are also run systematically on all our reference
branches: master, next (when it exists), and the maintenance branches:
YYYY.MM.x.

Furthermore, we can see that the conditions to run each set of tests
are very similar, with only the explicit queries differing by name.

Rework the script so that the conditions are expressed only once, and
each set of tests is decided for each condition. This makes it easier
to decide what tests should run under what conditions.

Using GitLab-CI's schedules, with a variable expressing the actual test
to run, would seem the obvious choice to trigger the pipelines. However,
a schedule is configured for a specific branch, which means we would
need one schedule per branch we want to build per test cases we want to
run, *and* that we update those schedules when we add/remove branches
(e.g. when we open/close 'next', or a maintenance branch). This is not
very nice, as it requires some manual tweaking and twiddling on the web
UI.

Instead, we resort to using triggers, that will be triggered from a
cronjob on some server. Using a cronjiob allows us to more easily manage
the branches we want to test and test cases we want to run, to more
easily spread the load over the week, etc...

Note: triggering a pipeline can be done with a simple curl invocation:

    $ curl -X POST \
        -F "token=${YOUR_TOKEN}" \
        -F "ref=${BRANCH_TO_TEST}" \
        -F "variables[BR_SCHEDULE_JOBS]=${TEST_TO_RUN}" \
        "https://gitlab.com/api/v4/projects/${YOUR_PROJECT_ID}/trigger/pipeline"

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-10-06 15:38:48 +02:00
..
apply-patches.sh
boot-qemu-image.py support/scripts/boot-qemu-image.py: wait before using expect 2020-04-22 22:04:47 +02:00
br2-external core/br2-external: report better error messages 2020-06-15 11:01:54 +02:00
brpkgutil.py
check-bin-arch package/guile: bump to version 3.0.4 2020-08-08 18:59:19 +02:00
check-dotconfig.py support/scripts: add check-dotconfig.py 2020-07-27 18:13:19 +02:00
check-host-rpath core: implement per-package SDK and target 2019-11-29 14:24:05 +01:00
check-kernel-headers.sh support/scripts/check-kernel-headers.sh: do not print error for loose checks 2020-03-21 15:47:03 +01:00
check-merged-usr.sh
cve-checker support/scripts: fix flake8 errors in cve-checker and pkg-stats 2020-09-03 20:48:12 +02:00
cve.py support/scripts: make CVE class independent of the Packaage class 2020-08-28 11:00:40 +02:00
eclipse-register-toolchain
expunge-gconv-modules
fix-configure-powerpc64.sh
fix-rpath package/pkg-generic.mk, support/scripts/fix-rpath: fix per-package regexp 2019-12-12 08:27:54 +01:00
gen-bootlin-toolchains support/scripts/gen-bootlin-toolchains: be less verbose 2020-08-29 16:10:02 +02:00
generate-gitlab-ci-yml support/scripts/generate-gitlab-ci-yml: rework generation of pipelines 2020-10-06 15:38:48 +02:00
genimage.sh support/scripts/genimage.sh: pass an empty rootpath to genimage 2019-10-27 12:19:32 +01:00
graph-build-time
graph-depends support/scripts/graph-depends: cut on host-ccache 2019-10-02 21:07:14 +02:00
hardlink-or-copy
mkmakefile
mkusers
pkg-stats support/scripts: fix flake8 errors in cve-checker and pkg-stats 2020-09-03 20:48:12 +02:00
pycompile.py support/scripts/pycompile: add --verbose option 2020-09-13 10:28:36 +02:00
setlocalversion support/scripts/setlocalversion: fix/improve Mercurial output 2020-10-03 09:11:03 +02:00
size-stats