123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- stages:
- - download
- - test
- before_script:
- - git config --global --add safe.directory ${CI_PROJECT_DIR}
- .check-check-package_base:
- stage: test
- script:
- - python3 -m pytest -v utils/checkpackagelib/
- .check-check-symbol_base:
- stage: test
- script:
- - python3 -m pytest -v utils/checksymbolslib/
- .check-DEVELOPERS_base:
- stage: test
- script:
- - utils/get-developers -v
- .check-package_base:
- stage: test
- script:
- - make check-package
- .check-symbol_base:
- stage: test
- script:
- - utils/check-symbols
- .defconfig_check:
- stage: test
- script:
- - DEFCONFIG_NAME=$(echo ${CI_JOB_NAME} | sed -e 's,_check$,,g')
- - 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:
- stage: test
- script:
- - DEFCONFIG_NAME=${CI_JOB_NAME}
- - OUTPUT_DIR=output
- - 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
- }
- retry:
- max: 2
- when:
- - runner_system_failure
- - stuck_or_timeout_failure
- 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_download:
- stage: download
- # Keep test-dl directory so the downloaded files can be an artifact of
- # the job passed to all jobs of next stages.
- script: ./support/testing/run-tests -d test-dl/ --prepare-only
- artifacts:
- when: always
- paths:
- - test-dl/
- .runtime_test_base:
- stage: test
- # 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:
- - TEST_CASE_NAME=${CI_JOB_NAME}
- - echo "Starting runtime test ${TEST_CASE_NAME}"
- - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME}
- retry:
- max: 2
- when:
- - runner_system_failure
- - stuck_or_timeout_failure
- artifacts:
- when: always
- expire_in: 2 weeks
- paths:
- - test-output/*.log
- - test-output/*/.config
- - test-output/*/images/*
- .test_pkg:
- stage: test
- script:
- - OUTPUT_DIR=${CI_JOB_NAME}
- - 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
- retry:
- max: 2
- when:
- - runner_system_failure
- - stuck_or_timeout_failure
- 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
|