]> granicus.if.org Git - esp-idf/blob - .gitlab-ci.yml
Merge branch 'bugfix/newlib_strptime' into 'master'
[esp-idf] / .gitlab-ci.yml
1 stages:
2   - build
3   - assign_test
4   - unit_test
5   - test
6   - test_report
7   - deploy
8
9 variables:
10 # System environment
11
12   # Common parameters for the 'make' during CI tests
13   MAKEFLAGS: "-j5 --no-keep-going"
14
15 # GitLab-CI environment
16
17   # more attempts for more robust
18   GET_SOURCES_ATTEMPTS: "10"
19   ARTIFACT_DOWNLOAD_ATTEMPTS: "10"
20
21   # We use get_sources.sh script to fetch the submodules and/or re-fetch the repo
22   # if it was corrupted (if submodule update fails this can happen)
23   GIT_STRATEGY: fetch
24   GIT_SUBMODULE_STRATEGY: none
25
26 # IDF environment
27
28   IDF_PATH: "$CI_PROJECT_DIR"
29
30 before_script:
31   # add gitlab ssh key
32   - mkdir -p ~/.ssh
33   - chmod 700 ~/.ssh
34   - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
35   - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
36   - chmod 600 ~/.ssh/id_rsa
37   - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
38
39   # Set IS_PRIVATE or IS_PUBLIC depending on if our branch is public or not
40   #
41   # (the same regular expressions are used to set these are used in 'only:' sections below
42   - source tools/ci/configure_ci_environment.sh
43
44   # fetch the submodules (& if necessary re-fetch repo) from gitlab
45   - time ./tools/ci/get-full-sources.sh
46
47 .do_nothing_before:
48   before_script: &do_nothing_before
49     - echo "Not setting up GitLab key, not fetching submodules"
50     - source tools/ci/configure_ci_environment.sh
51
52 .add_gitlab_key_before:
53   before_script: &add_gitlab_key_before
54     - echo "Not fetching submodules"
55     - source tools/ci/configure_ci_environment.sh
56     # add gitlab ssh key
57     - mkdir -p ~/.ssh
58     - chmod 700 ~/.ssh
59     - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
60     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
61     - chmod 600 ~/.ssh/id_rsa
62     - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
63
64 build_template_app:
65   stage: build
66   image: $CI_DOCKER_REGISTRY/esp32-ci-env
67   tags:
68     - build
69   variables:
70     BATCH_BUILD: "1"
71     IDF_CI_BUILD: "1"
72   script:
73     - git clone https://github.com/espressif/esp-idf-template.git
74     - cd esp-idf-template
75     # Try to use the same branch name for esp-idf-template that we're
76     # using on esp-idf. If it doesn't exist then just stick to the default
77     # branch
78     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using esp-idf-template default branch..."
79     # Test debug build (default)
80     - make all V=1
81     # Now test release build
82     - make clean
83     - sed -i.bak -e's/CONFIG_OPTIMIZATION_LEVEL_DEBUG\=y/CONFIG_OPTIMIZATION_LEVEL_RELEASE=y/' sdkconfig
84     - make all V=1
85     # Check if there are any stray printf/ets_printf references in WiFi libs
86     - cd ../components/esp32/lib
87     - test $(xtensa-esp32-elf-nm *.a | grep -w printf | wc -l) -eq 0
88     - test $(xtensa-esp32-elf-nm *.a | grep -w ets_printf | wc -l) -eq 0
89
90
91 .build_template: &build_template
92   stage: build
93   image: $CI_DOCKER_REGISTRY/esp32-ci-env
94   tags:
95     - build
96   variables:
97     BATCH_BUILD: "1"
98     V: "0"
99
100 build_ssc:
101   <<: *build_template
102   artifacts:
103     paths:
104       - SSC/ssc_bin
105     expire_in: 6 mos
106   script:
107     - git clone $SSC_REPOSITORY
108     - cd SSC
109     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using SSC default branch..."
110     - MAKEFLAGS= ./gen_misc_ng.sh
111
112 build_esp_idf_tests:
113   <<: *build_template
114   artifacts:
115     paths:
116       - tools/unit-test-app/output
117       - components/idf_test/unit_test/TestCaseAll.yml
118       - components/idf_test/unit_test/CIConfigs/*.yml
119     expire_in: 6 mos
120   script:
121     - cd tools/unit-test-app
122     - make help # make sure kconfig tools are built in single process
123     - make ut-clean-all-configs
124     - export EXTRA_CFLAGS="-Werror -Werror=deprecated-declarations"
125     - export EXTRA_CXXFLAGS=${EXTRA_CFLAGS}
126     - make ut-build-all-configs TESTS_ALL=1
127     - python tools/UnitTestParser.py
128
129 .build_examples_template: &build_examples_template
130   <<: *build_template
131   artifacts:
132     paths:
133       - build_examples/*/*/*/build/*.bin
134       - build_examples/*/*/*/build/*.elf
135       - build_examples/*/*/*/build/*.map
136       - build_examples/*/*/*/build/download.config
137       - build_examples/*/*/*/build/bootloader/*.bin
138     expire_in: 1 week
139   variables:
140     IDF_CI_BUILD: "1"
141   script:
142     # it's not possible to build 100% out-of-tree and have the "artifacts"
143     # mechanism work, but this is the next best thing
144     - rm -rf build_examples
145     - mkdir build_examples
146     - cd build_examples
147     # build some of examples
148     - ${IDF_PATH}/tools/ci/build_examples.sh "${CI_JOB_NAME}"
149
150 build_examples_00:
151   <<: *build_examples_template
152
153 build_examples_01:
154   <<: *build_examples_template
155
156 build_examples_02:
157   <<: *build_examples_template
158
159 build_examples_03:
160   <<: *build_examples_template
161
162 build_examples_04:
163   <<: *build_examples_template
164
165 build_examples_05:
166   <<: *build_examples_template
167
168 build_examples_06:
169   <<: *build_examples_template
170
171 build_docs:
172   stage: build
173   image: $CI_DOCKER_REGISTRY/esp32-ci-env
174   tags:
175     - build_docs
176   artifacts:
177     when: always
178     paths:
179       - docs/doxygen-warning-log.txt
180       - docs/sphinx-warning-log.txt
181       - docs/sphinx-warning-log-sanitized.txt
182       - docs/_build/html
183     expire_in: 1 mos
184   script:
185     - cd docs
186     - doxygen
187     # If there are Doxygen warnings, print them and bail out
188     - test $(cat doxygen-warning-log.txt | wc -l) -eq 0 || ( echo "Doxygen pass had some warnings:" && cat doxygen-warning-log.txt && false )
189     - make gh-linkcheck
190     - make html
191     - ./check_doc_warnings.sh
192
193 test_nvs_on_host:
194   stage: test
195   image: $CI_DOCKER_REGISTRY/esp32-ci-env
196   tags:
197     - nvs_host_test
198   dependencies: []
199   script:
200     - cd components/nvs_flash/test_nvs_host
201     - make test
202
203 test_partition_table_on_host:
204   stage: test
205   image: $CI_DOCKER_REGISTRY/esp32-ci-env
206   tags:
207     - build
208   dependencies: []
209   script:
210     - cd components/partition_table/test_gen_esp32part_host
211     - ./gen_esp32part_tests.py
212
213 test_wl_on_host:
214   stage: test
215   image: $CI_DOCKER_REGISTRY/esp32-ci-env
216   tags:
217     - wl_host_test
218   artifacts:
219     paths:
220       - components/wear_levelling/test_wl_host/coverage_report.zip
221   dependencies: []
222   script:
223     - cd components/wear_levelling/test_wl_host
224     - make test
225
226 test_multi_heap_on_host:
227   stage: test
228   image: $CI_DOCKER_REGISTRY/esp32-ci-env
229   tags:
230     - wl_host_test
231   script:
232     - cd components/heap/test_multi_heap_host
233     - make test
234
235 test_build_system:
236   stage: test
237   image: $CI_DOCKER_REGISTRY/esp32-ci-env
238   tags:
239     - build_test
240   dependencies: []
241   script:
242     - ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
243     - rm -rf test_build_system
244     - mkdir test_build_system
245     - cd test_build_system
246     - ${IDF_PATH}/tools/ci/test_build_system.sh
247
248 test_report:
249   stage: test_report
250   image: $CI_DOCKER_REGISTRY/esp32-ci-env
251   tags:
252     - report
253   only:
254     - master
255     - triggers
256     - /^release\/v/
257     - /^v\d+\.\d+(\.\d+)?($|-)/
258   variables:
259     LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
260     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
261     REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report"
262     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/tools/unit-test-app/tools/ModuleDefinition.yml"
263   #dependencies:
264   #We need all UT* and IT* artifacts except for only a few other
265   artifacts:
266     when: always
267     paths:
268       - $REPORT_PATH
269       - $LOG_PATH
270     expire_in: 12 mos
271   script:
272     # calc log path
273     - VER_NUM=`git rev-list HEAD | wc -l | awk '{print $1}'`
274     - SHA_ID=`echo $CI_COMMIT_SHA | cut -c 1-7`
275     - REVISION="${VER_NUM}_${SHA_ID}"
276     # replace / to _ in branch name
277     - ESCAPED_BRANCH_NAME=`echo $CI_COMMIT_REF_NAME | sed 's/\//___/g'`
278     # result path and artifacts path
279     - RESULT_PATH="$CI_PROJECT_NAME/$ESCAPED_BRANCH_NAME/$REVISION"
280     - ARTIFACTS_PATH="$GITLAB_HTTP_SERVER/idf/esp-idf/builds/$CI_JOB_ID/artifacts/browse/$CI_COMMIT_SHA"
281     # clone test bench
282     - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
283     - cd auto_test_script
284     # generate report
285     - TEST_RESULT=Pass
286     - python CITestReport.py -l $LOG_PATH -t $TEST_CASE_FILE_PATH -p $REPORT_PATH -r $RESULT_PATH -a $ARTIFACTS_PATH -m $MODULE_UPDATE_FILE || TEST_RESULT=Fail
287     # commit to CI-test-result project
288     - git clone $GITLAB_SSH_SERVER/qa/CI-test-result.git
289     - rm -rf "CI-test-result/RawData/$RESULT_PATH"
290     - cp -R $CI_PROJECT_NAME CI-test-result/RawData
291     - cd CI-test-result
292     # config git user
293     - git config --global user.email "ci-test-result@espressif.com"
294     - git config --global user.name "ci-test-result"
295     # commit test result
296     - git add .
297     - git commit . -m "update test result for $CI_PROJECT_NAME/$CI_COMMIT_REF_NAME/$CI_COMMIT_SHA, pipeline ID $CI_PIPELINE_ID" || exit 0
298     - git push origin master
299     - test "${TEST_RESULT}" = "Pass" || exit 1
300
301 push_master_to_github:
302   stage: deploy
303   image: $CI_DOCKER_REGISTRY/esp32-ci-env
304   tags:
305     - deploy
306   only:
307     - master
308     - /^release\/v/
309     - /^v\d+\.\d+(\.\d+)?($|-)/
310   when: on_success
311   dependencies: []
312   variables:
313     GITHUB_PUSH_REFS: refs/remotes/origin/release refs/remotes/origin/master
314   before_script: *do_nothing_before
315   script:
316     - mkdir -p ~/.ssh
317     - chmod 700 ~/.ssh
318     - echo -n $GH_PUSH_KEY > ~/.ssh/id_rsa_base64
319     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
320     - chmod 600 ~/.ssh/id_rsa
321     - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
322     - git remote remove github &>/dev/null || true
323     - git remote add github git@github.com:espressif/esp-idf.git
324     # What the next line of script does: goes through the list of refs for all branches we push to github,
325     # generates a snippet of shell which is evaluated. The snippet checks CI_COMMIT_SHA against the SHA
326     # (aka objectname) at tip of each branch, and if any SHAs match then it checks out the local branch
327     # and then pushes that ref to a corresponding github branch
328     - eval $(git for-each-ref --shell bash --format 'if [ $CI_COMMIT_SHA == %(objectname) ]; then git checkout -B %(refname:strip=3); git push --follow-tags github %(refname:strip=3); fi;' $GITHUB_PUSH_REFS)
329
330
331 deploy_docs:
332   stage: deploy
333   image: $CI_DOCKER_REGISTRY/esp32-ci-env
334   tags:
335     - deploy
336   only:
337    - master
338    - /^release\/v/
339    - /^v\d+\.\d+(\.\d+)?($|-)/
340    - triggers
341   dependencies:
342     - build_docs
343   before_script: *do_nothing_before
344   script:
345     - mkdir -p ~/.ssh
346     - chmod 700 ~/.ssh
347     - echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
348     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
349     - chmod 600 ~/.ssh/id_rsa
350     - echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
351     - export GIT_VER=$(git describe --always)
352     - cd docs/_build/
353     - mv html $GIT_VER
354     - tar czvf $GIT_VER.tar.gz $GIT_VER
355     - scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH
356     - ssh $DOCS_SERVER -x "cd $DOCS_PATH && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
357
358 check_doc_links:
359   stage: test
360   image: $CI_DOCKER_REGISTRY/esp32-ci-env
361   tags:
362     - check_doc_links
363   only:
364     # can only be triggered
365     - triggers
366   artifacts:
367     paths:
368       - docs/_build/linkcheck
369     expire_in: 1 mos
370   script:
371     # must be triggered with CHECK_LINKS=Yes, otherwise exit without test
372     - test "$CHECK_LINKS" = "Yes" || exit 0
373     # can only run on master branch (otherwise the commit is not on Github yet)
374     - test "${CI_COMMIT_REF_NAME}" = "master" || exit 0
375     - cd docs
376     - make linkcheck
377
378 check_commit_msg:
379   stage: deploy
380   image: $CI_DOCKER_REGISTRY/esp32-ci-env
381   tags:
382     - build
383   except:
384     - master
385     - /^release\/v/
386     - /^v\d+\.\d+(\.\d+)?($|-)/
387   dependencies: []
388   before_script: *do_nothing_before
389   script:
390     - git status
391     - git log -n10 --oneline
392     # commit start with "WIP: " need to be squashed before merge
393     - 'git log --pretty=%s master.. -- | grep "^WIP: " && exit 1 || exit 0'
394
395 check_submodule_sync:
396   stage: deploy
397   image: $CI_DOCKER_REGISTRY/esp32-ci-env
398   tags:
399     - build
400   except:
401     - master
402     - /^release\/v/
403     - /^v\d+\.\d+(\.\d+)?($|-)/
404   dependencies: []
405   variables:
406     GIT_STRATEGY: clone
407   before_script: *do_nothing_before
408   script:
409     # check if all submodules are correctly synced to public repostory
410     - git submodule update --init --recursive
411
412 assign_test:
413   <<: *build_template
414   stage: assign_test
415   # gitlab ci do not support match job with RegEx or wildcard now in dependencies.
416   # we have a lot build example jobs. now we don't use dependencies, just download all artificats of build stage.
417   variables:
418     UT_BIN_PATH: "tools/unit-test-app/output"
419     OUTPUT_BIN_PATH: "test_bins/ESP32_IDF"
420     TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
421     EXAMPLE_CONFIG_OUTPUT_PATH: "$CI_PROJECT_DIR/examples/test_configs"
422   artifacts:
423     paths:
424       - test_bins
425       - components/idf_test/*/CIConfigs
426       - components/idf_test/*/TC.sqlite
427       - $EXAMPLE_CONFIG_OUTPUT_PATH
428     expire_in: 1 mos
429   before_script: *add_gitlab_key_before
430   script:
431     # first move test bins together: test_bins/CHIP_SDK/TestApp/bin_files
432     - mkdir -p $OUTPUT_BIN_PATH
433     # copy and rename folder name to "UT_config"
434     - for CONFIG in $(ls $UT_BIN_PATH); do cp -r "$UT_BIN_PATH/$CONFIG" "$OUTPUT_BIN_PATH/UT_$CONFIG"; done
435     - cp -r SSC/ssc_bin/* $OUTPUT_BIN_PATH
436     # assign example tests
437     - python $TEST_FW_PATH/CIAssignExampleTest.py $IDF_PATH/examples $IDF_PATH/.gitlab-ci.yml $EXAMPLE_CONFIG_OUTPUT_PATH
438     # clone test script to assign tests
439     - git clone $TEST_SCRIPT_REPOSITORY
440     - cd auto_test_script
441     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
442     # assign unit test cases
443     - python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/unit_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/test_bins
444     # assgin integration test cases
445     - python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/integration_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/test_bins
446
447 .example_test_template: &example_test_template
448   stage: test
449   when: on_success
450   only:
451     - master
452     - /^release\/v/
453     - /^v\d+\.\d+(\.\d+)?($|-)/
454     - triggers
455   # gitlab ci do not support match job with RegEx or wildcard now in dependencies.
456   # we have a lot build example jobs and the binaries them exceed the limitation of artifacts.
457   # we can't artifact them in one job. For example test jobs, download all artifacts from previous stages.
458   artifacts:
459     when: always
460     paths:
461       - $LOG_PATH
462     expire_in: 6 mos
463   variables:
464     TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
465     TEST_CASE_PATH: "$CI_PROJECT_DIR/examples"
466     CONFIG_FILE: "$CI_PROJECT_DIR/examples/test_configs/$CI_JOB_NAME.yml"
467     LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
468   script:
469     # first test if config file exists, if not exist, exit 0
470     - test -e $CONFIG_FILE || exit 0
471     - cd $TEST_FW_PATH
472     # run test
473     - python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE
474
475 .test_template: &test_template
476   stage: test
477   when: on_success
478   only:
479     - master
480     - /^release\/v/
481     - /^v\d+\.\d+(\.\d+)?($|-)/
482     - triggers
483   allow_failure: true
484   dependencies:
485     - assign_test
486   artifacts:
487     when: always
488     paths:
489       - $LOG_PATH
490     expire_in: 6 mos
491   variables:
492     LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
493     LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
494     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/integration_test"
495     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
496     CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/integration_test/CIConfigs/$CI_JOB_NAME.yml"
497   before_script: *add_gitlab_key_before
498   script:
499     # first test if config file exists, if not exist, exit 0
500     - test -e $CONFIG_FILE || exit 0
501     # clone local test env configs
502     - git clone $TEST_ENV_CONFIG_REPOSITORY
503     # clone test bench
504     - git clone $TEST_SCRIPT_REPOSITORY
505     - cd auto_test_script
506     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
507     # run test
508     - 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
509
510 # template for unit test jobs
511 .unit_test_template: &unit_test_template
512   <<: *test_template
513   allow_failure: false
514   stage: unit_test
515   variables:
516     LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
517     LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
518     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/unit_test"
519     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
520     CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/unit_test/CIConfigs/$CI_JOB_NAME.yml"
521
522 nvs_compatible_test:
523   <<: *test_template
524   artifacts:
525     when: always
526     paths:
527       - $LOG_PATH
528       - nvs_wifi.bin
529     expire_in: 6 mos
530   tags:
531     - ESP32_IDF
532     - NVS_Compatible
533   script:
534     # clone local test env configs
535     - git clone $TEST_ENV_CONFIG_REPOSITORY
536     # clone test bench
537     - git clone $TEST_SCRIPT_REPOSITORY
538     - cd auto_test_script
539     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
540     # prepare nvs bins
541     - ./Tools/prepare_nvs_bin.sh
542     # run test
543     - 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
544
545 example_test_001_01:
546   <<: *example_test_template
547   tags:
548     - ESP32
549     - Example_WIFI
550
551 UT_001_01:
552   <<: *unit_test_template
553   tags:
554     - ESP32_IDF
555     - UT_T1_1
556     - UT_default
557
558 UT_001_02:
559   <<: *unit_test_template
560   tags:
561     - ESP32_IDF
562     - UT_T1_1
563     - UT_default
564
565 UT_001_03:
566   <<: *unit_test_template
567   tags:
568     - ESP32_IDF
569     - UT_T1_1
570     - UT_default
571
572 UT_001_04:
573   <<: *unit_test_template
574   tags:
575     - ESP32_IDF
576     - UT_T1_1
577     - UT_default
578
579 UT_001_05:
580   <<: *unit_test_template
581   tags:
582     - ESP32_IDF
583     - UT_T1_SDMODE
584     - UT_default
585
586 UT_001_06:
587   <<: *unit_test_template
588   tags:
589     - ESP32_IDF
590     - UT_T1_SPIMODE
591     - UT_default
592
593 UT_001_07:
594   <<: *unit_test_template
595   tags:
596     - ESP32_IDF
597     - UT_T1_1
598     - UT_default
599
600 UT_001_08:
601   <<: *unit_test_template
602   tags:
603     - ESP32_IDF
604     - UT_T1_1
605     - UT_default
606
607 UT_002_01:
608   <<: *unit_test_template
609   tags:
610     - ESP32_IDF
611     - UT_T1_1
612     - UT_release
613
614 UT_002_02:
615   <<: *unit_test_template
616   tags:
617     - ESP32_IDF
618     - UT_T1_1
619     - UT_release
620
621 UT_002_03:
622   <<: *unit_test_template
623   tags:
624     - ESP32_IDF
625     - UT_T1_1
626     - UT_release
627
628 UT_002_04:
629   <<: *unit_test_template
630   tags:
631     - ESP32_IDF
632     - UT_T1_1
633     - UT_release
634
635 UT_002_05:
636   <<: *unit_test_template
637   tags:
638     - ESP32_IDF
639     - UT_T1_SDMODE
640     - UT_release
641
642 UT_002_06:
643   <<: *unit_test_template
644   tags:
645     - ESP32_IDF
646     - UT_T1_SPIMODE
647     - UT_release
648
649 UT_002_07:
650   <<: *unit_test_template
651   tags:
652     - ESP32_IDF
653     - UT_T1_1
654     - UT_release
655
656 UT_002_08:
657   <<: *unit_test_template
658   tags:
659     - ESP32_IDF
660     - UT_T1_1
661     - UT_release
662
663 UT_003_01:
664   <<: *unit_test_template
665   tags:
666     - ESP32_IDF
667     - UT_T1_1
668     - UT_single_core
669
670 UT_003_02:
671   <<: *unit_test_template
672   tags:
673     - ESP32_IDF
674     - UT_T1_1
675     - UT_single_core
676
677 UT_003_03:
678   <<: *unit_test_template
679   tags:
680     - ESP32_IDF
681     - UT_T1_1
682     - UT_single_core
683
684 UT_003_04:
685   <<: *unit_test_template
686   tags:
687     - ESP32_IDF
688     - UT_T1_1
689     - UT_single_core
690
691 UT_003_05:
692   <<: *unit_test_template
693   tags:
694     - ESP32_IDF
695     - UT_T1_SDMODE
696     - UT_single_core
697
698 UT_003_06:
699   <<: *unit_test_template
700   tags:
701     - ESP32_IDF
702     - UT_T1_SPIMODE
703     - UT_single_core
704
705 UT_003_07:
706   <<: *unit_test_template
707   tags:
708     - ESP32_IDF
709     - UT_T1_1
710     - UT_single_core
711
712 UT_003_08:
713   <<: *unit_test_template
714   tags:
715     - ESP32_IDF
716     - UT_T1_1
717     - UT_single_core
718
719 UT_004_01:
720   <<: *unit_test_template
721   tags:
722     - ESP32_IDF
723     - UT_T1_1
724     - UT_psram
725
726 UT_004_02:
727   <<: *unit_test_template
728   tags:
729     - ESP32_IDF
730     - UT_T1_1
731     - UT_psram
732
733 UT_004_03:
734   <<: *unit_test_template
735   tags:
736     - ESP32_IDF
737     - UT_T1_1
738     - UT_psram
739
740 UT_004_04:
741   <<: *unit_test_template
742   tags:
743     - ESP32_IDF
744     - UT_T1_1
745     - UT_psram
746
747 UT_004_05:
748   <<: *unit_test_template
749   tags:
750     - ESP32_IDF
751     - UT_T1_SDMODE
752     - UT_psram
753
754 UT_004_06:
755   <<: *unit_test_template
756   tags:
757     - ESP32_IDF
758     - UT_T1_SPIMODE
759     - UT_psram
760
761 UT_004_07:
762   <<: *unit_test_template
763   tags:
764     - ESP32_IDF
765     - UT_T1_1
766     - UT_psram
767
768 UT_004_08:
769   <<: *unit_test_template
770   tags:
771     - ESP32_IDF
772     - UT_T1_1
773     - UT_psram
774
775 IT_001_01:
776   <<: *test_template
777   tags:
778     - ESP32_IDF
779     - SSC_T1_1
780
781 IT_001_02:
782   <<: *test_template
783   tags:
784     - ESP32_IDF
785     - SSC_T1_1
786
787 IT_001_03:
788   <<: *test_template
789   tags:
790     - ESP32_IDF
791     - SSC_T1_1
792
793 IT_001_04:
794   <<: *test_template
795   tags:
796     - ESP32_IDF
797     - SSC_T1_1
798
799 IT_001_05:
800   <<: *test_template
801   tags:
802     - ESP32_IDF
803     - SSC_T1_1
804
805 IT_001_06:
806   <<: *test_template
807   tags:
808     - ESP32_IDF
809     - SSC_T1_1
810
811 IT_001_07:
812   <<: *test_template
813   tags:
814     - ESP32_IDF
815     - SSC_T1_1
816
817 IT_001_08:
818   <<: *test_template
819   tags:
820     - ESP32_IDF
821     - SSC_T1_1
822
823 IT_001_09:
824   <<: *test_template
825   tags:
826     - ESP32_IDF
827     - SSC_T1_1
828
829 IT_002_01:
830   <<: *test_template
831   tags:
832     - ESP32_IDF
833     - SSC_T1_2
834
835 IT_003_01:
836   <<: *test_template
837   tags:
838     - ESP32_IDF
839     - SSC_T2_1
840
841 IT_003_02:
842   <<: *test_template
843   tags:
844     - ESP32_IDF
845     - SSC_T2_1
846
847 IT_003_03:
848   <<: *test_template
849   tags:
850     - ESP32_IDF
851     - SSC_T2_1
852
853 IT_003_04:
854   <<: *test_template
855   tags:
856     - ESP32_IDF
857     - SSC_T2_1
858
859 IT_003_05:
860   <<: *test_template
861   tags:
862     - ESP32_IDF
863     - SSC_T2_1
864
865 IT_003_06:
866   <<: *test_template
867   tags:
868     - ESP32_IDF
869     - SSC_T2_1
870
871 IT_003_07:
872   <<: *test_template
873   tags:
874     - ESP32_IDF
875     - SSC_T2_1
876
877 IT_004_01:
878   <<: *test_template
879   tags:
880     - ESP32_IDF
881     - SSC_T1_APC
882
883 IT_005_01:
884   <<: *test_template
885   tags:
886     - ESP32_IDF
887     - SSC_T1_WEP
888
889 IT_006_01:
890   <<: *test_template
891   tags:
892     - ESP32_IDF
893     - SSC_T3_PhyMode
894
895 IT_007_01:
896   <<: *test_template
897   tags:
898     - ESP32_IDF
899     - SSC_T2_PhyMode
900
901 IT_008_01:
902   <<: *test_template
903   tags:
904     - ESP32_IDF
905     - SSC_T2_PhyMode
906
907 IT_009_01:
908   <<: *test_template
909   tags:
910     - ESP32_IDF
911     - SSC_T1_3
912
913 IT_501_01:
914   <<: *test_template
915   tags:
916     - ESP32_IDF
917     - SSC_T1_1
918     - stress_test
919
920 IT_501_02:
921   <<: *test_template
922   tags:
923     - ESP32_IDF
924     - SSC_T1_1
925     - stress_test
926
927 IT_501_03:
928   <<: *test_template
929   tags:
930     - ESP32_IDF
931     - SSC_T1_1
932     - stress_test
933
934 IT_502_01:
935   <<: *test_template
936   tags:
937     - ESP32_IDF
938     - SSC_T2_1
939     - stress_test
940
941 IT_502_02:
942   <<: *test_template
943   tags:
944     - ESP32_IDF
945     - SSC_T2_1
946     - stress_test
947
948 IT_503_01:
949   <<: *test_template
950   tags:
951     - ESP32_IDF
952     - SSC_T5_1
953     - stress_test
954
955 IT_503_02:
956   <<: *test_template
957   tags:
958     - ESP32_IDF
959     - SSC_T5_1
960     - stress_test
961
962 IT_503_03:
963   <<: *test_template
964   tags:
965     - ESP32_IDF
966     - SSC_T5_1
967     - stress_test