Arnout Vandecappelle | 4f863d7 | 2017-02-14 00:23:03 +0100 | [diff] [blame] | 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 | |
Arnout Vandecappelle | d2a151c | 2017-07-02 18:24:59 +0200 | [diff] [blame] | 7 | image: buildroot/base |
Arnout Vandecappelle | 4f863d7 | 2017-02-14 00:23:03 +0100 | [diff] [blame] | 8 | |
| 9 | .defconfig_script: &defconfig_script |
| 10 | - echo 'Configure Buildroot' |
Thomas Preston | 3e869e0 | 2017-10-23 15:26:14 +0100 | [diff] [blame^] | 11 | - make ${CI_JOB_NAME} |
Arnout Vandecappelle | 4f863d7 | 2017-02-14 00:23:03 +0100 | [diff] [blame] | 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 | |
Arnout Vandecappelle | d498aa4 | 2017-06-30 18:42:53 +0200 | [diff] [blame] | 26 | check-DEVELOPERS: |
Arnout Vandecappelle | 29ba13e | 2017-07-01 20:22:27 +0200 | [diff] [blame] | 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. |
Arnout Vandecappelle | d498aa4 | 2017-06-30 18:42:53 +0200 | [diff] [blame] | 30 | script: |
Arnout Vandecappelle | 29ba13e | 2017-07-01 20:22:27 +0200 | [diff] [blame] | 31 | - "! utils/get-developers | grep -v 'No action specified'" |
Arnout Vandecappelle | d498aa4 | 2017-06-30 18:42:53 +0200 | [diff] [blame] | 32 | |
Arnout Vandecappelle | 4f863d7 | 2017-02-14 00:23:03 +0100 | [diff] [blame] | 33 | .defconfig: &defconfig |
| 34 | # Running the defconfigs for every push is too much, so limit to |
| 35 | # explicit triggers through the API. |
| 36 | only: |
| 37 | - triggers |
| 38 | - tags |
| 39 | script: *defconfig_script |
| 40 | artifacts: |
| 41 | when: always |
| 42 | expire_in: 2 weeks |
| 43 | paths: |
| 44 | - build.log |
| 45 | - output/images/ |
| 46 | - output/build/build-time.log |
| 47 | - output/build/packages-file-list.txt |
| 48 | |
Thomas Petazzoni | b287ea6 | 2017-07-02 18:13:22 +0200 | [diff] [blame] | 49 | .runtime_test: &runtime_test |
Ricardo Martincoski | af6b583 | 2017-07-30 01:49:43 -0300 | [diff] [blame] | 50 | # Keep build directories so the rootfs can be an artifact of the job. The |
| 51 | # runner will clean up those files for us. |
Ricardo Martincoski | 3cc7bd2 | 2017-08-04 23:05:20 -0300 | [diff] [blame] | 52 | # Multiply every emulator timeout by 10 to avoid sporadic failures in |
| 53 | # elastic runners. |
Thomas Preston | 3e869e0 | 2017-10-23 15:26:14 +0100 | [diff] [blame^] | 54 | script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME} |
Thomas Petazzoni | b287ea6 | 2017-07-02 18:13:22 +0200 | [diff] [blame] | 55 | artifacts: |
| 56 | when: always |
| 57 | expire_in: 2 weeks |
| 58 | paths: |
| 59 | - test-output/*.log |
Ricardo Martincoski | af6b583 | 2017-07-30 01:49:43 -0300 | [diff] [blame] | 60 | - test-output/*/images/* |