]> granicus.if.org Git - esp-idf/blob - .gitlab-ci.yml
sdmmc: don’t flip word order in MMC_RSP_BITS
[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_at:
113   <<: *build_template
114   script:
115     - git clone $GITLAB_SSH_SERVER/application/esp-at.git
116     - cd esp-at
117     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using esp-at default branch..."
118     - make defconfig
119     - make
120
121 build_esp_idf_tests:
122   <<: *build_template
123   artifacts:
124     paths:
125       - tools/unit-test-app/build/*.bin
126       - tools/unit-test-app/build/*.elf
127       - tools/unit-test-app/build/*.map
128       - tools/unit-test-app/build/download.config
129       - tools/unit-test-app/build/bootloader/*.bin
130       - components/idf_test/unit_test/TestCaseAll.yml
131       - components/idf_test/unit_test/CIConfigs/*.yml
132     expire_in: 6 mos
133   script:
134     - cd tools/unit-test-app
135     - make TESTS_ALL=1
136     # cut last line in case make V=0/1 is set by default
137     - make print_flash_cmd | tail -n 1 > build/download.config
138     - python tools/UnitTestParser.py
139
140 .build_examples_template: &build_examples_template
141   <<: *build_template
142   artifacts:
143     paths:
144       - build_examples/*/*/*/build/*.bin
145       - build_examples/*/*/*/build/*.elf
146       - build_examples/*/*/*/build/*.map
147       - build_examples/*/*/*/build/bootloader/*.bin
148     expire_in: 1 week
149   variables:
150     IDF_CI_BUILD: "1"
151   script:
152     # it's not possible to build 100% out-of-tree and have the "artifacts"
153     # mechanism work, but this is the next best thing
154     - mkdir build_examples
155     - cd build_examples
156     # build some of examples
157     - ${IDF_PATH}/tools/ci/build_examples.sh "${CI_JOB_NAME}"
158
159 build_examples_00:
160   <<: *build_examples_template
161
162 build_examples_01:
163   <<: *build_examples_template
164
165 build_examples_02:
166   <<: *build_examples_template
167
168 build_examples_03:
169   <<: *build_examples_template
170
171 build_examples_04:
172   <<: *build_examples_template
173
174 build_docs:
175   stage: build
176   image: $CI_DOCKER_REGISTRY/esp32-ci-env
177   tags:
178     - build_docs
179   artifacts:
180     paths:
181       - docs/_build/html
182     expire_in: 1 mos
183   script:
184     - cd docs
185     - doxygen
186     # If not building master branch, and there are Doxygen warnings, print them and bail out
187     - test -n $IS_PRIVATE && test $(cat doxygen-warning-log.txt | wc -l) -eq 0 || ( echo "Doxygen pass had some warnings:" && cat doxygen-warning-log.txt && false )
188     - make gh-linkcheck
189     - make html
190
191 test_nvs_on_host:
192   stage: test
193   image: $CI_DOCKER_REGISTRY/esp32-ci-env
194   tags:
195     - nvs_host_test
196   dependencies: []
197   script:
198     - cd components/nvs_flash/test_nvs_host
199     - make test
200
201 test_partition_table_on_host:
202   stage: test
203   image: $CI_DOCKER_REGISTRY/esp32-ci-env
204   tags:
205     - build
206   dependencies: []
207   script:
208     - cd components/partition_table/test_gen_esp32part_host
209     - ./gen_esp32part_tests.py
210
211 test_wl_on_host:
212   stage: test
213   image: $CI_DOCKER_REGISTRY/esp32-ci-env
214   tags:
215     - wl_host_test
216   artifacts:
217     paths:
218       - components/wear_levelling/test_wl_host/coverage_report.zip
219   dependencies: []
220   script:
221     - cd components/wear_levelling/test_wl_host
222     - make test
223
224 test_multi_heap_on_host:
225   stage: test
226   image: $CI_DOCKER_REGISTRY/esp32-ci-env
227   tags:
228     - wl_host_test
229   script:
230     - cd components/heap/test_multi_heap_host
231     - make test
232
233 test_build_system:
234   stage: test
235   image: $CI_DOCKER_REGISTRY/esp32-ci-env
236   tags:
237     - build_test
238   dependencies: []
239   script:
240     - ./tools/ci/test_configure_ci_environment.sh
241     - ./tools/ci/test_build_system.sh
242
243 test_report:
244   stage: test_report
245   image: $CI_DOCKER_REGISTRY/esp32-ci-env
246   tags:
247     - report
248   only:
249     - master
250     - triggers
251     - /^release\/v/
252     - /^v\d+\.\d+(\.\d+)?($|-)/
253   variables:
254     LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
255     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
256     REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report"
257     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/tools/unit-test-app/tools/ModuleDefinition.yml"
258   #dependencies:
259   #We need all UT* and IT* artifacts except for only a few other
260   artifacts:
261     when: always
262     paths:
263       - $REPORT_PATH
264       - $LOG_PATH
265     expire_in: 12 mos
266   script:
267     # calc log path
268     - VER_NUM=`git rev-list HEAD | wc -l | awk '{print $1}'`
269     - SHA_ID=`echo $CI_COMMIT_SHA | cut -c 1-7`
270     - REVISION="${VER_NUM}_${SHA_ID}"
271     # replace / to _ in branch name
272     - ESCAPED_BRANCH_NAME=`echo $CI_COMMIT_REF_NAME | sed 's/\//___/g'`
273     # result path and artifacts path
274     - RESULT_PATH="$CI_PROJECT_NAME/$ESCAPED_BRANCH_NAME/$REVISION"
275     - ARTIFACTS_PATH="$GITLAB_HTTP_SERVER/idf/esp-idf/builds/$CI_JOB_ID/artifacts/browse/$CI_COMMIT_SHA"
276     # clone test bench
277     - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
278     - cd auto_test_script
279     # generate report
280     - TEST_RESULT=Pass
281     - 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
282     # commit to CI-test-result project
283     - git clone $GITLAB_SSH_SERVER/qa/CI-test-result.git
284     - rm -rf "CI-test-result/RawData/$RESULT_PATH"
285     - cp -R $CI_PROJECT_NAME CI-test-result/RawData
286     - cd CI-test-result
287     # config git user
288     - git config --global user.email "ci-test-result@espressif.com"
289     - git config --global user.name "ci-test-result"
290     # commit test result
291     - git add .
292     - git commit . -m "update test result for $CI_PROJECT_NAME/$CI_COMMIT_REF_NAME/$CI_COMMIT_SHA, pipeline ID $CI_PIPELINE_ID" || exit 0
293     - git push origin master
294     - test "${TEST_RESULT}" = "Pass" || exit 1
295
296 push_master_to_github:
297   stage: deploy
298   image: $CI_DOCKER_REGISTRY/esp32-ci-env
299   tags:
300     - deploy
301   only:
302     - master
303     - /^release\/v/
304     - /^v\d+\.\d+(\.\d+)?($|-)/
305   when: on_success
306   dependencies: []
307   variables:
308     GITHUB_PUSH_REFS: refs/remotes/origin/release refs/remotes/origin/master
309   before_script: *do_nothing_before
310   script:
311     - mkdir -p ~/.ssh
312     - chmod 700 ~/.ssh
313     - echo -n $GH_PUSH_KEY > ~/.ssh/id_rsa_base64
314     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
315     - chmod 600 ~/.ssh/id_rsa
316     - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
317     - git remote remove github &>/dev/null || true
318     - git remote add github git@github.com:espressif/esp-idf.git
319     # What the next line of script does: goes through the list of refs for all branches we push to github,
320     # generates a snippet of shell which is evaluated. The snippet checks CI_COMMIT_SHA against the SHA
321     # (aka objectname) at tip of each branch, and if any SHAs match then it checks out the local branch
322     # and then pushes that ref to a corresponding github branch
323     - 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)
324
325
326 deploy_docs:
327   stage: deploy
328   image: $CI_DOCKER_REGISTRY/esp32-ci-env
329   tags:
330     - deploy
331   only:
332    - master
333    - /^release\/v/
334    - /^v\d+\.\d+(\.\d+)?($|-)/
335    - triggers
336   dependencies:
337     - build_docs
338   before_script: *do_nothing_before
339   script:
340     - mkdir -p ~/.ssh
341     - chmod 700 ~/.ssh
342     - echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
343     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
344     - chmod 600 ~/.ssh/id_rsa
345     - echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
346     - export GIT_VER=$(git describe --always)
347     - cd docs/_build/
348     - mv html $GIT_VER
349     - tar czvf $GIT_VER.tar.gz $GIT_VER
350     - scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH
351     - ssh $DOCS_SERVER -x "cd $DOCS_PATH && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
352
353 check_doc_links:
354   stage: test
355   image: $CI_DOCKER_REGISTRY/esp32-ci-env
356   tags:
357     - check_doc_links
358   only:
359     # can only be triggered
360     - triggers
361   artifacts:
362     paths:
363       - docs/_build/linkcheck
364     expire_in: 1 mos
365   script:
366     # must be triggered with CHECK_LINKS=Yes, otherwise exit without test
367     - test "$CHECK_LINKS" = "Yes" || exit 0
368     # can only run on master branch (otherwise the commit is not on Github yet)
369     - test "${CI_COMMIT_REF_NAME}" = "master" || exit 0
370     - cd docs
371     - make linkcheck
372
373 check_commit_msg:
374   stage: deploy
375   image: $CI_DOCKER_REGISTRY/esp32-ci-env
376   tags:
377     - build
378   except:
379     - master
380     - /^release\/v/
381     - /^v\d+\.\d+(\.\d+)?($|-)/
382   dependencies: []
383   before_script: *do_nothing_before
384   script:
385     - git status
386     - git log -n10 --oneline
387     # commit start with "WIP: " need to be squashed before merge
388     - 'git log --pretty=%s master.. -- | grep "^WIP: " && exit 1 || exit 0'
389
390 check_submodule_sync:
391   stage: deploy
392   image: $CI_DOCKER_REGISTRY/esp32-ci-env
393   tags:
394     - build
395   except:
396     - master
397     - /^release\/v/
398     - /^v\d+\.\d+(\.\d+)?($|-)/
399   dependencies: []
400   variables:
401     GIT_STRATEGY: clone
402   before_script: *do_nothing_before
403   script:
404     # check if all submodules are correctly synced to public repostory
405     - git submodule update --init --recursive
406
407 assign_test:
408   <<: *build_template
409   stage: assign_test
410   dependencies:
411     - build_esp_idf_tests
412     - build_ssc
413   artifacts:
414     paths:
415       - test_bins
416       - components/idf_test/*/CIConfigs
417       - components/idf_test/*/TC.sqlite
418     expire_in: 1 mos
419   before_script: *add_gitlab_key_before
420   script:
421     # first move test bins together: test_bins/CHIP_SDK/TestApp/bin_files
422     - mkdir -p test_bins/ESP32_IDF/UT
423     - cp -r tools/unit-test-app/build/* test_bins/ESP32_IDF/UT
424     - cp -r SSC/ssc_bin/* test_bins/ESP32_IDF
425     # clone test script to assign tests
426     - git clone $TEST_SCRIPT_REPOSITORY
427     - cd auto_test_script
428     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
429     # assign unit test cases
430     - python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/unit_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/test_bins
431     # assgin integration test cases
432     - python CIAssignTestCases.py -t $IDF_PATH/components/idf_test/integration_test -c $IDF_PATH/.gitlab-ci.yml -b $IDF_PATH/test_bins
433
434 .test_template: &test_template
435   stage: test
436   when: on_success
437   only:
438     - master
439     - /^release\/v/
440     - /^v\d+\.\d+(\.\d+)?($|-)/
441     - triggers
442   allow_failure: true
443   dependencies:
444     - assign_test
445   artifacts:
446     when: always
447     paths:
448       - $LOG_PATH
449     expire_in: 6 mos
450   variables:
451     LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
452     LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
453     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/integration_test"
454     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
455     CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/integration_test/CIConfigs/$CI_JOB_NAME.yml"
456   before_script: *add_gitlab_key_before
457   script:
458     # first test if config file exists, if not exist, exit 0
459     - test -e $CONFIG_FILE || exit 0
460     # clone local test env configs
461     - git clone $TEST_ENV_CONFIG_REPOSITORY
462     # clone test bench
463     - git clone $TEST_SCRIPT_REPOSITORY
464     - cd auto_test_script
465     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
466     # run test
467     - 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
468
469 # template for unit test jobs
470 .unit_test_template: &unit_test_template
471   <<: *test_template
472   allow_failure: false
473   stage: unit_test
474   variables:
475     LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
476     LOG_PATH: "$CI_PROJECT_DIR/$CI_COMMIT_SHA"
477     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/unit_test"
478     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
479     CONFIG_FILE: "$CI_PROJECT_DIR/components/idf_test/unit_test/CIConfigs/$CI_JOB_NAME.yml"
480
481 nvs_compatible_test:
482   <<: *test_template
483   artifacts:
484     when: always
485     paths:
486       - $LOG_PATH
487       - nvs_wifi.bin
488     expire_in: 6 mos
489   tags:
490     - ESP32_IDF
491     - NVS_Compatible
492   script:
493     # clone local test env configs
494     - git clone $TEST_ENV_CONFIG_REPOSITORY
495     # clone test bench
496     - git clone $TEST_SCRIPT_REPOSITORY
497     - cd auto_test_script
498     - git checkout ${CI_COMMIT_REF_NAME} || echo "Using default branch..."
499     # prepare nvs bins
500     - ./Tools/prepare_nvs_bin.sh
501     # run test
502     - 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
503
504 UT_001_01:
505   <<: *unit_test_template
506   tags:
507     - ESP32_IDF
508     - UT_T1_1
509
510 UT_001_02:
511   <<: *unit_test_template
512   tags:
513     - ESP32_IDF
514     - UT_T1_1
515
516 UT_001_03:
517   <<: *unit_test_template
518   tags:
519     - ESP32_IDF
520     - UT_T1_1
521
522 UT_001_04:
523   <<: *unit_test_template
524   tags:
525     - ESP32_IDF
526     - UT_T1_1
527
528 IT_001_01:
529   <<: *test_template
530   tags:
531     - ESP32_IDF
532     - SSC_T1_1
533
534 IT_001_02:
535   <<: *test_template
536   tags:
537     - ESP32_IDF
538     - SSC_T1_1
539
540 IT_001_03:
541   <<: *test_template
542   tags:
543     - ESP32_IDF
544     - SSC_T1_1
545
546 IT_001_04:
547   <<: *test_template
548   tags:
549     - ESP32_IDF
550     - SSC_T1_1
551
552 IT_001_05:
553   <<: *test_template
554   tags:
555     - ESP32_IDF
556     - SSC_T1_1
557
558 IT_001_06:
559   <<: *test_template
560   tags:
561     - ESP32_IDF
562     - SSC_T1_1
563
564 IT_001_07:
565   <<: *test_template
566   tags:
567     - ESP32_IDF
568     - SSC_T1_1
569
570 IT_001_08:
571   <<: *test_template
572   tags:
573     - ESP32_IDF
574     - SSC_T1_1
575
576 IT_001_09:
577   <<: *test_template
578   tags:
579     - ESP32_IDF
580     - SSC_T1_1
581
582 IT_002_01:
583   <<: *test_template
584   tags:
585     - ESP32_IDF
586     - SSC_T1_2
587
588 IT_003_01:
589   <<: *test_template
590   tags:
591     - ESP32_IDF
592     - SSC_T2_1
593
594 IT_003_02:
595   <<: *test_template
596   tags:
597     - ESP32_IDF
598     - SSC_T2_1
599
600 IT_003_03:
601   <<: *test_template
602   tags:
603     - ESP32_IDF
604     - SSC_T2_1
605
606 IT_003_04:
607   <<: *test_template
608   tags:
609     - ESP32_IDF
610     - SSC_T2_1
611
612 IT_003_05:
613   <<: *test_template
614   tags:
615     - ESP32_IDF
616     - SSC_T2_1
617
618 IT_003_06:
619   <<: *test_template
620   tags:
621     - ESP32_IDF
622     - SSC_T2_1
623
624 IT_003_07:
625   <<: *test_template
626   tags:
627     - ESP32_IDF
628     - SSC_T2_1
629
630 IT_004_01:
631   <<: *test_template
632   tags:
633     - ESP32_IDF
634     - SSC_T1_APC
635
636 IT_005_01:
637   <<: *test_template
638   tags:
639     - ESP32_IDF
640     - SSC_T1_WEP
641
642 IT_006_01:
643   <<: *test_template
644   tags:
645     - ESP32_IDF
646     - SSC_T3_PhyMode
647
648 IT_007_01:
649   <<: *test_template
650   tags:
651     - ESP32_IDF
652     - SSC_T2_PhyMode
653
654 IT_008_01:
655   <<: *test_template
656   tags:
657     - ESP32_IDF
658     - SSC_T2_PhyMode
659
660 IT_009_01:
661   <<: *test_template
662   tags:
663     - ESP32_IDF
664     - SSC_T1_3
665
666 IT_501_01:
667   <<: *test_template
668   tags:
669     - ESP32_IDF
670     - SSC_T1_1
671     - stress_test
672
673 IT_501_02:
674   <<: *test_template
675   tags:
676     - ESP32_IDF
677     - SSC_T1_1
678     - stress_test
679
680 IT_501_03:
681   <<: *test_template
682   tags:
683     - ESP32_IDF
684     - SSC_T1_1
685     - stress_test
686
687 IT_502_01:
688   <<: *test_template
689   tags:
690     - ESP32_IDF
691     - SSC_T2_1
692     - stress_test
693
694 IT_502_02:
695   <<: *test_template
696   tags:
697     - ESP32_IDF
698     - SSC_T2_1
699     - stress_test
700
701 IT_503_01:
702   <<: *test_template
703   tags:
704     - ESP32_IDF
705     - SSC_T5_1
706     - stress_test
707
708 IT_503_02:
709   <<: *test_template
710   tags:
711     - ESP32_IDF
712     - SSC_T5_1
713     - stress_test
714
715 IT_503_03:
716   <<: *test_template
717   tags:
718     - ESP32_IDF
719     - SSC_T5_1
720     - stress_test