]> granicus.if.org Git - esp-idf/blob - .gitlab-ci.yml
lwip: optimize dhcp renew/rebind timer
[esp-idf] / .gitlab-ci.yml
1 stages:
2   - build
3   - unit_test
4   - test
5   - test_report
6   - deploy
7
8 before_script:
9   # add gitlab ssh key
10   - mkdir -p ~/.ssh
11   - chmod 700 ~/.ssh
12   - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
13   - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
14   - chmod 600 ~/.ssh/id_rsa
15   - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
16
17   # if testing master branch, use github wifi and bt libs.
18   # if testing other branches, use gitlab wifi and bt libs (as maybe changes aren't merged to master yet)
19   - test "${CI_BUILD_REF_NAME}" = "master" || sed -i "s%https://github.com/espressif/esp32-wifi-lib%${GITLAB_SSH_SERVER}/idf/esp32-wifi-lib%" .gitmodules
20   - test "${CI_BUILD_REF_NAME}" = "master" || sed -i "s%https://github.com/espressif/esp32-bt-lib%${GITLAB_SSH_SERVER}/idf/esp32-bt-lib%" .gitmodules
21   # fetch all submodules
22   - git submodule update --init --recursive
23
24 build_template_app:
25   stage: build
26   image: espressif/esp32-ci-env
27   tags:
28     - build
29
30   variables:
31     SDK_PATH: "$CI_PROJECT_DIR"
32     IDF_PATH: "$CI_PROJECT_DIR"
33     GIT_STRATEGY: clone
34     BATCH_BUILD: "1"
35     IDF_CI_BUILD: "1"
36
37   script:
38     - git clone https://github.com/espressif/esp-idf-template.git
39     - cd esp-idf-template
40     # Try to use the same branch name for esp-idf-template that we're
41     # using on esp-idf. If it doesn't exist then just stick to the default
42     # branch
43     - git checkout ${CI_BUILD_REF_NAME} || echo "Using esp-idf-template default branch..."
44     # Test debug build (default)
45     - make all V=1
46     # Now test release build
47     - make clean
48     - sed -i.bak -e's/CONFIG_OPTIMIZATION_LEVEL_DEBUG\=y/CONFIG_OPTIMIZATION_LEVEL_RELEASE=y/' sdkconfig
49     - make all V=1
50     # Check if there are any stray printf/ets_printf references in WiFi libs
51     - cd ../components/esp32/lib
52     - test $(xtensa-esp32-elf-nm *.a | grep -w printf | wc -l) -eq 0
53     - test $(xtensa-esp32-elf-nm *.a | grep -w ets_printf | wc -l) -eq 0
54
55
56 .build_gitlab: &build_template
57   stage: build
58   tags:
59     - build
60   image: espressif/esp32-ci-env
61
62   variables:
63     SDK_PATH: "$CI_PROJECT_DIR"
64     IDF_PATH: "$CI_PROJECT_DIR"
65     GIT_STRATEGY: clone
66     BATCH_BUILD: "1"
67
68
69 build_ssc:
70   <<: *build_template
71   artifacts:
72     paths:
73       - ./SSC/ssc_bin
74     expire_in: 6 mos
75
76   script:
77     - git clone $GITLAB_SSH_SERVER/yinling/SSC.git
78     - cd SSC
79     - git checkout ${CI_BUILD_REF_NAME} || echo "Using SSC default branch..."
80     - make defconfig
81     - chmod +x gen_misc_ng.sh
82     - ./gen_misc_ng.sh
83
84 build_at:
85   <<: *build_template
86   script:
87     - git clone $GITLAB_SSH_SERVER/application/esp-at.git
88     - cd esp-at
89     - git checkout ${CI_BUILD_REF_NAME} || echo "Using esp-at default branch..."
90     - make defconfig
91     - make
92
93 build_esp_idf_tests:
94   <<: *build_template
95   artifacts:
96     paths:
97       - ./tools/unit-test-app/build/*.bin
98       - ./tools/unit-test-app/build/*.elf
99       - ./tools/unit-test-app/build/*.map
100       - ./tools/unit-test-app/build/bootloader/*.bin
101       - ./components/idf_test/unit_test/TestCaseAll.yml
102       - ./components/idf_test/unit_test/CIConfigs/*.yml
103     expire_in: 6 mos
104
105   script:
106     - cd tools/unit-test-app
107     - git checkout ${CI_BUILD_REF_NAME} || echo "Using default branch..."
108     - make TESTS_ALL=1
109     - python UnitTestParser.py
110
111 build_examples:
112   <<: *build_template
113   artifacts:
114     paths:
115       - build_examples/*/*/build/*.bin
116       - build_examples/*/*/build/*.elf
117       - build_examples/*/*/build/*.map
118       - build_examples/*/*/build/bootloader/*.bin
119     expire_in: 6 mos
120
121   script:
122     # it's not possible to build 100% out-of-tree and have the "artifacts"
123     # mechanism work, but this is the next best thing
124     - mkdir build_examples
125     - cd build_examples
126     - ${IDF_PATH}/make/build_examples.sh
127
128 build_docs:
129   stage: build
130   image: espressif/esp32-ci-env
131   tags:
132     - build_docs
133   script:
134     - cd docs
135     - doxygen
136     # If not building master branch, and there are Doxygen warnings, print them and bail out
137     - test "${CI_BUILD_REF_NAME}" = "master" || test $(cat doxygen-warning-log.txt | wc -l) -eq 0 || ( echo "Doxygen pass had some warnings:" && cat doxygen-warning-log.txt && false )
138     - make gh-linkcheck
139     - make html
140   artifacts:
141     paths:
142       - docs/_build/html
143     expire_in: 1 mos
144
145
146 test_nvs_on_host:
147   stage: test
148   image: espressif/esp32-ci-env
149   tags:
150     - nvs_host_test
151   script:
152     - cd components/nvs_flash/test_nvs_host
153     - make test
154
155 test_build_system:
156   stage: test
157   image: espressif/esp32-ci-env
158   tags:
159     - build_test
160   variables:
161     IDF_PATH: "$CI_PROJECT_DIR"
162   script:
163     - ./make/test_build_system.sh
164
165 test_report:
166   stage: test_report
167   image: espressif/esp32-ci-env
168   only:
169     - master
170     - triggers
171     - /^release\/v.*$/
172   tags:
173     - report
174   variables:
175     LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
176     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test"
177     REPORT_PATH: "$CI_PROJECT_DIR/CI_Test_Report"
178     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/tools/unit-test-app/ModuleDefinition.yml"
179   artifacts:
180     when: always
181     paths:
182       - $REPORT_PATH
183       - $LOG_PATH
184     expire_in: 12 mos
185   script:
186     # calc log path
187     - VER_NUM=`git rev-list HEAD | wc -l | awk '{print $1}'`
188     - SHA_ID=`echo $CI_BUILD_REF | cut -c 1-7`
189     - REVISION="${VER_NUM}_${SHA_ID}"
190     # replace / to _ in branch name
191     - ESCAPED_BRANCH_NAME=`echo $CI_BUILD_REF_NAME | sed 's/\//___/g'`
192     # result path and artifacts path
193     - RESULT_PATH="$CI_PROJECT_NAME/$ESCAPED_BRANCH_NAME/$REVISION"
194     - ARTIFACTS_PATH="$GITLAB_HTTP_SERVER/idf/esp-idf/builds/$CI_BUILD_ID/artifacts/browse/$CI_BUILD_REF"
195     # clone test bench
196     - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
197     - cd auto_test_script
198     # generate report
199     - TEST_RESULT=Pass
200     - 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
201     # commit to CI-test-result project
202     - git clone $GITLAB_SSH_SERVER/qa/CI-test-result.git
203     - rm -rf CI-test-result/RawData/$RESULT_PATH
204     - cp -R $CI_PROJECT_NAME CI-test-result/RawData
205     - cd CI-test-result
206     # config git user
207     - git config --global user.email "ci-test-result@espressif.com"
208     - git config --global user.name "ci-test-result"
209     # commit test result
210     - git add .
211     - git commit . -m "update test result for $CI_PROJECT_NAME/$CI_BUILD_REF_NAME/$CI_BUILD_REF, pipeline ID $CI_PIPELINE_ID" || exit 0
212     - git push origin master
213     - test "${TEST_RESULT}" = "Pass" || exit 1
214
215 push_master_to_github:
216   before_script:
217     - echo "Not setting up GitLab key, not fetching submodules"
218   stage: deploy
219   only:
220     - master
221     - /^release\/v.*$/
222   tags:
223     - deploy
224   when: on_success
225   image: espressif/esp32-ci-env
226   variables:
227     GIT_STRATEGY: clone
228   script:
229     - mkdir -p ~/.ssh
230     - chmod 700 ~/.ssh
231     - echo -n $GH_PUSH_KEY > ~/.ssh/id_rsa_base64
232     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
233     - chmod 600 ~/.ssh/id_rsa
234     - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
235     - git remote add github git@github.com:espressif/esp-idf.git
236     - git push --follow-tags github HEAD
237
238
239 deploy_docs:
240   before_script:
241     - echo "Not setting up GitLab key, not fetching submodules"
242   stage: deploy
243   only:
244    - master
245    - /^release\/v.*$/
246    - triggers
247   tags:
248     - deploy
249   image: espressif/esp32-ci-env
250   script:
251     - mkdir -p ~/.ssh
252     - chmod 700 ~/.ssh
253     - echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
254     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
255     - chmod 600 ~/.ssh/id_rsa
256     - echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
257     - export GIT_VER=$(git describe --always)
258     - cd docs/_build/
259     - mv html $GIT_VER
260     - tar czvf $GIT_VER.tar.gz $GIT_VER
261     - scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH
262     - ssh $DOCS_SERVER -x "cd $DOCS_PATH && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
263
264 check_doc_links:
265   stage: test
266   image: espressif/esp32-ci-env
267   tags:
268     - check_doc_links
269   only:
270     # can only be triggered
271     - triggers
272   script:
273     # must be triggered with CHECK_LINKS=Yes, otherwise exit without test
274     - test "$CHECK_LINKS" = "Yes" || exit 0
275     # can only run on master branch (otherwise the commit is not on Github yet)
276     - test "${CI_BUILD_REF_NAME}" = "master" || exit 0
277     - cd docs
278     - make linkcheck
279   artifacts:
280     paths:
281       - docs/_build/linkcheck
282     expire_in: 1 mos
283
284
285 # AUTO GENERATED PART START, DO NOT MODIFY CONTENT BELOW
286 # template for test jobs
287 .test_template: &test_template
288   stage: test
289   when: on_success
290   only:
291     - master
292     - /^release\/v.*$/
293     - triggers
294   allow_failure: true
295
296   variables:
297     LOCAL_ENV_CONFIG_PATH: $CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF
298     BIN_PATH: "$CI_PROJECT_DIR/SSC/ssc_bin/SSC"
299     APP_NAME: "ssc"
300     LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
301     # append test level folder to TEST_CASE_FILE_PATH in before_script of test job
302     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/integration_test"
303     # jobs MUST set CONFIG_FILE in before_script, and overwrite the variables above if necessary
304     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/unit_test/ModuleDefinition.yml"
305
306   artifacts:
307     when: always
308     paths:
309       - $LOG_PATH
310     expire_in: 6 mos
311
312   script:
313     # remove artifacts from last stage (UT logs)
314     - rm -rf $LOG_PATH
315     # add gitlab ssh key
316     - mkdir -p ~/.ssh
317     - chmod 700 ~/.ssh
318     - echo -n $GITLAB_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 gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
322     # clone local test env configs
323     - git clone $GITLAB_SSH_SERVER/qa/ci-test-runner-configs.git
324     # clone test bench
325     - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
326     - cd auto_test_script
327     # run test
328     - python CIRunner.py -l $LOG_PATH -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH -m $MODULE_UPDATE_FILE bin_path $APP_NAME $BIN_PATH
329
330
331 # template for overnight test jobs
332 .test_template_night: &test_template_night
333   <<: *test_template
334   only:
335     # can only be triggered
336     - triggers
337   script:
338     # remove artifacts from last stage (UT logs)
339     - rm -rf $LOG_PATH
340     # must be night build triggers, otherwise exit without test
341     - test $NIGHT_BUILD = "Yes" || exit 0
342     # add gitlab ssh key
343     - mkdir -p ~/.ssh
344     - chmod 700 ~/.ssh
345     - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
346     - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
347     - chmod 600 ~/.ssh/id_rsa
348     - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
349     # clone local test env configs
350     - git clone $GITLAB_SSH_SERVER/qa/ci-test-runner-configs.git
351     # clone test bench
352     - git clone $GITLAB_SSH_SERVER/yinling/auto_test_script.git
353     - cd auto_test_script
354     # run test
355     - python CIRunner.py -l $LOG_PATH -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH -m $MODULE_UPDATE_FILE bin_path $APP_NAME $BIN_PATH
356
357 # template for unit test jobs
358 .unit_test_template: &unit_test_template
359   <<: *test_template
360   allow_failure: false
361   stage: unit_test
362
363   variables:
364     LOCAL_ENV_CONFIG_PATH: $CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF
365     BIN_PATH: "$CI_PROJECT_DIR/tools/unit-test-app/build/"
366     LOG_PATH: "$CI_PROJECT_DIR/$CI_BUILD_REF"
367     APP_NAME: "ut"
368     TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/components/idf_test/unit_test"
369     MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/tools/unit-test-app/ModuleDefinition.yml"
370   
371   dependencies:
372     - build_esp_idf_tests
373
374 UT_Function_SYS_01:
375   <<: *unit_test_template
376   tags:
377     - ESP32_IDF
378     - UT_T1_1
379   before_script:
380     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/UT_Function_SYS_01.yml
381
382 UT_Function_SYS_02:
383   <<: *unit_test_template
384   tags:
385     - ESP32_IDF
386     - UT_T1_1
387   before_script:
388     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/UT_Function_SYS_02.yml
389
390 IT_Function_SYS_01:
391   <<: *test_template
392   tags:
393     - ESP32_IDF
394     - SSC_T1_1
395   before_script:
396     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_SYS_01.yml
397
398 IT_Function_WIFI_01:
399   <<: *test_template
400   tags:
401     - ESP32_IDF
402     - SSC_T1_1
403     - SSC_T2_1
404   before_script:
405     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_01.yml
406
407 IT_Function_WIFI_02:
408   <<: *test_template
409   tags:
410     - ESP32_IDF
411     - SSC_T1_1
412     - SSC_T2_1
413   before_script:
414     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_02.yml
415
416 IT_Function_TCPIP_01:
417   <<: *test_template
418   tags:
419     - ESP32_IDF
420     - SSC_T1_1
421     - SSC_T2_1
422   before_script:
423     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_01.yml
424
425 IT_Function_TCPIP_02:
426   <<: *test_template
427   tags:
428     - ESP32_IDF
429     - SSC_T1_1
430   before_script:
431     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_02.yml
432
433 IT_Function_TCPIP_03:
434   <<: *test_template
435   tags:
436     - ESP32_IDF
437     - SSC_T1_1
438     - SSC_T2_1
439   before_script:
440     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_03.yml
441
442 IT_Function_TCPIP_04:
443   <<: *test_template
444   tags:
445     - ESP32_IDF
446     - SSC_T1_1
447     - SSC_T2_1
448   before_script:
449     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_04.yml
450
451 IT_Function_TCPIP_05:
452   <<: *test_template
453   tags:
454     - ESP32_IDF
455     - SSC_T1_1
456   before_script:
457     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_05.yml
458
459 IT_Stress_WIFI_01:
460   <<: *test_template_night
461   tags:
462     - ESP32_IDF
463     - SSC_T5_1
464   before_script:
465     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stress_WIFI_01.yml
466
467 IT_Stress_TCPIP_01:
468   <<: *test_template_night
469   tags:
470     - ESP32_IDF
471     - SSC_T1_1
472   before_script:
473     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stress_TCPIP_01.yml
474
475 IT_Stress_TCPIP_02:
476   <<: *test_template_night
477   tags:
478     - ESP32_IDF
479     - SSC_T2_1
480   before_script:
481     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stress_TCPIP_02.yml
482
483 IT_Stress_TCPIP_03:
484   <<: *test_template_night
485   tags:
486     - ESP32_IDF
487     - SSC_T1_1
488   before_script:
489     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stress_TCPIP_03.yml
490
491 IT_Stress_TCPIP_04:
492   <<: *test_template_night
493   tags:
494     - ESP32_IDF
495     - SSC_T2_1
496   before_script:
497     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stress_TCPIP_04.yml
498
499 IT_Stable_TCPIP_01:
500   <<: *test_template_night
501   tags:
502     - ESP32_IDF
503     - SSC_T5_1
504   before_script:
505     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stable_TCPIP_01.yml
506
507 IT_Stable_TCPIP_02:
508   <<: *test_template_night
509   tags:
510     - ESP32_IDF
511     - SSC_T1_1
512   before_script:
513     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stable_TCPIP_02.yml
514
515 IT_Stable_TCPIP_03:
516   <<: *test_template_night
517   tags:
518     - ESP32_IDF
519     - SSC_T5_1
520   before_script:
521     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Stable_TCPIP_03.yml
522
523 IT_Function_TCPIP_06:
524   <<: *test_template_night
525   tags:
526     - ESP32_IDF
527     - SSC_T1_1
528   before_script:
529     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_06.yml
530
531 IT_Function_WIFI_03:
532   <<: *test_template
533   tags:
534     - ESP32_IDF
535     - SSC_T1_APC
536   before_script:
537     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_03.yml
538
539 IT_Function_WIFI_04:
540   <<: *test_template
541   tags:
542     - ESP32_IDF
543     - SSC_T3_PhyMode
544   before_script:
545     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_04.yml
546
547 IT_Function_WIFI_05:
548   <<: *test_template
549   tags:
550     - ESP32_IDF
551     - SSC_T1_WEP
552   before_script:
553     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_05.yml
554
555 IT_Function_WIFI_06:
556   <<: *test_template
557   tags:
558     - ESP32_IDF
559     - SSC_T2_PhyMode
560   before_script:
561     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_WIFI_06.yml
562
563 IT_Function_TCPIP_07:
564   <<: *test_template
565   tags:
566     - ESP32_IDF
567     - SSC_T1_1
568     - SSC_T1_2
569   before_script:
570     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_07.yml
571
572 IT_Function_TCPIP_08:
573   <<: *test_template
574   tags:
575     - ESP32_IDF
576     - SSC_T1_1
577     - SSC_T2_1
578   before_script:
579     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_08.yml
580
581 IT_Function_TCPIP_09:
582   <<: *test_template
583   tags:
584     - ESP32_IDF
585     - SSC_T1_1
586     - SSC_T1_2
587   before_script:
588     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_09.yml
589
590 IT_Function_TCPIP_10:
591   <<: *test_template
592   tags:
593     - ESP32_IDF
594     - SSC_T1_1
595     - SSC_T1_2
596   before_script:
597     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_10.yml
598
599 IT_Function_TCPIP_11:
600   <<: *test_template
601   tags:
602     - ESP32_IDF
603     - SSC_T1_1
604   before_script:
605     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_11.yml
606
607 IT_Function_TCPIP_12:
608   <<: *test_template
609   tags:
610     - ESP32_IDF
611     - SSC_T1_1
612   before_script:
613     - CONFIG_FILE=$TEST_CASE_FILE_PATH/CIConfigs/IT_Function_TCPIP_12.yml
614