gitlab-ci: handle the basic tests in script

Note that those tests were so far ignored only when requesting a single
defconfig build, or a single runtime test build; everything else
was trigerring thoses tests.

However, it feels more natural that they are also ignored when all
defconfigs build. or all runtime tests, are explictly requested.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Yann E. MORIN 2020-09-06 22:12:27 +02:00
parent 0b7873bc82
commit 6bc09ae38f
2 changed files with 22 additions and 14 deletions

View File

@ -1,24 +1,15 @@
.check_base:
rules:
- if: '$CI_COMMIT_REF_NAME =~ /^.*-.*_defconfig$/ || $CI_COMMIT_REF_NAME =~ /^.*-tests\..*$/'
when: never
- when: always
check-DEVELOPERS:
extends: .check_base
.check-DEVELOPERS_base:
# get-developers should print just "No action specified"; if it prints
# anything else, it's a parse error.
# The initial ! is removed by YAML so we need to quote it.
script:
- "! utils/get-developers | grep -v 'No action specified'"
check-flake8:
extends: .check_base
.check-flake8_base:
script:
- make check-flake8
check-package:
extends: .check_base
.check-package_base:
script:
- make check-package

View File

@ -7,6 +7,7 @@ main() {
preamble "${template}"
gen_basics
gen_defconfigs
gen_tests
}
@ -23,6 +24,22 @@ preamble() {
_EOF_
}
gen_basics() {
local tst
# Skip basic tests when explicitly building defconfigs or runtime tests
case "${CI_COMMIT_REF_NAME}" in
(*-defconfigs) return;;
(*-*_defconfig) return;;
(*-runtime-tests) return;;
(*-tests.*) return;;
esac
for tst in DEVELOPERS flake8 package; do
printf 'check-%s: { extends: .check-%s_base }\n' "${tst}" "${tst}"
done
}
gen_defconfigs() {
local -a defconfigs
local build_defconfigs cfg
@ -51,7 +68,7 @@ gen_defconfigs() {
for cfg in "${defconfigs[@]}"; do
if ${build_defconfigs}; then
printf '%s: { extends: .defconfig }\n' "${cfg}"
printf '%s: { extends: .defconfig_base }\n' "${cfg}"
else
printf '%s_check: { extends: .defconfig_check }\n' "${cfg}"
fi
@ -88,7 +105,7 @@ gen_tests() {
esac
if ${run_tests}; then
printf '%s: { extends: .runtime_test }\n' "${tests[@]}"
printf '%s: { extends: .runtime_test_base }\n' "${tests[@]}"
fi
}