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