blob: 24a1888c1ef77f2d29f98a1aaeaf78dccaed77cf [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
7image: debian:stable
8
9before_script:
10 - dpkg --add-architecture i386
11 # The container has no package lists, so need to update first
12 - apt-get update -qq
13 - apt-get install -y -qq --no-install-recommends
Arnout Vandecappelle512a0832017-03-10 13:35:58 +010014 build-essential locales bc ca-certificates file rsync gcc-multilib
Arnout Vandecappelle4f863d72017-02-14 00:23:03 +010015 git bzr cvs mercurial subversion libc6:i386 unzip wget cpio
16 # To be able to generate a toolchain with locales, enable one UTF-8 locale
17 - sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen
18 - /usr/sbin/locale-gen
19
20.defconfig_script: &defconfig_script
21 - echo 'Configure Buildroot'
22 - make ${CI_BUILD_NAME}
23 - echo 'Build buildroot'
24 - |
25 make > >(tee build.log |grep '>>>') 2>&1 || {
26 echo 'Failed build last output'
27 tail -200 build.log
28 exit 1
29 }
30
31check-gitlab-ci.yml:
32 script:
33 - mv .gitlab-ci.yml .gitlab-ci.yml.orig
34 - make .gitlab-ci.yml
35 - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
36
Arnout Vandecappelled498aa42017-06-30 18:42:53 +020037check-DEVELOPERS:
Arnout Vandecappelle29ba13e2017-07-01 20:22:27 +020038 # get-developers should print just "No action specified"; if it prints
39 # anything else, it's a parse error.
40 # The initial ! is removed by YAML so we need to quote it.
Arnout Vandecappelled498aa42017-06-30 18:42:53 +020041 script:
Arnout Vandecappelle29ba13e2017-07-01 20:22:27 +020042 - "! utils/get-developers | grep -v 'No action specified'"
Arnout Vandecappelled498aa42017-06-30 18:42:53 +020043
Arnout Vandecappelle4f863d72017-02-14 00:23:03 +010044.defconfig: &defconfig
45 # Running the defconfigs for every push is too much, so limit to
46 # explicit triggers through the API.
47 only:
48 - triggers
49 - tags
50 script: *defconfig_script
51 artifacts:
52 when: always
53 expire_in: 2 weeks
54 paths:
55 - build.log
56 - output/images/
57 - output/build/build-time.log
58 - output/build/packages-file-list.txt
59