gitlab-ci.yml.in 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. .check-DEVELOPERS_base:
  2. # get-developers should print just "No action specified"; if it prints
  3. # anything else, it's a parse error.
  4. # The initial ! is removed by YAML so we need to quote it.
  5. script:
  6. - "! utils/get-developers | grep -v 'No action specified'"
  7. .check-flake8_base:
  8. script:
  9. - make check-flake8
  10. .check-package_base:
  11. script:
  12. - make check-package
  13. .defconfig_check:
  14. before_script:
  15. - DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g')
  16. script:
  17. - echo "Configure Buildroot for ${DEFCONFIG_NAME}"
  18. - make ${DEFCONFIG_NAME}
  19. - support/scripts/check-dotconfig.py .config configs/${DEFCONFIG_NAME}
  20. artifacts:
  21. when: on_failure
  22. expire_in: 2 weeks
  23. paths:
  24. - .config
  25. .defconfig_base:
  26. before_script:
  27. - DEFCONFIG_NAME=${CI_JOB_NAME}
  28. script:
  29. - echo "Configure Buildroot for ${DEFCONFIG_NAME}"
  30. - make ${DEFCONFIG_NAME}
  31. - ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME}
  32. - echo 'Build buildroot'
  33. - |
  34. make > >(tee build.log |grep '>>>') 2>&1 || {
  35. echo 'Failed build last output'
  36. tail -200 build.log
  37. exit 1
  38. }
  39. - |
  40. ./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || {
  41. echo 'Failed runtime test last output'
  42. tail -200 runtime-test.log
  43. exit 1
  44. }
  45. artifacts:
  46. when: always
  47. expire_in: 2 weeks
  48. paths:
  49. - .config
  50. - build.log
  51. - output/images/
  52. - output/build/build-time.log
  53. - output/build/packages-file-list.txt
  54. - output/build/*/.config
  55. - runtime-test.log
  56. .runtime_test_base:
  57. before_script:
  58. - TEST_CASE_NAME=${CI_JOB_NAME}
  59. # Keep build directories so the rootfs can be an artifact of the job. The
  60. # runner will clean up those files for us.
  61. # Multiply every emulator timeout by 10 to avoid sporadic failures in
  62. # elastic runners.
  63. script:
  64. - echo "Starting runtime test ${TEST_CASE_NAME}"
  65. - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME}
  66. artifacts:
  67. when: always
  68. expire_in: 2 weeks
  69. paths:
  70. - test-output/*.log
  71. - test-output/*/.config
  72. - test-output/*/images/*