.check-DEVELOPERS_base: # 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_base: script: - make check-flake8 .check-package_base: script: - make check-package .defconfig_check: before_script: - DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g') script: - echo "Configure Buildroot for ${DEFCONFIG_NAME}" - make ${DEFCONFIG_NAME} - support/scripts/check-dotconfig.py .config configs/${DEFCONFIG_NAME} artifacts: when: on_failure expire_in: 2 weeks paths: - .config .run_make: &run_make | make O=${OUTPUT_DIR} > >(tee build.log |grep '>>>') 2>&1 || { echo 'Failed build last output' tail -200 build.log exit 1 } .defconfig_base: before_script: - DEFCONFIG_NAME=${CI_JOB_NAME} - OUTPUT_DIR=output script: - echo "Configure Buildroot for ${DEFCONFIG_NAME}" - make ${DEFCONFIG_NAME} - ./support/scripts/check-dotconfig.py .config ./configs/${DEFCONFIG_NAME} - echo 'Build buildroot' - *run_make - | ./support/scripts/boot-qemu-image.py "${DEFCONFIG_NAME}" > >(tee runtime-test.log) 2>&1 || { echo 'Failed runtime test last output' tail -200 runtime-test.log exit 1 } artifacts: when: always expire_in: 2 weeks paths: - .config - build.log - output/images/ - output/build/build-time.log - output/build/packages-file-list.txt - output/build/*/.config - runtime-test.log .runtime_test_base: before_script: - TEST_CASE_NAME=${CI_JOB_NAME} # 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: - echo "Starting runtime test ${TEST_CASE_NAME}" - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} artifacts: when: always expire_in: 2 weeks paths: - test-output/*.log - test-output/*/.config - test-output/*/images/* .test_pkg: stage: build before_script: - OUTPUT_DIR=${CI_JOB_NAME} script: - echo "Configure Buildroot for ${OUTPUT_DIR}" - make O=${OUTPUT_DIR} syncconfig - make O=${OUTPUT_DIR} savedefconfig - echo 'Build buildroot' - *run_make needs: - pipeline: $PARENT_PIPELINE_ID job: generate-gitlab-ci-yml artifacts: when: always expire_in: 2 weeks paths: - build.log - br-test-pkg/*/.config - br-test-pkg/*/defconfig - br-test-pkg/*/build/build-time.log - br-test-pkg/*/build/packages-file-list*.txt