|
@@ -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,6 +98,24 @@ 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')
|
|
|
aarch64_efi_defconfig: { extends: .defconfig }
|
|
|
acmesystems_aria_g25_128mb_defconfig: { extends: .defconfig }
|
|
|
acmesystems_aria_g25_256mb_defconfig: { extends: .defconfig }
|