2016-08-22 10:19:08 +00:00
stages :
- build
2017-05-05 12:20:31 +00:00
- assign_test
2018-06-25 02:33:59 +00:00
- host_test
2018-11-26 08:40:32 +00:00
- target_test
2018-08-13 02:35:11 +00:00
- check
2016-08-22 10:19:08 +00:00
- deploy
2018-09-29 06:51:43 +00:00
- post_check
2016-08-22 10:19:08 +00:00
2017-06-07 01:58:35 +00:00
variables :
2017-06-12 07:22:09 +00:00
# System environment
2017-06-07 07:42:36 +00:00
# Common parameters for the 'make' during CI tests
MAKEFLAGS : "-j5 --no-keep-going"
2017-06-12 07:22:09 +00:00
# GitLab-CI environment
# more attempts for more robust
GET_SOURCES_ATTEMPTS : "10"
ARTIFACT_DOWNLOAD_ATTEMPTS : "10"
2019-03-06 11:37:34 +00:00
# We use get-full-sources.sh script to fetch the submodules and/or re-fetch the repo
2017-06-14 07:52:33 +00:00
# if it was corrupted (if submodule update fails this can happen)
GIT_STRATEGY : fetch
GIT_SUBMODULE_STRATEGY : none
2018-08-27 02:48:16 +00:00
UNIT_TEST_BUILD_SYSTEM : make
2017-06-07 07:42:36 +00:00
# IDF environment
2017-06-12 07:22:09 +00:00
2017-06-07 01:58:35 +00:00
IDF_PATH : "$CI_PROJECT_DIR"
2018-03-27 05:13:35 +00:00
BATCH_BUILD : "1"
V : "0"
2017-10-18 11:53:10 +00:00
APPLY_BOT_FILTER_SCRIPT : "$CI_PROJECT_DIR/tools/ci/apply_bot_filter.py"
CHECKOUT_REF_SCRIPT : "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
2019-03-20 05:48:44 +00:00
CUSTOM_TOOLCHAIN_PATH : "/opt/xtensa-custom"
2017-10-18 11:53:10 +00:00
2018-08-03 08:28:33 +00:00
# Docker images
BOT_DOCKER_IMAGE_TAG : ":latest"
2018-06-08 11:41:18 +00:00
# When 'fetch' strategy is used, Gitlab removes untracked files before checking out
# new revision. However if the new revision doesn't include some of the submodules
# which were present in the old revision, such submodule directories would not be
# removed by the checkout. This extra step ensures that these stale submodules
# are removed.
.git_clean_stale_submodules : &git_clean_stale_submodules >
find . -name '.git' -not -path './.git' -printf '%P\n'
2018-07-30 16:10:10 +00:00
| sed 's|/.git||'
2018-06-08 11:41:18 +00:00
| xargs -I {} sh -c '
2019-03-25 12:21:06 +00:00
grep -q "path = {}" .gitmodules
2018-07-30 16:10:10 +00:00
|| (echo "Removing {}, has .git directory but not in .gitmodules file"
2018-06-08 11:41:18 +00:00
&& rm -rf {});'
2017-10-18 11:53:10 +00:00
# before each job, we need to check if this job is filtered by bot stage/job filter
.apply_bot_filter : &apply_bot_filter
python $APPLY_BOT_FILTER_SCRIPT || exit 0
2017-06-07 01:58:35 +00:00
2019-03-20 05:48:44 +00:00
.setup_custom_toolchain : &setup_custom_toolchain |
if [ "$IDF_XTENSA_TOOLCHAIN_URL" ] ; then
echo "Use a custom toolchain: ${IDF_XTENSA_TOOLCHAIN_URL:-Unknown}"
rm -rf "$CUSTOM_TOOLCHAIN_PATH" &&
mkdir -p -v "$CUSTOM_TOOLCHAIN_PATH" &&
pushd "$CUSTOM_TOOLCHAIN_PATH" &&
curl -sSL -o xtensa-custom.xxx "$IDF_XTENSA_TOOLCHAIN_URL" &&
ls -l xtensa-custom.xxx &&
tar xf xtensa-custom.xxx --strip-components 1 &&
ls -l . &&
popd
PATH=$CUSTOM_TOOLCHAIN_PATH/bin:$PATH
export PATH
fi
.cleanup_custom_toolchain : &cleanup_custom_toolchain |
echo "Cleaning up $CUSTOM_TOOLCHAIN_PATH"
rm -rf "$CUSTOM_TOOLCHAIN_PATH"
2016-09-01 07:13:15 +00:00
before_script :
2018-09-25 12:43:07 +00:00
- source tools/ci/setup_python.sh
2018-06-08 11:41:18 +00:00
- *git_clean_stale_submodules
2017-10-18 11:53:10 +00:00
# apply bot filter in before script
- *apply_bot_filter
2016-09-13 01:34:28 +00:00
# add gitlab ssh key
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
2016-09-13 13:24:57 +00:00
- echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
2016-09-13 01:34:28 +00:00
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
2016-11-08 03:55:48 +00:00
2017-03-22 10:39:28 +00:00
# Set IS_PRIVATE or IS_PUBLIC depending on if our branch is public or not
#
# (the same regular expressions are used to set these are used in 'only:' sections below
2017-06-16 04:38:32 +00:00
- source tools/ci/configure_ci_environment.sh
2017-03-22 10:39:28 +00:00
2019-03-20 05:48:44 +00:00
- *setup_custom_toolchain
2017-06-14 07:52:33 +00:00
# fetch the submodules (& if necessary re-fetch repo) from gitlab
- time ./tools/ci/get-full-sources.sh
2016-09-01 07:13:15 +00:00
2018-08-13 02:35:11 +00:00
# used for check scripts which we want to run unconditionally
.do_nothing_before_no_filter :
before_script : &do_nothing_before_no_filter
2018-09-25 12:43:07 +00:00
- source tools/ci/setup_python.sh
2018-08-13 02:35:11 +00:00
- *git_clean_stale_submodules
2019-03-20 05:48:44 +00:00
- *setup_custom_toolchain
2018-08-13 02:35:11 +00:00
# used for everything else where we want to do no prep, except for bot filter
2017-06-26 10:42:28 +00:00
.do_nothing_before :
before_script : &do_nothing_before
2018-09-25 12:43:07 +00:00
- source tools/ci/setup_python.sh
2018-06-08 11:41:18 +00:00
- *git_clean_stale_submodules
2017-10-18 11:53:10 +00:00
# apply bot filter in before script
- *apply_bot_filter
2017-06-26 10:42:28 +00:00
- echo "Not setting up GitLab key, not fetching submodules"
- source tools/ci/configure_ci_environment.sh
2019-03-20 05:48:44 +00:00
- *setup_custom_toolchain
2017-06-26 10:42:28 +00:00
.add_gitlab_key_before :
before_script : &add_gitlab_key_before
2018-09-25 12:43:07 +00:00
- source tools/ci/setup_python.sh
2018-06-08 11:41:18 +00:00
- *git_clean_stale_submodules
2017-10-18 11:53:10 +00:00
# apply bot filter in before script
- *apply_bot_filter
2017-06-26 10:42:28 +00:00
- echo "Not fetching submodules"
- source tools/ci/configure_ci_environment.sh
2019-03-20 05:48:44 +00:00
- *setup_custom_toolchain
2017-06-26 10:42:28 +00:00
# add gitlab ssh key
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
2019-03-20 05:48:44 +00:00
after_script :
- *cleanup_custom_toolchain
2016-08-22 07:02:22 +00:00
build_template_app :
2016-08-22 10:19:08 +00:00
stage : build
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2016-09-09 02:49:03 +00:00
tags :
- build
2016-08-22 07:02:22 +00:00
variables :
2017-02-10 06:38:24 +00:00
BATCH_BUILD : "1"
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_REGULAR_TEST
2016-08-22 07:02:22 +00:00
script :
2018-11-14 06:13:28 +00:00
# Set the variable for 'esp-idf-template' testing
- ESP_IDF_TEMPLATE_GIT=${ESP_IDF_TEMPLATE_GIT:-"https://github.com/espressif/esp-idf-template.git"}
- git clone ${ESP_IDF_TEMPLATE_GIT}
2016-08-22 07:02:22 +00:00
- cd esp-idf-template
2016-09-01 08:58:06 +00:00
# Try to use the same branch name for esp-idf-template that we're
# using on esp-idf. If it doesn't exist then just stick to the default
# branch
2017-10-18 11:53:10 +00:00
- python $CHECKOUT_REF_SCRIPT esp-idf-template
2018-11-14 06:13:28 +00:00
- make defconfig
2016-10-17 04:45:42 +00:00
# Test debug build (default)
- make all V=1
# Now test release build
- make clean
- sed -i.bak -e's/CONFIG_OPTIMIZATION_LEVEL_DEBUG\=y/CONFIG_OPTIMIZATION_LEVEL_RELEASE=y/' sdkconfig
2016-09-09 00:49:35 +00:00
- make all V=1
2016-11-21 15:05:23 +00:00
# Check if there are any stray printf/ets_printf references in WiFi libs
2019-03-22 06:21:15 +00:00
- cd ../components/esp_wifi/lib_esp32
2018-04-03 07:37:28 +00:00
- test $(xtensa-esp32-elf-nm *.a | grep -w printf | wc -l) -eq 0
- test $(xtensa-esp32-elf-nm *.a | grep -w ets_printf | wc -l) -eq 0
2016-08-22 10:19:08 +00:00
2016-09-09 02:49:03 +00:00
2017-04-26 10:09:14 +00:00
.build_template : &build_template
2016-09-09 02:49:03 +00:00
stage : build
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2016-09-09 02:49:03 +00:00
tags :
- build
variables :
2017-02-10 06:38:24 +00:00
BATCH_BUILD : "1"
2017-04-20 03:43:20 +00:00
V : "0"
2016-09-09 02:49:03 +00:00
2017-12-01 04:00:40 +00:00
.build_ssc_template : &build_ssc_template
2016-09-09 02:49:03 +00:00
<< : *build_template
artifacts :
paths :
2017-06-09 10:14:29 +00:00
- SSC/ssc_bin
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2017-12-01 04:00:40 +00:00
variables :
SSC_CONFIG_FOLDER : "$CI_PROJECT_DIR/SSC/configs/ESP32_IDF"
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_INTEGRATION_TEST
- $BOT_LABEL_REGULAR_TEST
2016-09-09 02:49:03 +00:00
script :
2017-05-05 12:20:31 +00:00
- git clone $SSC_REPOSITORY
2016-09-09 02:49:03 +00:00
- cd SSC
2017-10-18 11:53:10 +00:00
- python $CHECKOUT_REF_SCRIPT SSC
2017-12-01 04:00:40 +00:00
- MAKEFLAGS= ./ci_build_ssc.sh "${CI_JOB_NAME}" "${IDF_PATH}/.gitlab-ci.yml"
# don't forget to add to dependency to test_template when adding new build_ssc jobs
build_ssc_00 :
<< : *build_ssc_template
build_ssc_01 :
<< : *build_ssc_template
build_ssc_02 :
<< : *build_ssc_template
2016-09-09 02:49:03 +00:00
2018-06-24 06:11:57 +00:00
# If you want to add new build ssc jobs, please add it into dependencies of `assign_test` and `.test_template`
2018-11-21 02:21:20 +00:00
.build_esp_idf_unit_test_template : &build_esp_idf_unit_test_template
2016-11-01 11:30:42 +00:00
<< : *build_template
artifacts :
paths :
2017-09-12 17:40:54 +00:00
- tools/unit-test-app/output
2017-06-09 10:14:29 +00:00
- components/idf_test/unit_test/TestCaseAll.yml
2018-09-20 08:11:54 +00:00
expire_in : 2 days
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_UNIT_TEST
- $BOT_LABEL_REGULAR_TEST
2018-11-21 02:21:20 +00:00
build_esp_idf_tests_make :
<< : *build_esp_idf_unit_test_template
2016-11-01 11:30:42 +00:00
script :
2018-11-27 11:16:18 +00:00
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
2018-11-21 02:21:20 +00:00
- export EXTRA_CXXFLAGS=${EXTRA_CFLAGS}
2018-08-27 02:48:16 +00:00
- cd $CI_PROJECT_DIR/tools/unit-test-app
2018-11-21 02:21:20 +00:00
- MAKEFLAGS= make help # make sure kconfig tools are built in single process
- make ut-clean-all-configs
- make ut-build-all-configs
- python tools/UnitTestParser.py
2018-11-27 11:16:18 +00:00
# Check if the tests demand Make built binaries. If not, delete them
2018-11-21 02:21:20 +00:00
- if [ "$UNIT_TEST_BUILD_SYSTEM" == "make" ]; then exit 0; fi
- rm -rf builds output sdkconfig
2019-03-10 06:15:43 +00:00
- rm $CI_PROJECT_DIR/components/idf_test/unit_test/TestCaseAll.yml
2018-11-21 02:21:20 +00:00
build_esp_idf_tests_cmake :
<< : *build_esp_idf_unit_test_template
script :
- export PATH="$IDF_PATH/tools:$PATH"
2018-11-27 11:16:18 +00:00
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
2017-10-18 13:09:53 +00:00
- export EXTRA_CXXFLAGS=${EXTRA_CFLAGS}
2018-11-21 02:21:20 +00:00
- cd $CI_PROJECT_DIR/tools/unit-test-app
2018-08-27 02:48:16 +00:00
- idf.py ut-clean-all-configs
- idf.py ut-build-all-configs
- python tools/UnitTestParser.py
2018-11-27 11:16:18 +00:00
# Check if the tests demand CMake built binaries. If not, delete them
2018-08-27 02:48:16 +00:00
- if [ "$UNIT_TEST_BUILD_SYSTEM" == "cmake" ]; then exit 0; fi
- rm -rf builds output sdkconfig
2019-03-10 06:15:43 +00:00
- rm $CI_PROJECT_DIR/components/idf_test/unit_test/TestCaseAll.yml
2016-11-01 11:30:42 +00:00
2018-09-13 04:32:41 +00:00
.build_examples_make_template : &build_examples_make_template
2016-10-11 05:41:05 +00:00
<< : *build_template
2018-10-31 10:33:51 +00:00
# This is a workaround for a rarely encountered issue with building examples in CI.
# Probably related to building of Kconfig in 'make clean' stage
2018-04-04 07:37:28 +00:00
retry : 1
2016-10-11 05:41:05 +00:00
artifacts :
2017-12-28 10:20:14 +00:00
when : always
2016-10-11 05:41:05 +00:00
paths :
2017-06-05 06:39:11 +00:00
- build_examples/*/*/*/build/*.bin
2018-12-07 14:15:34 +00:00
- build_examples/*/*/*/sdkconfig
2017-06-05 06:39:11 +00:00
- build_examples/*/*/*/build/*.elf
- build_examples/*/*/*/build/*.map
2017-10-10 02:55:25 +00:00
- build_examples/*/*/*/build/download.config
2017-06-05 06:39:11 +00:00
- build_examples/*/*/*/build/bootloader/*.bin
2017-12-28 10:20:14 +00:00
- $LOG_PATH
2018-09-20 08:11:54 +00:00
expire_in : 2 days
2017-06-06 10:26:31 +00:00
variables :
2018-09-13 04:32:41 +00:00
LOG_PATH : "$CI_PROJECT_DIR/log_examples_make"
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_EXAMPLE_TEST
- $BOT_LABEL_REGULAR_TEST
2019-01-31 16:09:34 +00:00
- $BOT_LABEL_WEEKEND_TEST
2016-10-11 05:41:05 +00:00
script :
# it's not possible to build 100% out-of-tree and have the "artifacts"
# mechanism work, but this is the next best thing
2017-09-01 03:42:39 +00:00
- rm -rf build_examples
2016-10-11 05:41:05 +00:00
- mkdir build_examples
- cd build_examples
2017-06-07 08:30:25 +00:00
# build some of examples
2017-12-28 10:20:14 +00:00
- mkdir -p ${LOG_PATH}
2017-06-16 04:38:32 +00:00
- ${IDF_PATH}/tools/ci/build_examples.sh "${CI_JOB_NAME}"
2017-06-07 08:30:25 +00:00
2018-09-13 04:32:41 +00:00
# same as above, but for CMake
.build_examples_cmake_template : &build_examples_cmake_template
<< : *build_template
artifacts :
when : always
paths :
- build_examples_cmake/*/*/*/build/*.bin
2018-12-07 14:15:34 +00:00
- build_examples_cmake/*/*/*/sdkconfig
2018-09-13 04:32:41 +00:00
- build_examples_cmake/*/*/*/build/*.elf
- build_examples_cmake/*/*/*/build/*.map
2019-02-12 01:55:08 +00:00
- build_examples_cmake/*/*/*/build/flasher_args.json
2018-09-13 04:32:41 +00:00
- build_examples_cmake/*/*/*/build/bootloader/*.bin
- $LOG_PATH
2018-09-20 08:11:54 +00:00
expire_in : 2 days
2018-09-13 04:32:41 +00:00
variables :
LOG_PATH : "$CI_PROJECT_DIR/log_examples_cmake"
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_EXAMPLE_TEST
- $BOT_LABEL_REGULAR_TEST
2019-01-31 16:09:34 +00:00
- $BOT_LABEL_WEEKEND_TEST
2018-09-13 04:32:41 +00:00
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
2017-06-07 08:30:25 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_01 :
<< : *build_examples_cmake_template
2017-06-07 08:30:25 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_02 :
<< : *build_examples_cmake_template
2017-06-07 08:30:25 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_03 :
<< : *build_examples_cmake_template
2017-06-07 08:30:25 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_04 :
<< : *build_examples_cmake_template
2016-10-11 05:41:05 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_05 :
<< : *build_examples_cmake_template
2017-09-01 07:29:51 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_06 :
<< : *build_examples_cmake_template
2017-09-01 07:29:51 +00:00
2018-09-13 04:32:41 +00:00
build_examples_cmake_07 :
<< : *build_examples_cmake_template
2017-11-22 14:40:49 +00:00
2018-06-24 06:11:57 +00:00
# If you want to add new build example jobs, please add it into dependencies of `.example_test_template`
2017-11-22 14:40:49 +00:00
2016-11-01 12:08:29 +00:00
build_docs :
stage : build
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2016-11-01 12:08:29 +00:00
tags :
- build_docs
2017-06-09 10:14:29 +00:00
artifacts :
2017-09-06 19:16:34 +00:00
when : always
2017-06-09 10:14:29 +00:00
paths :
2018-02-03 21:12:13 +00:00
# English version of documentation
- docs/en/doxygen-warning-log.txt
- docs/en/sphinx-warning-log.txt
- docs/en/sphinx-warning-log-sanitized.txt
- docs/en/_build/html
2018-06-28 15:45:41 +00:00
- docs/sphinx-err-*
2018-02-03 21:12:13 +00:00
# Chinese version of documentation
- docs/zh_CN/doxygen-warning-log.txt
- docs/zh_CN/sphinx-warning-log.txt
- docs/zh_CN/sphinx-warning-log-sanitized.txt
- docs/zh_CN/_build/html
2018-09-20 08:11:54 +00:00
expire_in : 1 day
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_BUILD_DOCS
- $BOT_LABEL_REGULAR_TEST
2016-11-01 12:08:29 +00:00
script :
2018-03-16 06:54:58 +00:00
- cd docs
- ./check_lang_folder_sync.sh
- cd en
2017-01-19 08:16:06 +00:00
- make gh-linkcheck
2018-11-01 04:56:07 +00:00
- make html
2018-02-03 21:12:13 +00:00
- ../check_doc_warnings.sh
- cd ../zh_CN
- make gh-linkcheck
- make html
- ../check_doc_warnings.sh
2016-11-01 12:08:29 +00:00
2018-11-27 08:31:37 +00:00
.check_job_template : &check_job_template
stage : check
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags :
- host_test
dependencies : [ ]
before_script : *do_nothing_before_no_filter
2018-03-20 01:27:00 +00:00
verify_cmake_style :
2018-11-27 08:31:37 +00:00
<< : *check_job_template
2018-03-20 01:27:00 +00:00
stage : build
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_REGULAR_TEST
2018-03-20 01:27:00 +00:00
script :
tools/cmake/run_cmake_lint.sh
2018-06-25 02:33:59 +00:00
.host_test_template : &host_test_template
stage : host_test
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2016-09-09 02:49:03 +00:00
tags :
2018-06-06 07:18:52 +00:00
- host_test
2017-06-09 11:05:17 +00:00
dependencies : [ ]
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_HOST_TEST
- $BOT_LABEL_REGULAR_TEST
2018-07-30 16:10:10 +00:00
2018-06-25 02:33:59 +00:00
test_nvs_on_host :
<< : *host_test_template
2016-08-23 04:54:09 +00:00
script :
2016-11-17 08:36:10 +00:00
- cd components/nvs_flash/test_nvs_host
2016-08-23 04:54:09 +00:00
- make test
2018-04-16 03:50:12 +00:00
test_nvs_coverage :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2018-04-16 03:50:12 +00:00
artifacts :
paths :
- components/nvs_flash/test_nvs_host/coverage_report
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2018-04-16 03:50:12 +00:00
only :
2018-09-29 06:51:43 +00:00
refs :
- triggers
variables :
- $BOT_LABEL_NVS_COVERAGE
2018-04-16 03:50:12 +00:00
script :
- cd components/nvs_flash/test_nvs_host
- make coverage_report
2017-05-12 02:30:27 +00:00
test_partition_table_on_host :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2017-05-12 02:30:27 +00:00
tags :
- build
script :
- cd components/partition_table/test_gen_esp32part_host
2018-09-17 12:27:36 +00:00
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./gen_esp32part_tests.py
2017-05-12 02:30:27 +00:00
2017-04-10 13:41:19 +00:00
test_wl_on_host :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2017-04-10 13:41:19 +00:00
artifacts :
paths :
- components/wear_levelling/test_wl_host/coverage_report.zip
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2017-04-10 13:41:19 +00:00
script :
- cd components/wear_levelling/test_wl_host
- make test
2018-05-22 10:26:19 +00:00
test_fatfs_on_host :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2018-05-22 10:26:19 +00:00
script :
- cd components/fatfs/test_fatfs_host/
- make test
2018-04-18 02:57:45 +00:00
test_ldgen_on_host :
<< : *host_test_template
script :
- cd tools/ldgen/test
- ./test_fragments.py
- ./test_generation.py
2018-07-27 07:26:51 +00:00
.host_fuzzer_test_template : &host_fuzzer_test_template
2018-06-11 06:32:40 +00:00
stage : host_test
2018-08-12 22:33:18 +00:00
image : $CI_DOCKER_REGISTRY/afl-fuzzer-test
2017-05-03 08:03:28 +00:00
tags :
2018-06-06 07:18:52 +00:00
- host_test
2018-06-11 06:32:40 +00:00
dependencies : [ ]
artifacts :
when : always
paths :
2018-07-27 07:26:51 +00:00
- ${FUZZER_TEST_DIR}/out/crashes
- ${FUZZER_TEST_DIR}/fuzz_output.log
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2018-06-11 06:32:40 +00:00
only :
2018-09-29 06:51:43 +00:00
variables :
- $BOT_LABEL_FUZZER_TEST
2019-02-15 20:38:41 +00:00
- $BOT_LABEL_WEEKEND_TEST
2018-06-11 06:32:40 +00:00
script :
- export AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES=1 && export AFL_SKIP_CPUFREQ=1
2018-07-27 07:26:51 +00:00
- cd ${FUZZER_TEST_DIR}
2018-06-11 06:32:40 +00:00
# run AFL fuzzer for one hour
2018-07-27 07:26:51 +00:00
- ( ( make ${FUZZER_PARAMS} fuzz | tee fuzz_output.log | grep -v '\(Fuzzing test case\|Entering queue cycle\)' ) || pkill sleep ) &
2018-06-11 06:32:40 +00:00
- ( sleep 3600 || mkdir -p out/crashes/env_failed ) && pkill afl-fuz
# check no crashes found
2018-07-27 07:26:51 +00:00
- test -z "$(ls out/crashes/)" || exit 1
test_mdns_fuzzer_on_host :
<< : *host_fuzzer_test_template
variables :
FUZZER_TEST_DIR : components/mdns/test_afl_fuzz_host
test_lwip_dns_fuzzer_on_host :
<< : *host_fuzzer_test_template
variables :
FUZZER_TEST_DIR : components/lwip/test_afl_host
FUZZER_PARAMS : MODE=dns
test_lwip_dhcp_fuzzer_on_host :
<< : *host_fuzzer_test_template
variables :
FUZZER_TEST_DIR : components/lwip/test_afl_host
FUZZER_PARAMS : MODE=dhcp_client
test_lwip_dhcps_fuzzer_on_host :
<< : *host_fuzzer_test_template
variables :
FUZZER_TEST_DIR : components/lwip/test_afl_host
FUZZER_PARAMS : MODE=dhcp_server
2018-06-11 06:32:40 +00:00
2018-05-22 10:26:19 +00:00
test_spiffs_on_host :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2018-05-22 10:26:19 +00:00
script :
- cd components/spiffs/test_spiffs_host/
- make test
2017-05-03 08:03:28 +00:00
test_multi_heap_on_host :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2017-05-03 08:03:28 +00:00
script :
- cd components/heap/test_multi_heap_host
2018-04-03 02:04:12 +00:00
- ./test_all_configs.sh
2017-05-03 08:03:28 +00:00
2018-05-16 06:54:22 +00:00
test_confserver :
2018-08-16 05:01:43 +00:00
<< : *host_test_template
2018-05-16 06:54:22 +00:00
script :
- cd tools/kconfig_new/test
2018-09-18 12:43:23 +00:00
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test_confserver.py
2018-05-16 06:54:22 +00:00
2016-08-24 04:16:26 +00:00
test_build_system :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2016-08-24 04:16:26 +00:00
script :
2017-09-04 01:15:04 +00:00
- ${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.sh
2016-08-24 04:16:26 +00:00
2018-04-17 23:30:27 +00:00
test_build_system_cmake :
2018-08-16 05:01:43 +00:00
<< : *host_test_template
2018-04-17 23:30:27 +00:00
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
2018-06-14 09:56:20 +00:00
test_idf_monitor :
<< : *host_test_template
2016-09-30 05:58:02 +00:00
artifacts :
2019-01-25 14:02:43 +00:00
# save artifacts always in order to access results which were retried without consequent failure
when : always
2016-09-30 05:58:02 +00:00
paths :
2018-06-14 09:56:20 +00:00
- tools/test_idf_monitor/outputs/*
expire_in : 1 week
2016-09-30 05:58:02 +00:00
script :
2018-06-14 09:56:20 +00:00
- cd ${IDF_PATH}/tools/test_idf_monitor
2018-11-06 10:36:46 +00:00
- ./run_test_idf_monitor.py
2016-09-09 02:49:03 +00:00
2018-07-23 09:46:59 +00:00
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
2018-08-27 11:47:53 +00:00
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test.sh
2018-07-23 09:46:59 +00:00
2018-02-01 12:14:47 +00:00
test_esp_err_to_name_on_host :
2018-06-25 02:33:59 +00:00
<< : *host_test_template
2018-08-02 09:01:04 +00:00
artifacts :
when : on_failure
paths :
- components/esp32/esp_err_to_name.c
expire_in : 1 week
2018-02-01 12:14:47 +00:00
script :
2018-08-27 11:47:53 +00:00
- cd ${IDF_PATH}/tools/
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 2.7.15 ./gen_esp_err_to_name.py
2018-12-05 13:00:36 +00:00
- 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; }
2018-08-27 11:47:53 +00:00
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.4.8 ./gen_esp_err_to_name.py
2018-12-05 13:00:36 +00:00
- git diff --exit-code -- ../components/esp32/esp_err_to_name.c || { echo 'Differences found between running under Python 2 and 3.'; exit 1; }
2018-02-01 12:14:47 +00:00
2018-12-07 11:28:57 +00:00
test_esp_efuse_table_on_host :
<< : *host_test_template
artifacts :
when : on_failure
paths :
- components/efuse/esp32/esp_efuse_table.c
expire_in : 1 week
script :
- cd ${IDF_PATH}/components/efuse/
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 2.7.15 ./efuse_table_gen.py ${IDF_PATH}/components/efuse/esp32/esp_efuse_table.csv
- git diff --exit-code -- esp32/esp_efuse_table.c || { echo 'Differences found. Please run make efuse_common_table or idf.py efuse_common_table and commit the changes.'; exit 1; }
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.4.8 ./efuse_table_gen.py ${IDF_PATH}/components/efuse/esp32/esp_efuse_table.csv
- git diff --exit-code -- ../components/esp32/esp_efuse_table.c || { echo 'Differences found between running under Python 2 and 3.'; exit 1; }
- cd ${IDF_PATH}/components/efuse/test_efuse_host
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./efuse_tests.py
2018-09-03 11:48:32 +00:00
test_espcoredump :
<< : *host_test_template
artifacts :
when : always
paths :
- components/espcoredump/test/.coverage
- components/espcoredump/test/output
expire_in : 1 week
script :
- cd components/espcoredump/test/
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test_espcoredump.sh
2018-12-13 22:18:16 +00:00
test_logtrace_proc :
<< : *host_test_template
artifacts :
when : on_failure
paths :
- tools/esp_app_trace/test/logtrace/output
- tools/esp_app_trace/test/logtrace/.coverage
expire_in : 1 week
script :
- cd ${IDF_PATH}/tools/esp_app_trace/test/logtrace
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test.sh
test_sysviewtrace_proc :
2018-12-12 17:38:23 +00:00
<< : *host_test_template
artifacts :
when : on_failure
paths :
- tools/esp_app_trace/test/sysview/output
- tools/esp_app_trace/test/sysview/.coverage
expire_in : 1 week
script :
- cd ${IDF_PATH}/tools/esp_app_trace/test/sysview
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ./test.sh
2018-07-27 02:01:58 +00:00
push_to_github :
2016-09-26 06:32:58 +00:00
stage : deploy
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2017-04-26 10:09:14 +00:00
tags :
- deploy
2016-09-26 06:32:58 +00:00
only :
- master
2017-03-22 10:25:28 +00:00
- /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/
2016-09-26 06:32:58 +00:00
when : on_success
2017-06-09 11:05:17 +00:00
dependencies : [ ]
2017-06-26 10:42:28 +00:00
before_script : *do_nothing_before
2016-09-26 06:32:58 +00:00
script :
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -n $GH_PUSH_KEY > ~/.ssh/id_rsa_base64
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
2017-07-04 03:52:57 +00:00
- git remote remove github &>/dev/null || true
2016-09-26 06:32:58 +00:00
- git remote add github git@github.com:espressif/esp-idf.git
2018-08-16 01:04:28 +00:00
- tools/ci/push_to_github.sh
2016-09-26 06:32:58 +00:00
2016-11-01 12:58:47 +00:00
deploy_docs :
2018-09-29 06:51:43 +00:00
stage : deploy
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2017-04-26 10:09:14 +00:00
tags :
- deploy
2016-11-01 12:58:47 +00:00
only :
2018-09-29 06:51:43 +00:00
refs :
- master
- /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/
- triggers
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD_DOCS
2017-06-09 11:05:17 +00:00
dependencies :
- build_docs
2017-06-26 10:42:28 +00:00
before_script : *do_nothing_before
2016-11-01 12:58:47 +00:00
script :
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
- export GIT_VER=$(git describe --always)
2018-02-09 09:17:06 +00:00
- cd docs/en/_build/
- mv html $GIT_VER
- tar czvf $GIT_VER.tar.gz $GIT_VER
- scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH/en
- ssh $DOCS_SERVER -x "cd $DOCS_PATH/en && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
- cd ../../zh_CN/_build/
2016-11-01 12:58:47 +00:00
- mv html $GIT_VER
- tar czvf $GIT_VER.tar.gz $GIT_VER
2018-02-09 09:17:06 +00:00
- scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH/zh_CN
- ssh $DOCS_SERVER -x "cd $DOCS_PATH/zh_CN && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
2018-02-12 06:30:02 +00:00
# add link to preview doc
- echo "[document preview][en] $CI_DOCKER_REGISTRY/docs/esp-idf/en/${GIT_VER}/index.html"
- echo "[document preview][zh_CN] $CI_DOCKER_REGISTRY/docs/esp-idf/zh_CN/${GIT_VER}/index.html"
2016-11-01 12:58:47 +00:00
2019-03-08 07:28:43 +00:00
update_test_cases :
stage : assign_test
image : $CI_DOCKER_REGISTRY/ubuntu-test-env
tags :
- deploy_test
only :
refs :
- master
- schedules
variables :
- $DEPLOY_TEST_RESULT_TO_JIRA == "Yes"
dependencies :
- build_esp_idf_tests_make
- build_esp_idf_tests_cmake
artifacts :
when : always
paths :
- ${CI_PROJECT_DIR}/test-management/*.log
expire_in : 1 week
variables :
UNIT_TEST_CASE_FILE : "${CI_PROJECT_DIR}/components/idf_test/unit_test/TestCaseAll.yml"
BOT_ACCOUNT_CONFIG_FILE : "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
TEST_FW_PATH : "$CI_PROJECT_DIR/tools/tiny-test-fw"
AUTO_TEST_SCRIPT_PATH : "${CI_PROJECT_DIR}/auto_test_script"
PYTHON_VER : 3
script :
- export GIT_SHA=$(echo ${CI_COMMIT_SHA} | cut -c 1-8)
- git clone $TEST_MANAGEMENT_REPO
- cd test-management
- python $CHECKOUT_REF_SCRIPT test-management
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
# update unit test cases
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT unity -d $UNIT_TEST_CASE_FILE -r $GIT_SHA
# update example test cases
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT tiny_test_fw -d ${CI_PROJECT_DIR}/examples -r $GIT_SHA
# organize test cases
- python OrganizeTestCases.py $JIRA_TEST_MANAGEMENT_PROJECT
deploy_test_result :
stage : deploy
image : $CI_DOCKER_REGISTRY/bot-env
tags :
- deploy_test
when : always
only :
2019-04-21 05:14:28 +00:00
refs :
- master
- schedules
2019-03-08 07:28:43 +00:00
variables :
- $DEPLOY_TEST_RESULT_TO_JIRA == "Yes"
artifacts :
when : always
paths :
- ${CI_PROJECT_DIR}/test-management/*.log
# save all test logs as artifacts, make it easier to track errors
- ${CI_PROJECT_DIR}/TEST_LOGS
- $CI_PROJECT_DIR/$CI_COMMIT_SHA
expire_in : 1 mos
variables :
UNIT_TEST_CASE_FILE : "${CI_PROJECT_DIR}/components/idf_test/unit_test/TestCaseAll.yml"
BOT_ACCOUNT_CONFIG_FILE : "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
TEST_FW_PATH : "$CI_PROJECT_DIR/tools/tiny-test-fw"
AUTO_TEST_SCRIPT_PATH : "${CI_PROJECT_DIR}/auto_test_script"
before_script :
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
script :
- export GIT_SHA=$(echo ${CI_COMMIT_SHA} | cut -c 1-8)
- export REV_COUNT=$(git rev-list --count HEAD)
- export SUMMARY="IDF CI test result for $GIT_SHA (r${REV_COUNT})"
# artifacts of job update_test_cases creates test-management folder
# we need to remove it so we can clone test-management folder again
- rm -r test-management
- git clone $TEST_MANAGEMENT_REPO
- cd test-management
- python3 $CHECKOUT_REF_SCRIPT test-management
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
# update test results
- python3 ImportTestResult.py -r "$GIT_SHA (r${REV_COUNT})" -j $JIRA_TEST_MANAGEMENT_PROJECT -s "$SUMMARY" -l CI -p ${CI_PROJECT_DIR}/TEST_LOGS ${CI_PROJECT_DIR}/${CI_COMMIT_SHA} --pipeline_url ${CI_PIPELINE_URL}
2017-01-19 08:16:06 +00:00
check_doc_links :
2018-06-25 02:33:59 +00:00
stage : host_test
2017-11-23 02:13:14 +00:00
image : $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
2017-01-19 08:16:06 +00:00
tags :
- check_doc_links
only :
2018-09-29 06:51:43 +00:00
refs :
# can only be triggered
- triggers
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD_DOCS
2017-06-09 10:14:29 +00:00
artifacts :
paths :
- docs/_build/linkcheck
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2017-01-19 08:16:06 +00:00
script :
# must be triggered with CHECK_LINKS=Yes, otherwise exit without test
2017-03-04 10:17:59 +00:00
- test "$CHECK_LINKS" = "Yes" || exit 0
2017-01-19 08:16:06 +00:00
# can only run on master branch (otherwise the commit is not on Github yet)
2017-05-31 09:20:29 +00:00
- test "${CI_COMMIT_REF_NAME}" = "master" || exit 0
2017-01-19 08:16:06 +00:00
- cd docs
- make linkcheck
2018-09-20 08:11:54 +00:00
check_line_endings :
<< : *check_job_template
2018-03-23 06:05:16 +00:00
script :
- tools/ci/check-line-endings.sh ${IDF_PATH}
2017-03-31 10:52:59 +00:00
check_commit_msg :
2018-09-20 08:11:54 +00:00
<< : *check_job_template
2017-03-31 10:52:59 +00:00
script :
2017-06-16 04:36:34 +00:00
- git status
- git log -n10 --oneline
2017-03-31 10:52:59 +00:00
# commit start with "WIP: " need to be squashed before merge
2017-06-16 04:36:34 +00:00
- 'git log --pretty=%s master.. -- | grep "^WIP: " && exit 1 || exit 0'
2016-11-01 12:58:47 +00:00
2018-05-28 18:01:43 +00:00
check_permissions :
2018-09-20 08:11:54 +00:00
<< : *check_job_template
2018-05-28 18:01:43 +00:00
script :
- tools/ci/check-executable.sh
2018-08-28 03:10:48 +00:00
check_examples_cmake_make :
2018-09-20 08:11:54 +00:00
<< : *check_job_template
2018-08-28 03:10:48 +00:00
except :
- master
- /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/
before_script : *do_nothing_before
script :
- tools/ci/check_examples_cmake_make.sh
2018-11-20 07:45:22 +00:00
check_python_style :
<< : *check_job_template
artifacts :
when : on_failure
paths :
- flake8_output.txt
expire_in : 1 week
before_script : *do_nothing_before
script :
# run it only under Python 3 (it is very slow under Python 2)
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.4.8 python -m flake8 --config=$IDF_PATH/.flake8 --output-file=flake8_output.txt --tee --benchmark $IDF_PATH
2018-12-06 14:08:18 +00:00
check_kconfigs :
<< : *check_job_template
before_script : *do_nothing_before
artifacts :
when : on_failure
paths :
- components/*/Kconfig*.new
- examples/*/*/*/Kconfig*.new
- examples/*/*/*/*/Kconfig*.new
- tools/*/Kconfig*.new
- tools/*/*/Kconfig*.new
- tools/*/*/*/Kconfig*.new
expire_in : 1 week
script :
- ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ${IDF_PATH}/tools/test_check_kconfigs.py
- ${IDF_PATH}/tools/check_kconfigs.py
2018-08-27 02:48:16 +00:00
check_ut_cmake_make :
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
script :
- tools/ci/check_ut_cmake_make.sh
2017-06-08 03:55:27 +00:00
check_submodule_sync :
2018-09-20 08:11:54 +00:00
<< : *check_job_template
2019-02-24 23:41:39 +00:00
tags :
- github_sync
2017-06-19 01:59:18 +00:00
variables :
GIT_STRATEGY : clone
2019-02-20 23:48:55 +00:00
retry : 2
2017-06-08 03:55:27 +00:00
script :
# check if all submodules are correctly synced to public repostory
- git submodule update --init --recursive
2018-09-20 08:11:54 +00:00
check_artifacts_expire_time :
<< : *check_job_template
script :
# check if we have set expire time for all artifacts
- python tools/ci/check_artifacts_expire_time.py
2018-09-29 06:51:43 +00:00
check_pipeline_triggered_by_label :
<< : *check_job_template
stage : post_check
only :
variables :
- $BOT_TRIGGER_WITH_LABEL
script :
# If the pipeline is triggered with label, the pipeline will only succeeded if "regular_test" label is added.
# We want to make sure some jobs are always executed to detect regression.
2019-03-13 23:15:49 +00:00
- test "$BOT_LABEL_REGULAR_TEST" = "true" || { echo "CI can only pass if 'regular_test' label is included"; exit -1; }
2018-09-29 06:51:43 +00:00
2017-05-05 12:20:31 +00:00
assign_test :
2018-01-08 12:33:09 +00:00
tags :
- assign_test
2018-08-03 08:28:33 +00:00
image : $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
2017-05-05 12:20:31 +00:00
stage : assign_test
2017-10-10 02:55:25 +00:00
# gitlab ci do not support match job with RegEx or wildcard now in dependencies.
# we have a lot build example jobs. now we don't use dependencies, just download all artificats of build stage.
2018-01-08 12:33:09 +00:00
dependencies :
- build_ssc_00
- build_ssc_01
- build_ssc_02
2018-11-21 02:21:20 +00:00
- build_esp_idf_tests_make
- build_esp_idf_tests_cmake
2017-09-13 12:39:43 +00:00
variables :
2017-10-10 02:55:25 +00:00
TEST_FW_PATH : "$CI_PROJECT_DIR/tools/tiny-test-fw"
EXAMPLE_CONFIG_OUTPUT_PATH : "$CI_PROJECT_DIR/examples/test_configs"
2017-05-05 12:20:31 +00:00
artifacts :
paths :
- components/idf_test/*/CIConfigs
- components/idf_test/*/TC.sqlite
2017-10-10 02:55:25 +00:00
- $EXAMPLE_CONFIG_OUTPUT_PATH
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2018-09-29 06:51:43 +00:00
only :
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_UNIT_TEST
- $BOT_LABEL_INTEGRATION_TEST
- $BOT_LABEL_EXAMPLE_TEST
2017-05-05 12:20:31 +00:00
script :
2017-10-10 02:55:25 +00:00
# assign example tests
- python $TEST_FW_PATH/CIAssignExampleTest.py $IDF_PATH/examples $IDF_PATH/.gitlab-ci.yml $EXAMPLE_CONFIG_OUTPUT_PATH
2018-01-31 10:59:10 +00:00
# assign unit test cases
- python $TEST_FW_PATH/CIAssignUnitTest.py $IDF_PATH/components/idf_test/unit_test/TestCaseAll.yml $IDF_PATH/.gitlab-ci.yml $IDF_PATH/components/idf_test/unit_test/CIConfigs
2017-05-05 12:20:31 +00:00
# clone test script to assign tests
- git clone $TEST_SCRIPT_REPOSITORY
- cd auto_test_script
2017-10-18 11:53:10 +00:00
- python $CHECKOUT_REF_SCRIPT auto_test_script
2017-05-05 12:20:31 +00:00
# assgin integration test cases
2017-12-01 04:00:40 +00:00
- python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/integration_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/SSC/ssc_bin
2017-05-05 12:20:31 +00:00
2017-10-10 02:55:25 +00:00
.example_test_template : &example_test_template
2018-11-26 08:40:32 +00:00
stage : target_test
2017-10-10 02:55:25 +00:00
when : on_success
only :
2018-09-29 06:51:43 +00:00
refs :
- master
- /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/
- triggers
- schedules
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_EXAMPLE_TEST
2018-06-24 06:11:57 +00:00
dependencies :
- assign_test
2018-09-13 04:32:41 +00:00
- 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
2017-10-10 02:55:25 +00:00
artifacts :
when : always
paths :
- $LOG_PATH
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2018-11-13 13:26:58 +00:00
reports :
junit : $LOG_PATH/*/XUNIT_RESULT.xml
2017-10-10 02:55:25 +00:00
variables :
TEST_FW_PATH : "$CI_PROJECT_DIR/tools/tiny-test-fw"
TEST_CASE_PATH : "$CI_PROJECT_DIR/examples"
CONFIG_FILE : "$CI_PROJECT_DIR/examples/test_configs/$CI_JOB_NAME.yml"
LOG_PATH : "$CI_PROJECT_DIR/TEST_LOGS"
2018-01-08 12:33:09 +00:00
ENV_FILE : "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
2017-10-10 02:55:25 +00:00
script :
# first test if config file exists, if not exist, exit 0
- test -e $CONFIG_FILE || exit 0
2018-01-08 12:33:09 +00:00
# clone test env configs
- git clone $TEST_ENV_CONFIG_REPOSITORY
- cd ci-test-runner-configs
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs
2017-10-10 02:55:25 +00:00
- cd $TEST_FW_PATH
# run test
2018-01-08 12:33:09 +00:00
- python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE
2017-10-10 02:55:25 +00:00
2018-01-31 10:59:10 +00:00
.unit_test_template : &unit_test_template
<< : *example_test_template
2018-11-26 08:40:32 +00:00
stage : target_test
2018-01-31 10:59:10 +00:00
dependencies :
- assign_test
2018-11-21 02:21:20 +00:00
- build_esp_idf_tests_make
- build_esp_idf_tests_cmake
2018-09-29 06:51:43 +00:00
only :
refs :
- master
- /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/
- triggers
- schedules
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_UNIT_TEST
2018-01-31 10:59:10 +00:00
variables :
TEST_FW_PATH : "$CI_PROJECT_DIR/tools/tiny-test-fw"
TEST_CASE_PATH : "$CI_PROJECT_DIR/tools/unit-test-app"
CONFIG_FILE : "$CI_PROJECT_DIR/components/idf_test/unit_test/CIConfigs/$CI_JOB_NAME.yml"
LOG_PATH : "$CI_PROJECT_DIR/TEST_LOGS"
2018-01-08 12:33:09 +00:00
ENV_FILE : "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
2018-01-31 10:59:10 +00:00
2019-01-31 16:09:34 +00:00
test_weekend_mqtt :
<< : *example_test_template
stage : target_test
tags :
- ESP32
- Example_WIFI
only :
variables :
- $BOT_LABEL_WEEKEND_TEST
variables :
TEST_CASE_PATH : "$CI_PROJECT_DIR/components/mqtt/weekend_test"
TEST_FW_PATH : "$CI_PROJECT_DIR/tools/tiny-test-fw"
LOG_PATH : "$CI_PROJECT_DIR/TEST_LOGS"
ENV_FILE : "$CI_PROJECT_DIR/components/mqtt/weekend_test/env.yml"
CONFIG_FILE : "$CI_PROJECT_DIR/components/mqtt/weekend_test/config.yml"
2016-09-09 02:49:03 +00:00
.test_template : &test_template
2018-11-26 08:40:32 +00:00
stage : target_test
2016-09-09 02:49:03 +00:00
when : on_success
only :
2018-09-29 06:51:43 +00:00
refs :
- master
- /^release\/v/
- /^v\d+\.\d+(\.\d+)?($|-)/
- triggers
- schedules
variables :
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_INTEGRATION_TEST
2017-05-05 12:20:31 +00:00
dependencies :
- assign_test
2017-12-01 04:00:40 +00:00
- build_ssc_00
- build_ssc_01
- build_ssc_02
2017-06-09 10:14:29 +00:00
artifacts :
when : always
2018-11-29 15:12:12 +00:00
reports :
junit : $LOG_PATH/*/XUNIT_RESULT.xml
2017-06-09 10:14:29 +00:00
paths :
- $LOG_PATH
2018-09-20 08:11:54 +00:00
expire_in : 1 week
2016-09-09 02:49:03 +00:00
variables :
2017-05-05 12:20:31 +00:00
LOCAL_ENV_CONFIG_PATH : "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
2017-05-31 09:20:29 +00:00
LOG_PATH : "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
2016-11-01 11:30:42 +00:00
TEST_CASE_FILE_PATH : "$CI_PROJECT_DIR/components/idf_test/integration_test"
2017-05-05 12:20:31 +00:00
MODULE_UPDATE_FILE : "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
2017-05-31 09:20:29 +00:00
CONFIG_FILE : "$CI_PROJECT_DIR/components/idf_test/integration_test/CIConfigs/$CI_JOB_NAME.yml"
2017-06-26 10:42:28 +00:00
before_script : *add_gitlab_key_before
2017-06-14 07:52:33 +00:00
script :
# first test if config file exists, if not exist, exit 0
- test -e $CONFIG_FILE || exit 0
2017-02-02 13:59:00 +00:00
# clone local test env configs
2017-05-05 12:20:31 +00:00
- git clone $TEST_ENV_CONFIG_REPOSITORY
2017-10-18 11:53:10 +00:00
- cd ci-test-runner-configs
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs
2016-09-29 05:38:29 +00:00
# clone test bench
2017-05-05 12:20:31 +00:00
- git clone $TEST_SCRIPT_REPOSITORY
2016-09-27 08:22:18 +00:00
- cd auto_test_script
2017-10-18 11:53:10 +00:00
- python $CHECKOUT_REF_SCRIPT auto_test_script
2016-09-29 05:38:29 +00:00
# run test
2017-05-31 09:20:29 +00:00
- python CIRunner.py -l "$LOG_PATH/$CI_JOB_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH -m $MODULE_UPDATE_FILE
2016-09-26 06:32:58 +00:00
2017-06-02 07:03:56 +00:00
nvs_compatible_test :
<< : *test_template
artifacts :
when : always
paths :
- $LOG_PATH
2017-06-09 10:14:29 +00:00
- nvs_wifi.bin
2018-06-24 06:11:57 +00:00
expire_in : 1 mos
2017-06-02 07:03:56 +00:00
tags :
- ESP32_IDF
- NVS_Compatible
script :
# clone local test env configs
- git clone $TEST_ENV_CONFIG_REPOSITORY
2017-10-18 11:53:10 +00:00
- cd ci-test-runner-configs
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs
2017-06-02 07:03:56 +00:00
# clone test bench
- git clone $TEST_SCRIPT_REPOSITORY
- cd auto_test_script
- git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
# prepare nvs bins
- ./Tools/prepare_nvs_bin.sh
# run test
- python CIRunner.py -l "$LOG_PATH/$CI_JOB_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH -m $MODULE_UPDATE_FILE
2017-10-10 02:55:25 +00:00
example_test_001_01 :
<< : *example_test_template
tags :
- ESP32
- Example_WIFI
2018-10-26 05:14:19 +00:00
example_test_001_02 :
<< : *example_test_template
tags :
- ESP32
- Example_WIFI
2018-01-08 12:33:09 +00:00
example_test_002_01 :
<< : *example_test_template
2018-08-03 08:28:33 +00:00
image : $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
2018-01-08 12:33:09 +00:00
tags :
- ESP32
2018-10-24 05:34:05 +00:00
- Example_ShieldBox_Basic
2018-01-08 12:33:09 +00:00
2019-02-14 07:51:21 +00:00
.example_test_003_01 :
2018-05-29 08:33:24 +00:00
<< : *example_test_template
tags :
- ESP32
- Example_SDIO
2017-12-18 12:32:29 +00:00
example_test_004_01 :
<< : *example_test_template
tags :
- ESP32
- Example_CAN
2018-07-30 16:10:10 +00:00
example_test_005_01 :
<< : *example_test_template
tags :
- ESP32
- Example_WIFI_BT
2018-10-24 05:34:05 +00:00
example_test_006_01 :
<< : *example_test_template
image : $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
only :
variables :
- $BOT_LABEL_IPERF_STRESS_TEST
tags :
- ESP32
- Example_ShieldBox
2018-10-18 03:25:22 +00:00
example_test_007_01 :
<< : *example_test_template
tags :
- ESP32
- Example_I2C_CCS811_SENSOR
2017-05-05 12:20:31 +00:00
UT_001_01 :
2016-11-01 12:33:23 +00:00
<< : *unit_test_template
2016-11-01 11:30:42 +00:00
tags :
- ESP32_IDF
- UT_T1_1
2017-05-05 12:20:31 +00:00
UT_001_02 :
2016-12-07 05:58:51 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-05-05 12:20:31 +00:00
UT_001_03 :
<< : *unit_test_template
2017-06-03 01:56:13 +00:00
tags :
- ESP32_IDF
- UT_T1_1
UT_001_04 :
<< : *unit_test_template
2016-09-26 06:32:58 +00:00
tags :
- ESP32_IDF
2017-05-05 12:20:31 +00:00
- UT_T1_1
2016-09-09 02:49:03 +00:00
2017-08-11 07:25:55 +00:00
UT_001_05 :
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_1
2017-08-11 07:25:55 +00:00
UT_001_06 :
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_1
2017-08-11 07:25:55 +00:00
2017-09-04 12:39:35 +00:00
UT_001_07 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-09-13 12:39:43 +00:00
UT_001_08 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-11-23 08:51:28 +00:00
UT_001_09 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-11 08:42:52 +00:00
UT_001_10 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_11 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_12 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_13 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_14 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_15 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_1
2017-09-13 12:39:43 +00:00
2018-05-15 03:51:56 +00:00
UT_001_16 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_17 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_18 :
2017-11-23 08:51:28 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_19 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_20 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_21 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_22 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_23 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_001_24 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-06-04 07:39:18 +00:00
UT_001_25 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-08-26 04:15:51 +00:00
2018-06-04 07:39:18 +00:00
UT_001_26 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_001_27 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-04-28 10:56:25 +00:00
UT_001_28 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_001_29 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-12-17 02:24:49 +00:00
UT_001_30 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-06-08 12:09:00 +00:00
UT_001_31 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-08-26 04:15:51 +00:00
2018-06-26 09:13:04 +00:00
UT_001_32 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_001_33 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-08-26 04:15:51 +00:00
2018-06-26 09:13:04 +00:00
UT_001_34 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-06-08 12:09:00 +00:00
2018-06-15 11:08:44 +00:00
UT_001_35 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_001_36 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-10-26 05:14:19 +00:00
UT_001_37 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_001_38 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-10-29 15:55:02 +00:00
UT_001_39 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-11-05 15:19:30 +00:00
UT_001_40 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-12-27 09:42:41 +00:00
UT_001_41 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_001_42 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2019-02-20 13:01:27 +00:00
UT_001_43 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2019-03-04 10:51:46 +00:00
UT_001_43 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
UT_002_01 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_SDMODE
2018-05-15 03:51:56 +00:00
UT_002_02 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SDMODE
2017-09-13 12:39:43 +00:00
2018-05-15 03:51:56 +00:00
UT_002_03 :
2017-09-13 12:39:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SDMODE
2017-09-04 12:39:35 +00:00
2018-05-15 03:51:56 +00:00
UT_003_01 :
2017-11-05 13:50:43 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SPIMODE
2017-11-05 13:50:43 +00:00
2018-05-15 03:51:56 +00:00
UT_003_02 :
2017-12-11 04:11:24 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SPIMODE
2017-12-11 04:11:24 +00:00
2018-05-15 03:51:56 +00:00
UT_003_03 :
2018-05-11 08:42:52 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SPIMODE
2017-12-11 04:11:24 +00:00
2017-10-19 13:39:45 +00:00
UT_004_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
- psram
2017-10-19 13:39:45 +00:00
UT_004_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
- psram
2017-10-19 13:39:45 +00:00
UT_004_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
- psram
2017-10-19 13:39:45 +00:00
UT_004_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
- psram
2017-10-19 13:39:45 +00:00
UT_004_05 :
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_1
- psram
2017-10-19 13:39:45 +00:00
UT_004_06 :
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_1
- psram
2017-10-19 13:39:45 +00:00
UT_004_07 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
- psram
2017-10-19 13:39:45 +00:00
UT_004_08 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-05-15 03:51:56 +00:00
- psram
2017-10-19 13:39:45 +00:00
2018-06-04 07:39:18 +00:00
UT_004_09 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2017-12-17 02:24:49 +00:00
UT_004_10 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-12-27 09:42:41 +00:00
- psram
2018-08-26 04:15:51 +00:00
2018-06-26 09:13:04 +00:00
UT_004_11 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2018-08-26 04:15:51 +00:00
2018-03-22 13:39:19 +00:00
UT_004_12 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
UT_004_13 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2018-10-16 11:06:41 +00:00
2018-11-20 05:44:11 +00:00
UT_004_14 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
UT_004_15 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2019-01-04 12:38:33 +00:00
UT_004_16 :
2017-12-27 09:42:41 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2019-04-10 01:00:35 +00:00
UT_004_17 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2019-04-12 01:31:23 +00:00
UT_004_18 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
UT_004_19 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- psram
2018-05-15 03:51:56 +00:00
UT_005_01 :
2017-11-23 08:51:28 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SDMODE
- psram
2018-05-07 07:01:56 +00:00
2018-05-15 03:51:56 +00:00
UT_005_02 :
2018-05-11 08:42:52 +00:00
<< : *unit_test_template
tags :
- ESP32_IDF
2018-05-15 03:51:56 +00:00
- UT_T1_SPIMODE
- psram
2017-11-23 08:51:28 +00:00
2018-03-22 13:39:19 +00:00
UT_005_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_SPIMODE
- psram
2017-12-17 02:19:51 +00:00
UT_006_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_GPIO
UT_006_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_GPIO
UT_006_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_GPIO
UT_006_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_GPIO
- psram
2017-12-17 02:22:22 +00:00
2018-06-06 11:56:43 +00:00
UT_007_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_PCNT
UT_007_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_PCNT
UT_007_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_PCNT
UT_007_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_PCNT
- psram
2017-12-17 02:22:22 +00:00
UT_008_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_LEDC
UT_008_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_LEDC
UT_008_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_LEDC
UT_008_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_LEDC
- psram
2017-12-27 09:42:41 +00:00
2018-07-03 14:17:03 +00:00
UT_009_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_RS485
UT_009_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_RS485
2017-12-27 09:42:41 +00:00
2018-07-03 14:17:03 +00:00
UT_009_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_RS485
UT_009_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_RS485
- psram
2017-12-17 02:19:51 +00:00
2018-01-02 12:17:49 +00:00
UT_010_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_RMT
UT_010_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_RMT
UT_010_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_RMT
UT_010_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_RMT
- psram
2018-06-04 14:00:26 +00:00
UT_011_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- EMMC
UT_011_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- EMMC
UT_011_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- EMMC
2018-06-29 03:05:36 +00:00
UT_012_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- 8Mpsram
UT_012_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- 8Mpsram
UT_012_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- 8Mpsram
2018-10-16 11:06:41 +00:00
UT_012_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- 8Mpsram
UT_012_05 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
- 8Mpsram
spi: add new test for timing and mode
New unit tests added
------------------------
**Local:** Local test uses the GPIO matrix to connect the master and the
slave on the same board. When the master needs the iomux, the master
uses the GPIOs of its own, the slave connect to the pins by GPIO matrix;
When the slave needs the iomux, the slave uses the GPIOs of its own, the
master connects to the pins by GPIO matrix.
- Provide a new unit test which performs freq scanning in mode 0. It
scans frequency of 1M, 8M, 9M and all frequency steps up to the maximum
frequency allowed.
**M & S**: Master & slave tests performs the test with two boards. The
master and slave use iomux or gpio matrix according to the config.
- Provide a new unit test which performs freq scanning in mode 0. It
scans frequency of 1M, 8M, 9M and all frequency steps up to the maximum
frequency allowed.
- Provide a new unit test which performs mode test with significant
frequencies. It tests mode 0,1,2,3 with low frequency, and the maximum
frequency allowed.
2018-09-21 08:48:04 +00:00
UT_013_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- Example_SPI_Multi_device
UT_013_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- Example_SPI_Multi_device
UT_013_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- Example_SPI_Multi_device
UT_013_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- Example_SPI_Multi_device
- psram
2017-12-17 02:21:14 +00:00
UT_014_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_I2C
UT_014_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_I2C
UT_014_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_I2C
UT_014_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_I2C
- psram
2017-12-27 09:42:41 +00:00
UT_015_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_MCPWM
UT_015_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_MCPWM
UT_015_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_MCPWM
UT_015_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_MCPWM
- psram
2018-07-07 08:04:12 +00:00
UT_016_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_I2S
UT_016_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_I2S
UT_016_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_I2S
UT_016_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_I2S
- psram
2018-11-28 13:53:06 +00:00
UT_017_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_1
UT_017_02 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_1
UT_017_03 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_1
UT_017_04 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_1
- psram
UT_017_05 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T2_1
- 8Mpsram
2019-04-12 12:14:58 +00:00
UT_017_06 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
UT_017_07 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2018-08-05 13:18:31 +00:00
UT_601_01 :
<< : *unit_test_template
tags :
- ESP32_IDF
- UT_T1_1
2017-05-05 12:20:31 +00:00
IT_001_01 :
2016-09-09 02:49:03 +00:00
<< : *test_template
tags :
2016-09-26 06:32:58 +00:00
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_4
2016-09-09 02:49:03 +00:00
2017-05-05 12:20:31 +00:00
IT_001_02 :
2016-09-26 06:32:58 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_4
2017-06-09 10:14:29 +00:00
2017-05-05 12:20:31 +00:00
IT_001_03 :
2016-09-26 06:32:58 +00:00
<< : *test_template
2016-09-09 02:49:03 +00:00
tags :
2016-09-26 06:32:58 +00:00
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_4
2017-06-09 10:14:29 +00:00
2018-08-26 04:15:51 +00:00
IT_002_01 :
2016-09-26 06:32:58 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_2
2017-06-09 10:14:29 +00:00
2018-08-26 04:15:51 +00:00
IT_003_01 :
2016-09-26 06:32:58 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-09 10:14:29 +00:00
2018-08-26 04:15:51 +00:00
IT_003_02 :
2016-09-26 06:32:58 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-09 10:14:29 +00:00
2018-08-26 04:15:51 +00:00
IT_003_03 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-09 10:14:29 +00:00
2018-08-26 04:15:51 +00:00
IT_003_04 :
2017-06-23 10:06:45 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-23 10:06:45 +00:00
2018-08-26 04:15:51 +00:00
IT_003_05 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2016-12-06 07:41:02 +00:00
2018-08-26 04:15:51 +00:00
IT_003_06 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2016-12-06 07:41:02 +00:00
2018-08-26 04:15:51 +00:00
IT_003_07 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2016-12-06 07:41:02 +00:00
2018-08-26 04:15:51 +00:00
IT_003_08 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2016-12-06 07:41:02 +00:00
2018-08-26 04:15:51 +00:00
IT_003_09 :
2017-06-23 10:06:45 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-23 10:06:45 +00:00
2018-08-26 04:15:51 +00:00
IT_003_10 :
2017-06-23 10:06:45 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-23 10:06:45 +00:00
2018-08-26 04:15:51 +00:00
IT_003_11 :
2017-06-23 10:06:45 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-23 10:06:45 +00:00
2018-08-26 04:15:51 +00:00
IT_003_12 :
2017-06-23 10:06:45 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2017-06-23 10:06:45 +00:00
2018-08-26 04:15:51 +00:00
IT_003_13 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_5
2016-12-06 07:41:02 +00:00
2018-08-26 04:15:51 +00:00
IT_004_01 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-12-06 07:41:02 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_APC
2017-12-18 11:24:09 +00:00
2018-08-26 04:15:51 +00:00
IT_005_01 :
2017-12-18 11:24:09 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_5
2017-12-18 11:24:09 +00:00
2018-08-26 04:15:51 +00:00
IT_005_02 :
2017-12-18 11:24:09 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_5
2017-12-18 11:24:09 +00:00
2018-08-26 04:15:51 +00:00
IT_006_01 :
2017-12-18 11:24:09 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_6
2016-12-06 07:41:02 +00:00
2018-08-26 04:15:51 +00:00
IT_006_02 :
2017-05-05 12:20:31 +00:00
<< : *test_template
2016-09-26 06:32:58 +00:00
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_6
2017-12-18 11:24:09 +00:00
2018-08-26 04:15:51 +00:00
IT_006_03 :
2017-12-18 11:24:09 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_6
2016-09-26 06:32:58 +00:00
2018-08-26 04:15:51 +00:00
IT_006_04 :
2016-09-29 04:07:35 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_6
2016-09-29 04:07:35 +00:00
2018-08-26 04:15:51 +00:00
IT_006_05 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_6
2016-09-28 11:48:38 +00:00
2018-04-17 08:28:00 +00:00
IT_006_06 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T1_6
IT_006_07 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T1_6
2019-04-02 02:00:12 +00:00
IT_006_08 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T1_6
2018-08-26 04:15:51 +00:00
IT_007_01 :
2017-06-23 10:06:45 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_7
2017-06-23 10:06:45 +00:00
2018-08-26 04:15:51 +00:00
IT_007_02 :
2017-12-18 11:24:09 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_7
2017-12-18 11:24:09 +00:00
2018-04-17 08:28:00 +00:00
IT_007_03 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T1_7
2018-08-26 04:15:51 +00:00
IT_008_01 :
2018-04-28 09:17:05 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_8
2018-04-28 09:17:05 +00:00
2018-08-26 04:15:51 +00:00
IT_009_01 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_3
2016-09-28 11:48:38 +00:00
2018-08-26 04:15:51 +00:00
IT_010_01 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T5_1
2016-09-28 11:48:38 +00:00
2018-08-26 04:15:51 +00:00
IT_011_01 :
2016-09-28 11:48:38 +00:00
<< : *test_template
2016-09-26 06:32:58 +00:00
tags :
- ESP32_IDF
2018-12-17 11:31:19 +00:00
- SSC_T1_MESH1
IT_011_02 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T2_MESH1
IT_011_03 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T2_MESH1
IT_011_04 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T3_MESH1
IT_011_05 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T6_MESH1
IT_011_06 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T12_MESH1
IT_011_07 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T50_MESH1
IT_011_08 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T1_MESH2
2016-09-26 06:32:58 +00:00
2018-08-26 04:15:51 +00:00
IT_012_01 :
2016-09-27 08:22:18 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T1_9
2016-09-28 11:48:38 +00:00
2018-04-17 08:28:00 +00:00
IT_012_02 :
<< : *test_template
tags :
- ESP32_IDF
- SSC_T1_9
2018-08-26 04:15:51 +00:00
IT_013_01 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_2
2016-09-28 11:48:38 +00:00
2018-08-26 04:15:51 +00:00
IT_013_02 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_2
2016-09-28 11:48:38 +00:00
2018-08-26 04:15:51 +00:00
IT_014_01 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-08-26 04:15:51 +00:00
- SSC_T2_3
2016-09-28 11:48:38 +00:00
2018-08-26 04:15:51 +00:00
IT_015_01 :
2016-09-28 11:48:38 +00:00
<< : *test_template
tags :
- ESP32_IDF
2018-10-17 13:53:46 +00:00
- SSC_T2_4