]>
Commit | Line | Data |
---|---|---|
4f863d77 AV |
1 | # 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 | ||
12b08c2b | 7 | image: buildroot/base:20180318.1724 |
4f863d77 AV |
8 | |
9 | .defconfig_script: &defconfig_script | |
10 | - echo 'Configure Buildroot' | |
3e869e04 | 11 | - make ${CI_JOB_NAME} |
4f863d77 AV |
12 | - 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 | ||
20 | check-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 | ||
d498aa4a | 26 | check-DEVELOPERS: |
29ba13e5 AV |
27 | # 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. | |
d498aa4a | 30 | script: |
29ba13e5 | 31 | - "! utils/get-developers | grep -v 'No action specified'" |
d498aa4a | 32 | |
1960eda2 RM |
33 | check-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 | ||
b58059ad YM |
44 | check-package: |
45 | script: | |
b757f9ac RM |
46 | - find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) |
47 | -exec ./utils/check-package {} + | |
b58059ad | 48 | |
4f863d77 AV |
49 | .defconfig: &defconfig |
50 | # Running the defconfigs for every push is too much, so limit to | |
51 | # explicit triggers through the API. | |
52 | only: | |
53 | - triggers | |
54 | - tags | |
55 | script: *defconfig_script | |
56 | artifacts: | |
57 | when: always | |
58 | expire_in: 2 weeks | |
59 | paths: | |
60 | - build.log | |
61 | - output/images/ | |
62 | - output/build/build-time.log | |
63 | - output/build/packages-file-list.txt | |
64 | ||
b287ea6f | 65 | .runtime_test: &runtime_test |
af6b5830 RM |
66 | # Keep build directories so the rootfs can be an artifact of the job. The |
67 | # runner will clean up those files for us. | |
3cc7bd2d RM |
68 | # Multiply every emulator timeout by 10 to avoid sporadic failures in |
69 | # elastic runners. | |
3e869e04 | 70 | script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME} |
b287ea6f TP |
71 | artifacts: |
72 | when: always | |
73 | expire_in: 2 weeks | |
74 | paths: | |
75 | - test-output/*.log | |
2438d905 | 76 | - test-output/*/.config |
af6b5830 | 77 | - test-output/*/images/* |