- host_test
- unit_test
- integration_test
+ - check
- deploy
variables:
# fetch the submodules (& if necessary re-fetch repo) from gitlab
- time ./tools/ci/get-full-sources.sh
+# used for check scripts which we want to run unconditionally
+.do_nothing_before_no_filter:
+ before_script: &do_nothing_before_no_filter
+ - *git_clean_stale_submodules
+
+# used for everything else where we want to do no prep, except for bot filter
.do_nothing_before:
before_script: &do_nothing_before
- *git_clean_stale_submodules
# 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
- make html
- ../check_doc_warnings.sh
+verify_cmake_style:
+ stage: build
+ image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
+ script:
+ tools/cmake/run_cmake_lint.sh
+
.host_test_template: &host_test_template
stage: host_test
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
- cd components/heap/test_multi_heap_host
- ./test_all_configs.sh
+test_confserver:
+ <<: *host_test_template
+ script:
+ - cd tools/kconfig_new/test
+ - ./test_confserver.py
+
test_build_system:
<<: *host_test_template
script:
- cd test_build_system
- ${IDF_PATH}/tools/ci/test_build_system.sh
+test_build_system_cmake:
+ <<: *host_test_template
+ script:
+ - ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
+ - rm -rf test_build_system
+ - mkdir test_build_system
+ - cd test_build_system
+ - ${IDF_PATH}/tools/ci/test_build_system_cmake.sh
+
test_idf_monitor:
<<: *host_test_template
artifacts:
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/test_idf_monitor
- - source /opt/pyenv/activate
- - pyenv global 2.7.15
- - ./run_test_idf_monitor.py
- - pyenv global 3.4.8
- - ./run_test_idf_monitor.py
- - pyenv global system
+ - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./run_test_idf_monitor.py
+
+test_idf_size:
+ <<: *host_test_template
+ artifacts:
+ when: on_failure
+ paths:
+ - tools/test_idf_size/output
+ - tools/test_idf_size/.coverage
+ expire_in: 1 week
+ script:
+ - cd ${IDF_PATH}/tools/test_idf_size
+ - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test.sh
test_esp_err_to_name_on_host:
<<: *host_test_template
- components/esp32/esp_err_to_name.c
expire_in: 1 week
script:
- - cd tools/
- - source /opt/pyenv/activate
- - pyenv global 2.7.15
- - ./gen_esp_err_to_name.py
+ - cd ${IDF_PATH}/tools/
+ - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 2.7.15 ./gen_esp_err_to_name.py
- git diff --exit-code -- ../components/esp32/esp_err_to_name.c || (echo 'Differences found. Please run gen_esp_err_to_name.py and commit the changes.'; exit 1)
- - pyenv global 3.4.8
- - ./gen_esp_err_to_name.py
+ - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.4.8 ./gen_esp_err_to_name.py
- git diff --exit-code -- ../components/esp32/esp_err_to_name.c || (echo 'Differences found between running under Python 2 and 3.'; exit 1)
- - pyenv global system
push_to_github:
stage: deploy
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
- git remote remove github &>/dev/null || true
- git remote add github git@github.com:espressif/esp-idf.git
- # Need separate push commands for tag builds and for branch builds
- - "[ -n \"${CI_COMMIT_TAG}\" ] && git push github ${CI_COMMIT_TAG}"
- - "[ -z \"${CI_COMMIT_TAG}\" ] && git push github ${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}"
+ - tools/ci/push_to_github.sh
deploy_docs:
stage: host_test
- make linkcheck
check_line_endings:
- stage: deploy
+ stage: check
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags:
- build
- except:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
dependencies: []
- before_script: *do_nothing_before
+ before_script: *do_nothing_before_no_filter
script:
- tools/ci/check-line-endings.sh ${IDF_PATH}
check_commit_msg:
- stage: deploy
+ stage: check
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags:
- build
- except:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
dependencies: []
- before_script: *do_nothing_before
+ before_script: *do_nothing_before_no_filter
script:
- git status
- git log -n10 --oneline
- 'git log --pretty=%s master.. -- | grep "^WIP: " && exit 1 || exit 0'
check_permissions:
+ stage: check
+ image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
+ tags:
+ - build
+ dependencies: []
+ before_script: *do_nothing_before_no_filter
+ script:
+ - tools/ci/check-executable.sh
+
+check_examples_cmake_make:
stage: deploy
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags:
dependencies: []
before_script: *do_nothing_before
script:
- - tools/ci/check-executable.sh
+ - tools/ci/check_examples_cmake_make.sh
check_submodule_sync:
- stage: deploy
+ stage: check
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags:
- build
- except:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
dependencies: []
variables:
GIT_STRATEGY: clone
- before_script: *do_nothing_before
+ before_script: *do_nothing_before_no_filter
script:
# check if all submodules are correctly synced to public repostory
- git submodule update --init --recursive
tags:
- ESP32_IDF
- UT_T1_1
-
+
UT_001_26:
<<: *unit_test_template
tags:
tags:
- ESP32_IDF
- UT_T1_1
-
+
UT_001_32:
<<: *unit_test_template
tags:
tags:
- ESP32_IDF
- UT_T1_1
-
+
UT_001_34:
<<: *unit_test_template
tags:
- ESP32_IDF
- UT_T1_1
- psram
-
+
UT_004_11:
<<: *unit_test_template
tags:
- ESP32_IDF
- UT_T1_1
- psram
-
+
UT_005_01:
<<: *unit_test_template
tags:
- UT_T1_RMT
- psram
-UT_601_01:
+UT_011_01:
<<: *unit_test_template
tags:
- ESP32_IDF
- - UT_T1_1
-
-IT_001_01:
- <<: *test_template
- tags:
- - ESP32_IDF
- - SSC_T1_1
-
-IT_001_02:
- <<: *test_template
- tags:
- - ESP32_IDF
- - SSC_T1_1
+ - EMMC
-IT_001_03:
- <<: *test_template
- tags:
- - ESP32_IDF
- - SSC_T1_1
-
-IT_001_04:
- <<: *test_template
+UT_011_02:
+ <<: *unit_test_template
tags:
- ESP32_IDF
- - SSC_T1_1
+ - EMMC
-IT_001_05:
- <<: *test_template
+UT_011_03:
+ <<: *unit_test_template
tags:
- ESP32_IDF
- - SSC_T1_1
+ - EMMC
-IT_001_06:
- <<: *test_template
+UT_601_01:
+ <<: *unit_test_template
tags:
- ESP32_IDF
- - SSC_T1_1
+ - UT_T1_1
-IT_001_07:
+IT_001_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_1
+ - SSC_T1_4
-IT_001_08:
+IT_001_02:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_1
+ - SSC_T1_4
-IT_001_09:
+IT_001_03:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_1
+ - SSC_T1_4
IT_002_01:
<<: *test_template
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_02:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_03:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_04:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_05:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_06:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_07:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_08:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_09:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_10:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_11:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_12:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
IT_003_13:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T2_5
-IT_003_14:
+IT_004_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
+ - SSC_T1_APC
-IT_004_01:
+IT_005_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_APC
+ - SSC_T1_5
-IT_005_01:
+IT_005_02:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_WEP
+ - SSC_T1_5
-IT_009_01:
+IT_006_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_3
+ - SSC_T1_6
-IT_010_01:
+IT_006_02:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T5_1
+ - SSC_T1_6
-IT_011_01:
+IT_006_03:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T50_1
+ - SSC_T1_6
-IT_501_01:
+IT_006_04:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_1
- - stress_test
+ - SSC_T1_6
-IT_501_02:
+IT_006_05:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_1
- - stress_test
+ - SSC_T1_6
-IT_501_03:
+IT_007_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T1_1
- - stress_test
+ - SSC_T1_7
-IT_502_01:
+IT_007_02:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
- - stress_test
+ - SSC_T1_7
-IT_502_02:
+IT_008_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T2_1
- - stress_test
+ - SSC_T1_8
-IT_503_01:
+IT_009_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T5_1
- - stress_test
+ - SSC_T1_3
-IT_503_02:
+IT_010_01:
<<: *test_template
tags:
- ESP32_IDF
- SSC_T5_1
- - stress_test
-IT_503_03:
+IT_011_01:
<<: *test_template
tags:
- ESP32_IDF
- - SSC_T5_1
- - stress_test
+ - SSC_T50_1
+
+IT_012_01:
+ <<: *test_template
+ tags:
+ - ESP32_IDF
+ - SSC_T1_9
+
+IT_013_01:
+ <<: *test_template
+ tags:
+ - ESP32_IDF
+ - SSC_T2_2
+
+IT_013_02:
+ <<: *test_template
+ tags:
+ - ESP32_IDF
+ - SSC_T2_2
+
+IT_014_01:
+ <<: *test_template
+ tags:
+ - ESP32_IDF
+ - SSC_T2_3
+
+IT_015_01:
+ <<: *test_template
+ tags:
+ - ESP32_IDF
+ - SSC_T2_4