aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml190
-rw-r--r--.gitlab-ci.yml.in52
-rw-r--r--Makefile3
3 files changed, 245 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000..4cfe9df524
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,190 @@
+# Configuration for Gitlab-CI.
+# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
+# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
+# 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
+ 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
+
+.defconfig_script: &defconfig_script
+ - echo 'Configure Buildroot'
+ - make ${CI_BUILD_NAME}
+ - echo 'Build buildroot'
+ - |
+ make > >(tee build.log |grep '>>>') 2>&1 || {
+ echo 'Failed build last output'
+ tail -200 build.log
+ exit 1
+ }
+
+check-gitlab-ci.yml:
+ script:
+ - mv .gitlab-ci.yml .gitlab-ci.yml.orig
+ - make .gitlab-ci.yml
+ - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
+
+.defconfig: &defconfig
+ # Running the defconfigs for every push is too much, so limit to
+ # explicit triggers through the API.
+ only:
+ - triggers
+ - tags
+ script: *defconfig_script
+ artifacts:
+ when: always
+ expire_in: 2 weeks
+ paths:
+ - build.log
+ - output/images/
+ - output/build/build-time.log
+ - output/build/packages-file-list.txt
+
+acmesystems_aria_g25_128mb_defconfig: *defconfig
+acmesystems_aria_g25_256mb_defconfig: *defconfig
+acmesystems_arietta_g25_128mb_defconfig: *defconfig
+acmesystems_arietta_g25_256mb_defconfig: *defconfig
+arcturus_ucp1020_defconfig: *defconfig
+arm_foundationv8_defconfig: *defconfig
+arm_juno_defconfig: *defconfig
+armadeus_apf27_defconfig: *defconfig
+armadeus_apf28_defconfig: *defconfig
+armadeus_apf51_defconfig: *defconfig
+armadeus_apf9328_defconfig: *defconfig
+at91sam9260eknf_defconfig: *defconfig
+at91sam9g20dfc_defconfig: *defconfig
+at91sam9g45m10ek_defconfig: *defconfig
+at91sam9rlek_defconfig: *defconfig
+at91sam9x5ek_defconfig: *defconfig
+atmel_sama5d2_xplained_mmc_defconfig: *defconfig
+atmel_sama5d2_xplained_mmc_dev_defconfig: *defconfig
+atmel_sama5d3_xplained_defconfig: *defconfig
+atmel_sama5d3_xplained_dev_defconfig: *defconfig
+atmel_sama5d3_xplained_mmc_defconfig: *defconfig
+atmel_sama5d3_xplained_mmc_dev_defconfig: *defconfig
+atmel_sama5d3xek_defconfig: *defconfig
+atmel_sama5d4_xplained_defconfig: *defconfig
+atmel_sama5d4_xplained_dev_defconfig: *defconfig
+atmel_sama5d4_xplained_mmc_defconfig: *defconfig
+atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig
+beagleboardx15_defconfig: *defconfig
+beaglebone_defconfig: *defconfig
+beaglebone_qt5_defconfig: *defconfig
+chromebook_snow_defconfig: *defconfig
+ci20_defconfig: *defconfig
+cubieboard2_defconfig: *defconfig
+firefly_rk3288_defconfig: *defconfig
+firefly_rk3288_demo_defconfig: *defconfig
+freescale_imx28evk_defconfig: *defconfig
+freescale_imx31_3stack_defconfig: *defconfig
+freescale_imx6dlsabreauto_defconfig: *defconfig
+freescale_imx6dlsabresd_defconfig: *defconfig
+freescale_imx6qsabreauto_defconfig: *defconfig
+freescale_imx6qsabresd_defconfig: *defconfig
+freescale_imx6sololiteevk_defconfig: *defconfig
+freescale_imx6sxsabresd_defconfig: *defconfig
+freescale_imx6ulevk_defconfig: *defconfig
+freescale_imx7dsabresd_defconfig: *defconfig
+freescale_mpc8315erdb_defconfig: *defconfig
+freescale_p1010rdb_pa_defconfig: *defconfig
+galileo_defconfig: *defconfig
+gdb_bfin_bf512_defconfig: *defconfig
+grinn_chiliboard_defconfig: *defconfig
+grinn_liteboard_defconfig: *defconfig
+imx23evk_defconfig: *defconfig
+imx6q-sabresd_defconfig: *defconfig
+imx6ulpico_defconfig: *defconfig
+lego_ev3_defconfig: *defconfig
+linksprite_pcduino_defconfig: *defconfig
+minnowboard_max-graphical_defconfig: *defconfig
+minnowboard_max_defconfig: *defconfig
+mx25pdk_defconfig: *defconfig
+mx51evk_defconfig: *defconfig
+mx53loco_defconfig: *defconfig
+mx6cubox_defconfig: *defconfig
+mx6sx_udoo_neo_defconfig: *defconfig
+mx6udoo_defconfig: *defconfig
+nanopi_neo_defconfig: *defconfig
+nexbox_a95x_defconfig: *defconfig
+nitrogen6sx_defconfig: *defconfig
+nitrogen6x_defconfig: *defconfig
+nitrogen7_defconfig: *defconfig
+odroidc2_defconfig: *defconfig
+olimex_a20_olinuxino_lime2_defconfig: *defconfig
+olimex_a20_olinuxino_lime_defconfig: *defconfig
+olimex_a20_olinuxino_lime_mali_defconfig: *defconfig
+olimex_a20_olinuxino_micro_defconfig: *defconfig
+olimex_imx233_olinuxino_defconfig: *defconfig
+openblocks_a6_defconfig: *defconfig
+orangepi_one_defconfig: *defconfig
+orangepi_pc_defconfig: *defconfig
+pandaboard_defconfig: *defconfig
+pc_x86_64_bios_defconfig: *defconfig
+pc_x86_64_efi_defconfig: *defconfig
+qemu_aarch64_virt_defconfig: *defconfig
+qemu_arm_versatile_defconfig: *defconfig
+qemu_arm_versatile_nommu_defconfig: *defconfig
+qemu_arm_vexpress_defconfig: *defconfig
+qemu_m68k_mcf5208_defconfig: *defconfig
+qemu_m68k_q800_defconfig: *defconfig
+qemu_microblazebe_mmu_defconfig: *defconfig
+qemu_microblazeel_mmu_defconfig: *defconfig
+qemu_mips32r2_malta_defconfig: *defconfig
+qemu_mips32r2el_malta_defconfig: *defconfig
+qemu_mips32r6_malta_defconfig: *defconfig
+qemu_mips32r6el_malta_defconfig: *defconfig
+qemu_mips64_malta_defconfig: *defconfig
+qemu_mips64el_malta_defconfig: *defconfig
+qemu_mips64r6_malta_defconfig: *defconfig
+qemu_mips64r6el_malta_defconfig: *defconfig
+qemu_nios2_10m50_defconfig: *defconfig
+qemu_or1k_defconfig: *defconfig
+qemu_ppc64_pseries_defconfig: *defconfig
+qemu_ppc_g3beige_defconfig: *defconfig
+qemu_ppc_mpc8544ds_defconfig: *defconfig
+qemu_ppc_virtex_ml507_defconfig: *defconfig
+qemu_sh4_r2d_defconfig: *defconfig
+qemu_sh4eb_r2d_defconfig: *defconfig
+qemu_sparc64_sun4u_defconfig: *defconfig
+qemu_sparc_ss10_defconfig: *defconfig
+qemu_x86_64_defconfig: *defconfig
+qemu_x86_defconfig: *defconfig
+qemu_xtensa_lx60_defconfig: *defconfig
+qemu_xtensa_lx60_nommu_defconfig: *defconfig
+raspberrypi0_defconfig: *defconfig
+raspberrypi2_defconfig: *defconfig
+raspberrypi3_defconfig: *defconfig
+raspberrypi_defconfig: *defconfig
+riotboard_defconfig: *defconfig
+roseapplepi_defconfig: *defconfig
+s6lx9_microboard_defconfig: *defconfig
+sheevaplug_defconfig: *defconfig
+snps_aarch64_vdk_defconfig: *defconfig
+snps_archs38_vdk_defconfig: *defconfig
+snps_archs38_zebu_defconfig: *defconfig
+snps_axs101_defconfig: *defconfig
+snps_axs103_defconfig: *defconfig
+stm32f429_disco_defconfig: *defconfig
+stm32f469_disco_defconfig: *defconfig
+telit_evk_pro3_defconfig: *defconfig
+toradex_apalis_imx6_defconfig: *defconfig
+ts4800_defconfig: *defconfig
+ts4900_defconfig: *defconfig
+ts5x00_defconfig: *defconfig
+wandboard_defconfig: *defconfig
+warp7_defconfig: *defconfig
+warpboard_defconfig: *defconfig
+zynq_microzed_defconfig: *defconfig
+zynq_zc706_defconfig: *defconfig
+zynq_zed_defconfig: *defconfig
+zynq_zybo_defconfig: *defconfig
diff --git a/.gitlab-ci.yml.in b/.gitlab-ci.yml.in
new file mode 100644
index 0000000000..b4a6a3fb28
--- /dev/null
+++ b/.gitlab-ci.yml.in
@@ -0,0 +1,52 @@
+# Configuration for Gitlab-CI.
+# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
+# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
+# 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
+ 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
+
+.defconfig_script: &defconfig_script
+ - echo 'Configure Buildroot'
+ - make ${CI_BUILD_NAME}
+ - echo 'Build buildroot'
+ - |
+ make > >(tee build.log |grep '>>>') 2>&1 || {
+ echo 'Failed build last output'
+ tail -200 build.log
+ exit 1
+ }
+
+check-gitlab-ci.yml:
+ script:
+ - mv .gitlab-ci.yml .gitlab-ci.yml.orig
+ - make .gitlab-ci.yml
+ - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
+
+.defconfig: &defconfig
+ # Running the defconfigs for every push is too much, so limit to
+ # explicit triggers through the API.
+ only:
+ - triggers
+ - tags
+ script: *defconfig_script
+ artifacts:
+ when: always
+ expire_in: 2 weeks
+ paths:
+ - build.log
+ - output/images/
+ - output/build/build-time.log
+ - output/build/packages-file-list.txt
+
diff --git a/Makefile b/Makefile
index da1d7d2634..fb2c235293 100644
--- a/Makefile
+++ b/Makefile
@@ -1068,6 +1068,9 @@ release:
print-version:
@echo $(BR2_VERSION_FULL)
+.gitlab-ci.yml: .gitlab-ci.yml.in configs/*_defconfig
+ (cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' | cat $< - > $@
+
include docs/manual/manual.mk
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)