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 8.check-flake8_base: 9 script: 10 - make check-flake8 11 12.check-package_base: 13 script: 14 - make check-package 15 16.defconfig_check: 17 before_script: 18 - DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g') 19 script: 20 - echo "Configure Buildroot for ${DEFCONFIG_NAME}" 21 - make ${DEFCONFIG_NAME} 22 - support/scripts/check-dotconfig.py .config configs/${DEFCONFIG_NAME} 23 artifacts: 24 when: on_failure 25 expire_in: 2 weeks 26 paths: 27 - .config 28 29.run_make: &run_make 30 | 31 make O=${OUTPUT_DIR} > >(tee build.log |grep '>>>') 2>&1 || { 32 echo 'Failed build last output' 33 tail -200 build.log 34 exit 1 35 } 36 37.defconfig_base: 38 before_script: 39 - DEFCONFIG_NAME=${CI_JOB_NAME} 40 - OUTPUT_DIR=output 41 script: 42 - echo "Configure Buildroot for ${DEFCONFIG_NAME}" 43 - make ${DEFCONFIG_NAME} 44 - ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME} 45 - echo 'Build buildroot' 46 - *run_make 47 - | 48 ./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || { 49 echo 'Failed runtime test last output' 50 tail -200 runtime-test.log 51 exit 1 52 } 53 artifacts: 54 when: always 55 expire_in: 2 weeks 56 paths: 57 - .config 58 - build.log 59 - output/images/ 60 - output/build/build-time.log 61 - output/build/packages-file-list.txt 62 - output/build/*/.config 63 - runtime-test.log 64 65.runtime_test_base: 66 before_script: 67 - TEST_CASE_NAME=${CI_JOB_NAME} 68 # Keep build directories so the rootfs can be an artifact of the job. The 69 # runner will clean up those files for us. 70 # Multiply every emulator timeout by 10 to avoid sporadic failures in 71 # elastic runners. 72 script: 73 - echo "Starting runtime test ${TEST_CASE_NAME}" 74 - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} 75 artifacts: 76 when: always 77 expire_in: 2 weeks 78 paths: 79 - test-output/*.log 80 - test-output/*/.config 81 - test-output/*/images/* 82 83.test_pkg: 84 stage: build 85 before_script: 86 - OUTPUT_DIR=${CI_JOB_NAME} 87 script: 88 - echo "Configure Buildroot for ${OUTPUT_DIR}" 89 - make O=${OUTPUT_DIR} syncconfig 90 - make O=${OUTPUT_DIR} savedefconfig 91 - echo 'Build buildroot' 92 - *run_make 93 needs: 94 - pipeline: $PARENT_PIPELINE_ID 95 job: generate-gitlab-ci-yml 96 artifacts: 97 when: always 98 expire_in: 2 weeks 99 paths: 100 - build.log 101 - br-test-pkg/*/.config 102 - br-test-pkg/*/defconfig 103 - br-test-pkg/*/build/build-time.log 104 - br-test-pkg/*/build/packages-file-list*.txt 105