From 3850f82259e7994ecb9ba89ce31a35efaf74415d Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Thu, 13 Sep 2018 14:32:41 +1000 Subject: [PATCH] ci: Split build_examples jobs into make & cmake Fix problem where failures in make were being ignored. --- .gitlab-ci.yml | 117 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 85 insertions(+), 32 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 31bc5b7589..a654ff128e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -191,7 +191,7 @@ build_esp_idf_tests: - make ut-build-all-configs - python tools/UnitTestParser.py -.build_examples_template: &build_examples_template +.build_examples_make_template: &build_examples_make_template <<: *build_template retry: 1 artifacts: @@ -206,7 +206,7 @@ build_esp_idf_tests: expire_in: 1 week variables: IDF_CI_BUILD: "1" - LOG_PATH: "$CI_PROJECT_DIR/log_examples" + LOG_PATH: "$CI_PROJECT_DIR/log_examples_make" only: variables: - $BOT_TRIGGER_WITH_LABEL == null @@ -222,36 +222,81 @@ build_esp_idf_tests: # build some of examples - mkdir -p ${LOG_PATH} - ${IDF_PATH}/tools/ci/build_examples.sh "${CI_JOB_NAME}" - # and again, with cmake! - - rm -rf ../build_examples_cmake - - mkdir ../build_examples_cmake - - cd ../build_examples_cmake - - mkdir -p ${LOG_PATH}_cmake - - LOG_PATH=${LOG_PATH}_cmake ${IDF_PATH}/tools/ci/build_examples_cmake.sh "${CI_JOB_NAME}" -build_examples_00: - <<: *build_examples_template +# same as above, but for CMake +.build_examples_cmake_template: &build_examples_cmake_template + <<: *build_template + retry: 1 + artifacts: + when: always + paths: + - build_examples_cmake/*/*/*/build/*.bin + - build_examples_cmake/*/*/*/build/*.elf + - build_examples_cmake/*/*/*/build/*.map + - build_examples_cmake/*/*/*/build/download.config + - build_examples_cmake/*/*/*/build/bootloader/*.bin + - $LOG_PATH + expire_in: 1 week + variables: + IDF_CI_BUILD: "1" + LOG_PATH: "$CI_PROJECT_DIR/log_examples_cmake" + script: + # it's not possible to build 100% out-of-tree and have the "artifacts" + # mechanism work, but this is the next best thing + - rm -rf build_examples_cmake + - mkdir build_examples_cmake + - cd build_examples_cmake + # build some of examples + - mkdir -p ${LOG_PATH} + - ${IDF_PATH}/tools/ci/build_examples_cmake.sh "${CI_JOB_NAME}" + +build_examples_make_00: + <<: *build_examples_make_template + +build_examples_make_01: + <<: *build_examples_make_template + +build_examples_make_02: + <<: *build_examples_make_template + +build_examples_make_03: + <<: *build_examples_make_template + +build_examples_make_04: + <<: *build_examples_make_template + +build_examples_make_05: + <<: *build_examples_make_template + +build_examples_make_06: + <<: *build_examples_make_template + +build_examples_make_07: + <<: *build_examples_make_template + +build_examples_cmake_00: + <<: *build_examples_cmake_template -build_examples_01: - <<: *build_examples_template +build_examples_cmake_01: + <<: *build_examples_cmake_template -build_examples_02: - <<: *build_examples_template +build_examples_cmake_02: + <<: *build_examples_cmake_template -build_examples_03: - <<: *build_examples_template +build_examples_cmake_03: + <<: *build_examples_cmake_template -build_examples_04: - <<: *build_examples_template +build_examples_cmake_04: + <<: *build_examples_cmake_template -build_examples_05: - <<: *build_examples_template +build_examples_cmake_05: + <<: *build_examples_cmake_template -build_examples_06: - <<: *build_examples_template +build_examples_cmake_06: + <<: *build_examples_cmake_template -build_examples_07: - <<: *build_examples_template +build_examples_cmake_07: + <<: *build_examples_cmake_template # If you want to add new build example jobs, please add it into dependencies of `.example_test_template` @@ -623,14 +668,22 @@ assign_test: - $BOT_LABEL_EXAMPLE_TEST dependencies: - assign_test - - build_examples_00 - - build_examples_01 - - build_examples_02 - - build_examples_03 - - build_examples_04 - - build_examples_05 - - build_examples_06 - - build_examples_07 + - build_examples_make_00 + - build_examples_make_01 + - build_examples_make_02 + - build_examples_make_03 + - build_examples_make_04 + - build_examples_make_05 + - build_examples_make_06 + - build_examples_make_07 + - build_examples_cmake_00 + - build_examples_cmake_01 + - build_examples_cmake_02 + - build_examples_cmake_03 + - build_examples_cmake_04 + - build_examples_cmake_05 + - build_examples_cmake_06 + - build_examples_cmake_07 artifacts: when: always paths: -- 2.40.0