aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml.in
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml.in')
-rw-r--r--.gitlab-ci.yml.in64
1 files changed, 48 insertions, 16 deletions
diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in
index ad616437f3..33cb665d98 100644
--- a/.gitlab-ci.yml.in
+++ b/.gitlab-ci.yml.in
@@ -6,7 +6,13 @@
image: buildroot/base:20180318.1724
+.check_base:
+ except:
+ - /^.*-.*_defconfig$/
+ - /^.*-tests\..*$/
+
check-DEVELOPERS:
+ extends: .check_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.
@@ -14,6 +20,7 @@ check-DEVELOPERS:
- "! utils/get-developers | grep -v 'No action specified'"
check-flake8:
+ extends: .check_base
before_script:
# Help flake8 to find the Python files without .py extension.
- find * -type f -name '*.py' > files.txt
@@ -25,19 +32,21 @@ check-flake8:
- wc -l files.processed
check-gitlab-ci.yml:
+ extends: .check_base
script:
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
- make .gitlab-ci.yml
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
check-package:
+ extends: .check_base
script:
- make check-package
-.defconfig_script:
+.defconfig_base:
script:
- - echo 'Configure Buildroot'
- - make ${CI_JOB_NAME}
+ - echo "Configure Buildroot for ${DEFCONFIG_NAME}"
+ - make ${DEFCONFIG_NAME}
- echo 'Build buildroot'
- |
make > >(tee build.log |grep '>>>') 2>&1 || {
@@ -45,15 +54,6 @@ check-package:
tail -200 build.log
exit 1
}
-
-.defconfig:
- extends: .defconfig_script
- # Running the defconfigs for every push is too much, so limit to
- # explicit triggers through the API.
- only:
- - triggers
- - tags
- - /-defconfigs$/
artifacts:
when: always
expire_in: 2 weeks
@@ -65,18 +65,32 @@ check-package:
- output/build/packages-file-list.txt
- output/build/*/.config
-.runtime_test:
- # Running the runtime tests for every push is too much, so limit to
+.defconfig:
+ extends: .defconfig_base
+ # Running the defconfigs for every push is too much, so limit to
# explicit triggers through the API.
only:
- triggers
- tags
- - /-runtime-tests$/
+ - /-defconfigs$/
+ before_script:
+ - DEFCONFIG_NAME=${CI_JOB_NAME}
+
+one-defconfig:
+ extends: .defconfig_base
+ only:
+ - /^.*-.*_defconfig$/
+ before_script:
+ - DEFCONFIG_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g')
+
+.runtime_test_base:
# Keep build directories so the rootfs can be an artifact of the job. The
# runner will clean up those files for us.
# Multiply every emulator timeout by 10 to avoid sporadic failures in
# elastic runners.
- script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
+ script:
+ - echo "Starting runtime test ${TEST_CASE_NAME}"
+ - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME}
artifacts:
when: always
expire_in: 2 weeks
@@ -84,3 +98,21 @@ check-package:
- test-output/*.log
- test-output/*/.config
- test-output/*/images/*
+
+.runtime_test:
+ extends: .runtime_test_base
+ # Running the runtime tests for every push is too much, so limit to
+ # explicit triggers through the API.
+ only:
+ - triggers
+ - tags
+ - /-runtime-tests$/
+ before_script:
+ - TEST_CASE_NAME=${CI_JOB_NAME}
+
+one-runtime_test:
+ extends: .runtime_test_base
+ only:
+ - /^.*-tests\..*$/
+ before_script:
+ - TEST_CASE_NAME=$(echo ${CI_COMMIT_REF_NAME} | sed -e 's,^.*-,,g')