# It needs to be regenerated every time a defconfig is added, using
# "make .gitlab-ci.yml".
-image: debian:stable
-
-before_script:
- - dpkg --add-architecture i386
- # The container has no package lists, so need to update first
- - apt-get update -qq
- - apt-get install -y -qq --no-install-recommends
- build-essential locales bc ca-certificates file rsync gcc-multilib
- git bzr cvs mercurial subversion libc6:i386 unzip wget cpio
- # To be able to generate a toolchain with locales, enable one UTF-8 locale
- - sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen
- - /usr/sbin/locale-gen
+image: buildroot/base:20180318.1724
.defconfig_script: &defconfig_script
- echo 'Configure Buildroot'
- - make ${CI_BUILD_NAME}
+ - make ${CI_JOB_NAME}
- echo 'Build buildroot'
- |
make > >(tee build.log |grep '>>>') 2>&1 || {
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
check-DEVELOPERS:
+ # 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'
+ - "! utils/get-developers | grep -v 'No action specified'"
+
+check-flake8:
+ before_script:
+ # Help flake8 to find the Python files without .py extension.
+ - find * -type f -name '*.py' > files.txt
+ - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
+ - sort -u files.txt | tee files.processed
+ script:
+ - python -m flake8 --statistics --count $(cat files.processed)
+ after_script:
+ - wc -l files.processed
+
+check-package:
+ script:
+ - find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \)
+ -exec ./utils/check-package {} +
.defconfig: &defconfig
# Running the defconfigs for every push is too much, so limit to
- output/build/build-time.log
- output/build/packages-file-list.txt
+.runtime_test: &runtime_test
+ # 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}
+ artifacts:
+ when: always
+ expire_in: 2 weeks
+ paths:
+ - test-output/*.log
+ - test-output/*/.config
+ - test-output/*/images/*