-.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
preamble "${template}"
+ gen_basics
gen_defconfigs
gen_tests
}
_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
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
esac
if ${run_tests}; then
- printf '%s: { extends: .runtime_test }\n' "${tests[@]}"
+ printf '%s: { extends: .runtime_test_base }\n' "${tests[@]}"
fi
}