]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blobdiff - .gitlab-ci.yml
lrzsz: install symlinks for XMODEM and YMODEM
[coffee/buildroot.git] / .gitlab-ci.yml
index 4cfe9df5241210c36ede5d782a2aabc1fe20f84a..e80491cdde8837a9dbaa42feac1ae56568f33957 100644 (file)
@@ -4,22 +4,11 @@
 # 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
+image: buildroot/base:20180318.1724
 
 .defconfig_script: &defconfig_script
     - echo 'Configure Buildroot'
-    - make ${CI_BUILD_NAME}
+    - make ${CI_JOB_NAME}
     - echo 'Build buildroot'
     - |
         make > >(tee build.log |grep '>>>') 2>&1 || {
@@ -34,6 +23,29 @@ check-gitlab-ci.yml:
         - make .gitlab-ci.yml
         - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
 
+check-DEVELOPERS:
+    # get-developers should print just "No action specified"; if it prints
+    # anything else, it's a parse error.
+    # The initial ! is removed by YAML so we need to quote it.
+    script:
+        - "! utils/get-developers | grep -v 'No action specified'"
+
+check-flake8:
+    before_script:
+        # Help flake8 to find the Python files without .py extension.
+        - find * -type f -name '*.py' > files.txt
+        - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
+        - sort -u files.txt | tee files.processed
+    script:
+        - python -m flake8 --statistics --count $(cat files.processed)
+    after_script:
+        - wc -l files.processed
+
+check-package:
+    script:
+        - find . -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \)
+            -exec ./utils/check-package {} +
+
 .defconfig: &defconfig
     # Running the defconfigs for every push is too much, so limit to
     # explicit triggers through the API.
@@ -50,22 +62,41 @@ check-gitlab-ci.yml:
             - output/build/build-time.log
             - output/build/packages-file-list.txt
 
