.gitlab-ci.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  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. image: buildroot/base:20180318.1724
  7. .defconfig_script: &defconfig_script
  8. - echo 'Configure Buildroot'
  9. - make ${CI_JOB_NAME}
  10. - echo 'Build buildroot'
  11. - |
  12. make > >(tee build.log |grep '>>>') 2>&1 || {
  13. echo 'Failed build last output'
  14. tail -200 build.log
  15. exit 1
  16. }
  17. check-gitlab-ci.yml:
  18. script:
  19. - mv .gitlab-ci.yml .gitlab-ci.yml.orig
  20. - make .gitlab-ci.yml
  21. - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
  22. check-DEVELOPERS:
  23. # get-developers should print just "No action specified"; if it prints
  24. # anything else, it's a parse error.
  25. # The initial ! is removed by YAML so we need to quote it.
  26. script:
  27. - "! utils/get-developers | grep -v 'No action specified'"
  28. check-flake8:
  29. before_script:
  30. # Help flake8 to find the Python files without .py extension.
  31. - find * -type f -name '*.py' > files.txt
  32. - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
  33. - sort -u files.txt | tee files.processed
  34. script:
  35. - python -m flake8 --statistics --count $(cat files.processed)
  36. after_script:
  37. - wc -l files.processed
  38. check-package:
  39. script:
  40. - make check-package
  41. .defconfig: &defconfig
  42. # Running the defconfigs for every push is too much, so limit to
  43. # explicit triggers through the API.
  44. only:
  45. - triggers
  46. - tags
  47. script: *defconfig_script
  48. artifacts:
  49. when: always
  50. expire_in: 2 weeks
  51. paths:
  52. - build.log
  53. - output/images/
  54. - output/build/build-time.log
  55. - output/build/packages-file-list.txt
  56. .runtime_test: &runtime_test
  57. # Running the runtime tests for every push is too much, so limit to
  58. # explicit triggers through the API.
  59. only:
  60. - triggers
  61. - tags
  62. # Keep build directories so the rootfs can be an artifact of the job. The
  63. # runner will clean up those files for us.
  64. # Multiply every emulator timeout by 10 to avoid sporadic failures in
  65. # elastic runners.
  66. script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
  67. artifacts:
  68. when: always
  69. expire_in: 2 weeks
  70. paths:
  71. - test-output/*.log
  72. - test-output/*/.config
  73. - test-output/*/images/*
  74. acmesystems_aria_g25_128mb_defconfig: *defconfig
  75. acmesystems_aria_g25_256mb_defconfig: *defconfig
  76. acmesystems_arietta_g25_128mb_defconfig: *defconfig
  77. acmesystems_arietta_g25_256mb_defconfig: *defconfig
  78. amarula_a64_relic_defconfig: *defconfig
  79. amarula_vyasa_rk3288_defconfig: *defconfig
  80. arcturus_ucls1012a_defconfig: *defconfig
  81. arcturus_ucp1020_defconfig: *defconfig
  82. arm_foundationv8_defconfig: *defconfig
  83. arm_juno_defconfig: *defconfig
  84. armadeus_apf27_defconfig: *defconfig
  85. armadeus_apf28_defconfig: *defconfig
  86. armadeus_apf51_defconfig: *defconfig
  87. asus_tinker_rk3288_defconfig: *defconfig
  88. at91sam9260eknf_defconfig: *defconfig
  89. at91sam9g20dfc_defconfig: *defconfig
  90. at91sam9g45m10ek_defconfig: *defconfig
  91. at91sam9rlek_defconfig: *defconfig
  92. at91sam9x5ek_defconfig: *defconfig
  93. at91sam9x5ek_dev_defconfig: *defconfig
  94. at91sam9x5ek_mmc_defconfig: *defconfig
  95. at91sam9x5ek_mmc_dev_defconfig: *defconfig
  96. atmel_sama5d27_som1_ek_mmc_dev_defconfig: *defconfig
  97. atmel_sama5d2_xplained_mmc_defconfig: *defconfig
  98. atmel_sama5d2_xplained_mmc_dev_defconfig: *defconfig
  99. atmel_sama5d3_xplained_defconfig: *defconfig
  100. atmel_sama5d3_xplained_dev_defconfig: *defconfig
  101. atmel_sama5d3_xplained_mmc_defconfig: *defconfig
  102. atmel_sama5d3_xplained_mmc_dev_defconfig: *defconfig
  103. atmel_sama5d3xek_defconfig: *defconfig
  104. atmel_sama5d4_xplained_defconfig: *defconfig
  105. atmel_sama5d4_xplained_dev_defconfig: *defconfig
  106. atmel_sama5d4_xplained_mmc_defconfig: *defconfig
  107. atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig
  108. bananapi_m1_defconfig: *defconfig
  109. bananapi_m2_plus_defconfig: *defconfig
  110. bananapi_m2_ultra_defconfig: *defconfig
  111. bananapi_m64_defconfig: *defconfig
  112. bananapro_defconfig: *defconfig
  113. beagleboardx15_defconfig: *defconfig
  114. beaglebone_defconfig: *defconfig
  115. beaglebone_qt5_defconfig: *defconfig
  116. chromebook_snow_defconfig: *defconfig
  117. ci20_defconfig: *defconfig
  118. csky_gx6605s_defconfig: *defconfig
  119. cubieboard2_defconfig: *defconfig
  120. engicam_imx6qdl_icore_defconfig: *defconfig
  121. engicam_imx6qdl_icore_qt5_defconfig: *defconfig
  122. engicam_imx6qdl_icore_rqs_defconfig: *defconfig
  123. engicam_imx6ul_geam_defconfig: *defconfig
  124. engicam_imx6ul_isiot_defconfig: *defconfig
  125. freescale_imx28evk_defconfig: *defconfig
  126. freescale_imx6dlsabreauto_defconfig: *defconfig
  127. freescale_imx6dlsabresd_defconfig: *defconfig
  128. freescale_imx6qsabreauto_defconfig: *defconfig
  129. freescale_imx6qsabresd_defconfig: *defconfig
  130. freescale_imx6sxsabresd_defconfig: *defconfig
  131. freescale_imx7dsabresd_defconfig: *defconfig
  132. freescale_imx8mqevk_defconfig: *defconfig
  133. freescale_p1025twr_defconfig: *defconfig
  134. freescale_t1040d4rdb_defconfig: *defconfig
  135. friendlyarm_nanopi_a64_defconfig: *defconfig
  136. friendlyarm_nanopi_neo2_defconfig: *defconfig
  137. galileo_defconfig: *defconfig
  138. grinn_chiliboard_defconfig: *defconfig
  139. grinn_liteboard_defconfig: *defconfig
  140. imx23evk_defconfig: *defconfig
  141. imx6-sabreauto_defconfig: *defconfig
  142. imx6-sabresd_defconfig: *defconfig
  143. imx6-sabresd_qt5_defconfig: *defconfig
  144. imx6slevk_defconfig: *defconfig
  145. imx6sx-sdb_defconfig: *defconfig
  146. imx6ulevk_defconfig: *defconfig
  147. imx6ulpico_defconfig: *defconfig
  148. imx7d-sdb_defconfig: *defconfig
  149. imx7dpico_defconfig: *defconfig
  150. lego_ev3_defconfig: *defconfig
  151. linksprite_pcduino_defconfig: *defconfig
  152. minnowboard_max-graphical_defconfig: *defconfig
  153. minnowboard_max_defconfig: *defconfig
  154. mx25pdk_defconfig: *defconfig
  155. mx51evk_defconfig: *defconfig
  156. mx53loco_defconfig: *defconfig
  157. mx6cubox_defconfig: *defconfig
  158. mx6sx_udoo_neo_defconfig: *defconfig
  159. mx6udoo_defconfig: *defconfig
  160. nanopi_m1_defconfig: *defconfig
  161. nanopi_m1_plus_defconfig: *defconfig
  162. nanopi_neo_defconfig: *defconfig
  163. nexbox_a95x_defconfig: *defconfig
  164. nitrogen6sx_defconfig: *defconfig
  165. nitrogen6x_defconfig: *defconfig
  166. nitrogen7_defconfig: *defconfig
  167. nitrogen8m_defconfig: *defconfig
  168. odroidc2_defconfig: *defconfig
  169. odroidxu4_defconfig: *defconfig
  170. olimex_a10_olinuxino_lime_defconfig: *defconfig
  171. olimex_a13_olinuxino_defconfig: *defconfig
  172. olimex_a20_olinuxino_lime2_defconfig: *defconfig
  173. olimex_a20_olinuxino_lime_defconfig: *defconfig
  174. olimex_a20_olinuxino_lime_legacy_defconfig: *defconfig
  175. olimex_a20_olinuxino_micro_defconfig: *defconfig
  176. olimex_a64_olinuxino_defconfig: *defconfig
  177. olimex_imx233_olinuxino_defconfig: *defconfig
  178. openblocks_a6_defconfig: *defconfig
  179. orangepi_lite_defconfig: *defconfig
  180. orangepi_one_defconfig: *defconfig
  181. orangepi_pc2_defconfig: *defconfig
  182. orangepi_pc_defconfig: *defconfig
  183. orangepi_pc_plus_defconfig: *defconfig
  184. orangepi_plus_defconfig: *defconfig
  185. orangepi_prime_defconfig: *defconfig
  186. orangepi_win_defconfig: *defconfig
  187. orangepi_zero_defconfig: *defconfig
  188. orangepi_zero_plus2_defconfig: *defconfig
  189. pandaboard_defconfig: *defconfig
  190. pc_x86_64_bios_defconfig: *defconfig
  191. pc_x86_64_efi_defconfig: *defconfig
  192. pine64_defconfig: *defconfig
  193. pine64_sopine_defconfig: *defconfig
  194. qemu_aarch64_virt_defconfig: *defconfig
  195. qemu_arm_versatile_defconfig: *defconfig
  196. qemu_arm_versatile_nommu_defconfig: *defconfig
  197. qemu_arm_vexpress_defconfig: *defconfig
  198. qemu_m68k_mcf5208_defconfig: *defconfig
  199. qemu_m68k_q800_defconfig: *defconfig
  200. qemu_microblazebe_mmu_defconfig: *defconfig
  201. qemu_microblazeel_mmu_defconfig: *defconfig
  202. qemu_mips32r2_malta_defconfig: *defconfig
  203. qemu_mips32r2el_malta_defconfig: *defconfig
  204. qemu_mips32r6_malta_defconfig: *defconfig
  205. qemu_mips32r6el_malta_defconfig: *defconfig
  206. qemu_mips64_malta_defconfig: *defconfig
  207. qemu_mips64el_malta_defconfig: *defconfig
  208. qemu_mips64r6_malta_defconfig: *defconfig
  209. qemu_mips64r6el_malta_defconfig: *defconfig
  210. qemu_nios2_10m50_defconfig: *defconfig
  211. qemu_or1k_defconfig: *defconfig
  212. qemu_ppc64_e5500_defconfig: *defconfig
  213. qemu_ppc64_pseries_defconfig: *defconfig
  214. qemu_ppc64le_pseries_defconfig: *defconfig
  215. qemu_ppc_g3beige_defconfig: *defconfig
  216. qemu_ppc_mpc8544ds_defconfig: *defconfig
  217. qemu_ppc_virtex_ml507_defconfig: *defconfig
  218. qemu_riscv64_virt_defconfig: *defconfig
  219. qemu_sh4_r2d_defconfig: *defconfig
  220. qemu_sh4eb_r2d_defconfig: *defconfig
  221. qemu_sparc64_sun4u_defconfig: *defconfig
  222. qemu_sparc_ss10_defconfig: *defconfig
  223. qemu_x86_64_defconfig: *defconfig
  224. qemu_x86_defconfig: *defconfig
  225. qemu_xtensa_lx60_defconfig: *defconfig
  226. qemu_xtensa_lx60_nommu_defconfig: *defconfig
  227. raspberrypi0_defconfig: *defconfig
  228. raspberrypi0w_defconfig: *defconfig
  229. raspberrypi2_defconfig: *defconfig
  230. raspberrypi3_64_defconfig: *defconfig
  231. raspberrypi3_defconfig: *defconfig
  232. raspberrypi3_qt5we_defconfig: *defconfig
  233. raspberrypi_defconfig: *defconfig
  234. riotboard_defconfig: *defconfig
  235. roseapplepi_defconfig: *defconfig
  236. s6lx9_microboard_defconfig: *defconfig
  237. sheevaplug_defconfig: *defconfig
  238. snps_aarch64_vdk_defconfig: *defconfig
  239. snps_arc700_axs101_defconfig: *defconfig
  240. snps_archs38_axs103_defconfig: *defconfig
  241. snps_archs38_haps_defconfig: *defconfig
  242. snps_archs38_hsdk_defconfig: *defconfig
  243. snps_archs38_vdk_defconfig: *defconfig
  244. socrates_cyclone5_defconfig: *defconfig
  245. solidrun_clearfog_defconfig: *defconfig
  246. solidrun_macchiatobin_mainline_defconfig: *defconfig
  247. solidrun_macchiatobin_marvell_defconfig: *defconfig
  248. stm32f429_disco_defconfig: *defconfig
  249. stm32f469_disco_defconfig: *defconfig
  250. toradex_apalis_imx6_defconfig: *defconfig
  251. ts4800_defconfig: *defconfig
  252. ts4900_defconfig: *defconfig
  253. ts5500_defconfig: *defconfig
  254. ts7680_defconfig: *defconfig
  255. wandboard_defconfig: *defconfig
  256. warp7_defconfig: *defconfig
  257. warpboard_defconfig: *defconfig
  258. zynq_microzed_defconfig: *defconfig
  259. zynq_zc706_defconfig: *defconfig
  260. zynq_zed_defconfig: *defconfig
  261. zynq_zybo_defconfig: *defconfig
  262. zynqmp_zcu106_defconfig: *defconfig
  263. tests.boot.test_atf.TestATFAllwinner: *runtime_test
  264. tests.boot.test_atf.TestATFMarvell: *runtime_test
  265. tests.boot.test_atf.TestATFVexpress: *runtime_test
  266. tests.core.test_file_capabilities.TestFileCapabilities: *runtime_test
  267. tests.core.test_hardening.TestFortifyConserv: *runtime_test
  268. tests.core.test_hardening.TestFortifyNone: *runtime_test
  269. tests.core.test_hardening.TestRelro: *runtime_test
  270. tests.core.test_hardening.TestRelroPartial: *runtime_test
  271. tests.core.test_hardening.TestSspNone: *runtime_test
  272. tests.core.test_hardening.TestSspStrong: *runtime_test
  273. tests.core.test_post_scripts.TestPostScripts: *runtime_test
  274. tests.core.test_rootfs_overlay.TestRootfsOverlay: *runtime_test
  275. tests.core.test_timezone.TestGlibcAllTimezone: *runtime_test
  276. tests.core.test_timezone.TestGlibcNonDefaultLimitedTimezone: *runtime_test
  277. tests.core.test_timezone.TestNoTimezone: *runtime_test
  278. tests.fs.test_ext.TestExt2: *runtime_test
  279. tests.fs.test_ext.TestExt2r1: *runtime_test
  280. tests.fs.test_ext.TestExt3: *runtime_test
  281. tests.fs.test_ext.TestExt4: *runtime_test
  282. tests.fs.test_f2fs.TestF2FS: *runtime_test
  283. tests.fs.test_iso9660.TestIso9660Grub2External: *runtime_test
  284. tests.fs.test_iso9660.TestIso9660Grub2ExternalCompress: *runtime_test
  285. tests.fs.test_iso9660.TestIso9660Grub2Internal: *runtime_test
  286. tests.fs.test_iso9660.TestIso9660SyslinuxExternal: *runtime_test
  287. tests.fs.test_iso9660.TestIso9660SyslinuxExternalCompress: *runtime_test
  288. tests.fs.test_iso9660.TestIso9660SyslinuxInternal: *runtime_test
  289. tests.fs.test_jffs2.TestJffs2: *runtime_test
  290. tests.fs.test_squashfs.TestSquashfs: *runtime_test
  291. tests.fs.test_ubi.TestUbi: *runtime_test
  292. tests.fs.test_yaffs2.TestYaffs2: *runtime_test
  293. tests.init.test_busybox.TestInitSystemBusyboxRo: *runtime_test
  294. tests.init.test_busybox.TestInitSystemBusyboxRoNet: *runtime_test
  295. tests.init.test_busybox.TestInitSystemBusyboxRw: *runtime_test
  296. tests.init.test_busybox.TestInitSystemBusyboxRwNet: *runtime_test
  297. tests.init.test_none.TestInitSystemNone: *runtime_test
  298. tests.init.test_systemd.TestInitSystemSystemdRoFull: *runtime_test
  299. tests.init.test_systemd.TestInitSystemSystemdRoIfupdown: *runtime_test
  300. tests.init.test_systemd.TestInitSystemSystemdRoNetworkd: *runtime_test
  301. tests.init.test_systemd.TestInitSystemSystemdRwFull: *runtime_test
  302. tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: *runtime_test
  303. tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: *runtime_test
  304. tests.package.test_dropbear.TestDropbear: *runtime_test
  305. tests.package.test_ipython.TestIPythonPy2: *runtime_test
  306. tests.package.test_ipython.TestIPythonPy3: *runtime_test
  307. tests.package.test_python.TestPython2: *runtime_test
  308. tests.package.test_python.TestPython3: *runtime_test
  309. tests.package.test_python_autobahn.TestPythonPy2Autobahn: *runtime_test
  310. tests.package.test_python_autobahn.TestPythonPy3Autobahn: *runtime_test
  311. tests.package.test_python_cryptography.TestPythonPy2Cryptography: *runtime_test
  312. tests.package.test_python_cryptography.TestPythonPy3Cryptography: *runtime_test
  313. tests.package.test_python_incremental.TestPythonPy2Incremental: *runtime_test
  314. tests.package.test_python_incremental.TestPythonPy3Incremental: *runtime_test
  315. tests.package.test_python_twisted.TestPythonPy2Twisted: *runtime_test
  316. tests.package.test_python_twisted.TestPythonPy3Twisted: *runtime_test
  317. tests.package.test_python_txaio.TestPythonPy2Txaio: *runtime_test
  318. tests.package.test_python_txaio.TestPythonPy3Txaio: *runtime_test
  319. tests.package.test_python_txtorcon.TestPythonPy2Txtorcon: *runtime_test
  320. tests.package.test_python_txtorcon.TestPythonPy3Txtorcon: *runtime_test
  321. tests.package.test_rust.TestRust: *runtime_test
  322. tests.package.test_rust.TestRustBin: *runtime_test
  323. tests.package.test_syslog_ng.TestSyslogNg: *runtime_test
  324. tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
  325. tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test
  326. tests.toolchain.test_external.TestExternalToolchainCCache: *runtime_test
  327. tests.toolchain.test_external.TestExternalToolchainCtngMusl: *runtime_test
  328. tests.toolchain.test_external.TestExternalToolchainLinaroArm: *runtime_test
  329. tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: *runtime_test
  330. tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: *runtime_test
  331. tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: *runtime_test