blob: 38e24c8d01607879bbe0fc887b202e55f050efe2 [file] [log] [blame]
Arnout Vandecappelle4f863d72017-02-14 00:23:03 +01001# Configuration for Gitlab-CI.
2# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
3# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
4# It needs to be regenerated every time a defconfig is added, using
5# "make .gitlab-ci.yml".
6
Ricardo Martincoski12b08c22018-03-30 20:10:55 -03007image: buildroot/base:20180318.1724
Arnout Vandecappelle4f863d72017-02-14 00:23:03 +01008
9.defconfig_script: &defconfig_script
10 - echo 'Configure Buildroot'
Thomas Preston3e869e02017-10-23 15:26:14 +010011 - make ${CI_JOB_NAME}
Arnout Vandecappelle4f863d72017-02-14 00:23:03 +010012 - echo 'Build buildroot'
13 - |
14 make > >(tee build.log |grep '>>>') 2>&1 || {
15 echo 'Failed build last output'
16 tail -200 build.log
17 exit 1
18 }
19
20check-gitlab-ci.yml:
21 script:
22 - mv .gitlab-ci.yml .gitlab-ci.yml.orig
23 - make .gitlab-ci.yml
24 - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
25
Arnout Vandecappelled498aa42017-06-30 18:42:53 +020026check-DEVELOPERS:
Arnout Vandecappelle29ba13e2017-07-01 20:22:27 +020027 # get-developers should print just "No action specified"; if it prints
28 # anything else, it's a parse error.
29 # The initial ! is removed by YAML so we need to quote it.
Arnout Vandecappelled498aa42017-06-30 18:42:53 +020030 script:
Arnout Vandecappelle29ba13e2017-07-01 20:22:27 +020031 - "! utils/get-developers | grep -v 'No action specified'"
Arnout Vandecappelled498aa42017-06-30 18:42:53 +020032
Ricardo Martincoski1960eda2018-03-13 00:09:44 -030033check-flake8:
34 before_script:
35 # Help flake8 to find the Python files without .py extension.
36 - find * -type f -name '*.py' > files.txt
37 - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
38 - sort -u files.txt | tee files.processed
39 script:
40 - python -m flake8 --statistics --count $(cat files.processed)
41 after_script:
42 - wc -l files.processed
43
Yann E. MORINb58059a2017-11-30 00:08:45 +010044check-package:
45 script:
Thomas Petazzoni12902412018-08-11 12:44:23 +020046 - make check-package
Yann E. MORINb58059a2017-11-30 00:08:45 +010047
Arnout Vandecappelle4f863d72017-02-14 00:23:03 +010048.defconfig: &defconfig
49 # Running the defconfigs for every push is too much, so limit to
50 # explicit triggers through the API.
51 only:
52 - triggers
53 - tags
54 script: *defconfig_script
55 artifacts:
56 when: always
57 expire_in: 2 weeks
58 paths:
59 - build.log
60 - output/images/
61 - output/build/build-time.log
62 - output/build/packages-file-list.txt
63
Thomas Petazzonib287ea62017-07-02 18:13:22 +020064.runtime_test: &runtime_test
Ricardo Martincoskiaf6b5832017-07-30 01:49:43 -030065 # Keep build directories so the rootfs can be an artifact of the job. The
66 # runner will clean up those files for us.
Ricardo Martincoski3cc7bd22017-08-04 23:05:20 -030067 # Multiply every emulator timeout by 10 to avoid sporadic failures in
68 # elastic runners.
Thomas Preston3e869e02017-10-23 15:26:14 +010069 script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
Thomas Petazzonib287ea62017-07-02 18:13:22 +020070 artifacts:
71 when: always
72 expire_in: 2 weeks
73 paths:
74 - test-output/*.log
Yann E. MORIN2438d902017-12-20 15:19:33 +010075 - test-output/*/.config
Ricardo Martincoskiaf6b5832017-07-30 01:49:43 -030076 - test-output/*/images/*