+.runtime_test: &runtime_test
+    # Keep build directories so the rootfs can be an artifact of the job. The
+    # runner will clean up those files for us.
+    # Multiply every emulator timeout by 10 to avoid sporadic failures in
+    # elastic runners.
+    script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
+    artifacts:
+        when: always
+        expire_in: 2 weeks
+        paths:
+            - test-output/*.log
+            - test-output/*/.config
+            - test-output/*/images/*
 acmesystems_aria_g25_128mb_defconfig: *defconfig
 acmesystems_aria_g25_256mb_defconfig: *defconfig
 acmesystems_arietta_g25_128mb_defconfig: *defconfig
 acmesystems_arietta_g25_256mb_defconfig: *defconfig
+amarula_vyasa_rk3288_defconfig: *defconfig
+arcturus_ucls1012a_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
+asus_tinker_rk3288_defconfig: *defconfig
 at91sam9260eknf_defconfig: *defconfig
 at91sam9g20dfc_defconfig: *defconfig
 at91sam9g45m10ek_defconfig: *defconfig
 at91sam9rlek_defconfig: *defconfig
 at91sam9x5ek_defconfig: *defconfig
+at91sam9x5ek_dev_defconfig: *defconfig
+at91sam9x5ek_mmc_defconfig: *defconfig
+at91sam9x5ek_mmc_dev_defconfig: *defconfig
+atmel_sama5d27_som1_ek_mmc_dev_defconfig: *defconfig
 atmel_sama5d2_xplained_mmc_defconfig: *defconfig
 atmel_sama5d2_xplained_mmc_dev_defconfig: *defconfig
 atmel_sama5d3_xplained_defconfig: *defconfig
@@ -77,33 +108,46 @@ atmel_sama5d4_xplained_defconfig: *defconfig
 atmel_sama5d4_xplained_dev_defconfig: *defconfig
 atmel_sama5d4_xplained_mmc_defconfig: *defconfig
 atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig
+bananapi_m1_defconfig: *defconfig
+bananapi_m2_plus_defconfig: *defconfig
+bananapi_m64_defconfig: *defconfig
+bananapro_defconfig: *defconfig
 beagleboardx15_defconfig: *defconfig
 beaglebone_defconfig: *defconfig
 beaglebone_qt5_defconfig: *defconfig
 chromebook_snow_defconfig: *defconfig
 ci20_defconfig: *defconfig
+csky_gx6605s_defconfig: *defconfig
 cubieboard2_defconfig: *defconfig
-firefly_rk3288_defconfig: *defconfig
-firefly_rk3288_demo_defconfig: *defconfig
+engicam_imx6qdl_icore_defconfig: *defconfig
+engicam_imx6qdl_icore_qt5_defconfig: *defconfig
+engicam_imx6qdl_icore_rqs_defconfig: *defconfig
+engicam_imx6ul_geam_defconfig: *defconfig
+engicam_imx6ul_isiot_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
+freescale_imx8mqevk_defconfig: *defconfig
+freescale_p1025twr_defconfig: *defconfig
+freescale_t1040d4rdb_defconfig: *defconfig
+friendlyarm_nanopi_a64_defconfig: *defconfig
+friendlyarm_nanopi_neo2_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
+imx6-sabreauto_defconfig: *defconfig
+imx6-sabresd_defconfig: *defconfig
+imx6-sabresd_qt5_defconfig: *defconfig
+imx6slevk_defconfig: *defconfig
+imx6sx-sdb_defconfig: *defconfig
+imx6ulevk_defconfig: *defconfig
 imx6ulpico_defconfig: *defconfig
+imx7dpico_defconfig: *defconfig
 lego_ev3_defconfig: *defconfig
 linksprite_pcduino_defconfig: *defconfig
 minnowboard_max-graphical_defconfig: *defconfig
@@ -114,23 +158,37 @@ mx53loco_defconfig: *defconfig
 mx6cubox_defconfig: *defconfig
 mx6sx_udoo_neo_defconfig: *defconfig
 mx6udoo_defconfig: *defconfig
+nanopi_m1_defconfig: *defconfig
+nanopi_m1_plus_defconfig: *defconfig
 nanopi_neo_defconfig: *defconfig
 nexbox_a95x_defconfig: *defconfig
 nitrogen6sx_defconfig: *defconfig
 nitrogen6x_defconfig: *defconfig
 nitrogen7_defconfig: *defconfig
 odroidc2_defconfig: *defconfig
+olimex_a13_olinuxino_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_a64_olinuxino_defconfig: *defconfig
 olimex_imx233_olinuxino_defconfig: *defconfig
 openblocks_a6_defconfig: *defconfig
+orangepi_lite_defconfig: *defconfig
 orangepi_one_defconfig: *defconfig
+orangepi_pc2_defconfig: *defconfig
 orangepi_pc_defconfig: *defconfig
+orangepi_pc_plus_defconfig: *defconfig
+orangepi_plus_defconfig: *defconfig
+orangepi_prime_defconfig: *defconfig
+orangepi_win_defconfig: *defconfig
+orangepi_zero_defconfig: *defconfig
+orangepi_zero_plus2_defconfig: *defconfig
 pandaboard_defconfig: *defconfig
 pc_x86_64_bios_defconfig: *defconfig
 pc_x86_64_efi_defconfig: *defconfig
+pine64_defconfig: *defconfig
+pine64_sopine_defconfig: *defconfig
 qemu_aarch64_virt_defconfig: *defconfig
 qemu_arm_versatile_defconfig: *defconfig
 qemu_arm_versatile_nommu_defconfig: *defconfig
@@ -149,7 +207,9 @@ qemu_mips64r6_malta_defconfig: *defconfig
 qemu_mips64r6el_malta_defconfig: *defconfig
 qemu_nios2_10m50_defconfig: *defconfig
 qemu_or1k_defconfig: *defconfig
+qemu_ppc64_e5500_defconfig: *defconfig
 qemu_ppc64_pseries_defconfig: *defconfig
+qemu_ppc64le_pseries_defconfig: *defconfig
 qemu_ppc_g3beige_defconfig: *defconfig
 qemu_ppc_mpc8544ds_defconfig: *defconfig
 qemu_ppc_virtex_ml507_defconfig: *defconfig
@@ -162,25 +222,32 @@ qemu_x86_defconfig: *defconfig
 qemu_xtensa_lx60_defconfig: *defconfig
 qemu_xtensa_lx60_nommu_defconfig: *defconfig
 raspberrypi0_defconfig: *defconfig
+raspberrypi0w_defconfig: *defconfig
 raspberrypi2_defconfig: *defconfig
+raspberrypi3_64_defconfig: *defconfig
 raspberrypi3_defconfig: *defconfig
+raspberrypi3_qt5we_defconfig: *defconfig
 raspberrypi_defconfig: *defconfig
-riotboard_defconfig: *defconfig
 roseapplepi_defconfig: *defconfig
 s6lx9_microboard_defconfig: *defconfig
 sheevaplug_defconfig: *defconfig
 snps_aarch64_vdk_defconfig: *defconfig
+snps_arc700_axs101_defconfig: *defconfig
+snps_archs38_axs103_defconfig: *defconfig
+snps_archs38_haps_defconfig: *defconfig
+snps_archs38_hsdk_defconfig: *defconfig
 snps_archs38_vdk_defconfig: *defconfig
-snps_archs38_zebu_defconfig: *defconfig
-snps_axs101_defconfig: *defconfig
-snps_axs103_defconfig: *defconfig
+socrates_cyclone5_defconfig: *defconfig
+solidrun_clearfog_defconfig: *defconfig
+solidrun_macchiatobin_mainline_defconfig: *defconfig
+solidrun_macchiatobin_marvell_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
+ts5500_defconfig: *defconfig
+ts7680_defconfig: *defconfig
 wandboard_defconfig: *defconfig
 warp7_defconfig: *defconfig
 warpboard_defconfig: *defconfig
@@ -188,3 +255,54 @@ zynq_microzed_defconfig: *defconfig
 zynq_zc706_defconfig: *defconfig
 zynq_zed_defconfig: *defconfig
 zynq_zybo_defconfig: *defconfig
+tests.boot.test_atf.TestATFAllwinner: *runtime_test
+tests.boot.test_atf.TestATFMarvell: *runtime_test
+tests.boot.test_atf.TestATFVexpress: *runtime_test
+tests.core.test_post_scripts.TestPostScripts: *runtime_test
+tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test
+tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test
+tests.core.test_timezone.TestGlibcNonDefaultLimitedTimezone: *runtime_test
+tests.core.test_timezone.TestNoTimezone: *runtime_test
+tests.fs.test_ext.TestExt2: *runtime_test
+tests.fs.test_ext.TestExt2r1: *runtime_test
+tests.fs.test_ext.TestExt3: *runtime_test
+tests.fs.test_ext.TestExt4: *runtime_test
+tests.fs.test_iso9660.TestIso9660Grub2External: *runtime_test
+tests.fs.test_iso9660.TestIso9660Grub2ExternalCompress: *runtime_test
+tests.fs.test_iso9660.TestIso9660Grub2Internal: *runtime_test
+tests.fs.test_iso9660.TestIso9660SyslinuxExternal: *runtime_test
+tests.fs.test_iso9660.TestIso9660SyslinuxExternalCompress: *runtime_test
+tests.fs.test_iso9660.TestIso9660SyslinuxInternal: *runtime_test
+tests.fs.test_jffs2.TestJffs2: *runtime_test
+tests.fs.test_squashfs.TestSquashfs: *runtime_test
+tests.fs.test_ubi.TestUbi: *runtime_test
+tests.fs.test_yaffs2.TestYaffs2: *runtime_test
+tests.init.test_busybox.TestInitSystemBusyboxRo: *runtime_test
+tests.init.test_busybox.TestInitSystemBusyboxRoNet: *runtime_test
+tests.init.test_busybox.TestInitSystemBusyboxRw: *runtime_test
+tests.init.test_busybox.TestInitSystemBusyboxRwNet: *runtime_test
+tests.init.test_none.TestInitSystemNone: *runtime_test
+tests.init.test_systemd.TestInitSystemSystemdRoFull: *runtime_test
+tests.init.test_systemd.TestInitSystemSystemdRoIfupdown: *runtime_test
+tests.init.test_systemd.TestInitSystemSystemdRoNetworkd: *runtime_test
+tests.init.test_systemd.TestInitSystemSystemdRwFull: *runtime_test
+tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: *runtime_test
+tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: *runtime_test
+tests.package.test_dropbear.TestDropbear: *runtime_test
+tests.package.test_ipython.TestIPythonPy2: *runtime_test
+tests.package.test_ipython.TestIPythonPy3: *runtime_test
+tests.package.test_python.TestPython2: *runtime_test
+tests.package.test_python.TestPython3: *runtime_test
+tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
+tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
+tests.package.test_rust.TestRust: *runtime_test
+tests.package.test_rust.TestRustBin: *runtime_test
+tests.package.test_syslog_ng.TestSyslogNg: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainCCache: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainCtngMusl: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainLinaroArm: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: *runtime_test
+tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: *runtime_test