]> granicus.if.org Git - esp-idf/commitdiff
ci: Split build_examples jobs into make & cmake
authorAngus Gratton <angus@espressif.com>
Thu, 13 Sep 2018 04:32:41 +0000 (14:32 +1000)
committerAngus Gratton <gus@projectgus.com>
Mon, 29 Oct 2018 23:59:39 +0000 (10:59 +1100)
Fix problem where failures in make were being ignored.

.gitlab-ci.yml

index 31bc5b758940c5165e06f62e9bac9be5d62d3c27..a654ff128e9291699afa5908c1c23afd3e1eb8d2 100644 (file)
@@ -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: