| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765 |
- # for parallel jobs, CI_JOB_NAME will be "job_name index/total" (for example, "IT_001 1/2")
- # we need to convert to pattern "job_name_index.yml"
- .define_config_file_name: &define_config_file_name |
- JOB_NAME_PREFIX=$(echo ${CI_JOB_NAME} | awk '{print $1}')
- JOB_FULL_NAME="${JOB_NAME_PREFIX}_${CI_NODE_INDEX}"
- CONFIG_FILE="${CONFIG_FILE_PATH}/${JOB_FULL_NAME}.yml"
- .example_test_template:
- stage: target_test
- when: on_success
- only:
- refs:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- - triggers
- - schedules
- variables:
- - $BOT_TRIGGER_WITH_LABEL == null
- - $BOT_LABEL_EXAMPLE_TEST
- dependencies:
- - assign_test
- artifacts:
- when: always
- paths:
- - $LOG_PATH
- expire_in: 1 week
- reports:
- junit: $LOG_PATH/*/XUNIT_RESULT.xml
- variables:
- TEST_CASE_PATH: "$CI_PROJECT_DIR/examples"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/examples/test_configs"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
- SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
- PYTHON_VER: 3
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone test env configs
- - ./tools/ci/retry_failed.sh git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- - cd tools/ci/python_packages/tiny_test_fw/bin
- # run test
- - python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE
- .example_debug_template:
- stage: target_test
- when: on_success
- only:
- refs:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- - triggers
- - schedules
- variables:
- - $BOT_TRIGGER_WITH_LABEL == null
- - $BOT_LABEL_EXAMPLE_TEST
- dependencies:
- - assign_test
- artifacts:
- when: always
- paths:
- - $LOG_PATH
- expire_in: 1 week
- reports:
- junit: $LOG_PATH/*/XUNIT_RESULT.xml
- variables:
- TEST_CASE_PATH: "$CI_PROJECT_DIR/examples"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/examples/test_configs"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone test env configs
- - ./tools/ci/retry_failed.sh git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- - cd tools/ci/python_packages/tiny_test_fw/bin
- # run test
- - python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE
- .test_app_template:
- extends: .example_test_template
- stage: target_test
- dependencies:
- - assign_test
- only:
- refs:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- - triggers
- - schedules
- variables:
- - $BOT_TRIGGER_WITH_LABEL == null
- - $BOT_LABEL_CUSTOM_TEST
- variables:
- TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
- TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/test_apps"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/tools/test_apps/test_configs"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
- .unit_test_template:
- extends: .example_test_template
- stage: target_test
- dependencies:
- - assign_test
- - build_esp_idf_tests_cmake_esp32
- only:
- refs:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- - triggers
- - schedules
- variables:
- - $BOT_TRIGGER_WITH_LABEL == null
- - $BOT_LABEL_UNIT_TEST
- variables:
- TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
- TEST_CASE_PATH: "$CI_PROJECT_DIR/tools/unit-test-app"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/unit_test/CIConfigs"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/EnvConfig.yml"
- PYTHON_VER: 3
- .test_template:
- stage: target_test
- when: on_success
- only:
- refs:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- - triggers
- - schedules
- variables:
- - $BOT_TRIGGER_WITH_LABEL == null
- - $BOT_LABEL_INTEGRATION_TEST
- dependencies:
- - assign_test
- - build_ssc_esp32
- artifacts:
- when: always
- reports:
- junit: $LOG_PATH/*/XUNIT_RESULT.xml
- paths:
- - $LOG_PATH
- expire_in: 1 week
- variables:
- SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
- LOCAL_ENV_CONFIG_PATH: "$CI_PROJECT_DIR/ci-test-runner-configs/$CI_RUNNER_DESCRIPTION/ESP32_IDF"
- LOG_PATH: "${CI_PROJECT_DIR}/${CI_COMMIT_SHA}"
- TEST_CASE_FILE_PATH: "$CI_PROJECT_DIR/auto_test_script/TestCaseFiles"
- MODULE_UPDATE_FILE: "$CI_PROJECT_DIR/components/idf_test/ModuleDefinition.yml"
- CONFIG_FILE_PATH: "${CI_PROJECT_DIR}/components/idf_test/integration_test/CIConfigs"
- KNOWN_ISSUE_FILE: "${CI_PROJECT_DIR}/components/idf_test/integration_test/KnownIssues"
- PYTHON_VER: 3.7.7
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone local test env configs
- - ./tools/ci/retry_failed.sh git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- # clone auto test repo
- - ./tools/ci/retry_failed.sh git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- - ./tools/ci/retry_failed.sh git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script
- - export PYTHONPATH="${CI_PROJECT_DIR}/auto_test_script/packages:$PYTHONPATH"
- - cd auto_test_script
- # run test
- - cat ${KNOWN_ISSUE_FILE} >> ${TEST_CASE_FILE_PATH}/KnownIssues
- - python bin/CIRunner.py -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
- test_weekend_mqtt:
- extends: .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"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/components/mqtt/weekend_test/env.yml"
- CONFIG_FILE_PATH: "$CI_PROJECT_DIR/components/mqtt/weekend_test"
- test_weekend_network:
- extends: .example_test_template
- stage: target_test
- image: $CI_DOCKER_REGISTRY/rpi-net-suite$BOT_DOCKER_IMAGE_TAG
- tags:
- - ESP32
- - Example_WIFI
- only:
- variables:
- - $BOT_LABEL_WEEKEND_TEST
- variables:
- TEST_CASE_PATH: "$CI_PROJECT_DIR/components/lwip/weekend_test"
- LOG_PATH: "$CI_PROJECT_DIR/TEST_LOGS"
- ENV_FILE: "$CI_PROJECT_DIR/components/lwip/weekend_test/env.yml"
- CONFIG_FILE_PATH: "$CI_PROJECT_DIR/components/lwip/weekend_test"
- example_test_001A:
- extends: .example_test_template
- parallel: 4
- artifacts:
- when: always
- paths:
- - $CI_PROJECT_DIR/examples/*/*/*.log
- expire_in: 1 week
- tags:
- - ESP32
- - Example_WIFI
- example_test_001B:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_EthKitV1
- example_test_001C:
- extends: .example_test_template
- parallel: 2
- tags:
- - ESP32
- - Example_GENERIC
- example_test_002:
- extends: .example_test_template
- image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
- tags:
- - ESP32
- - Example_ShieldBox_Basic
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone test env configs
- - ./tools/ci/retry_failed.sh git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- - cd tools/ci/python_packages/tiny_test_fw/bin
- # run test
- - python Runner.py $TEST_CASE_PATH -c $CONFIG_FILE -e $ENV_FILE
- .example_test_003:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_SDIO
- example_test_004A:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_TWAI1
- example_test_004B:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_TWAI2
- example_test_005:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_WIFI_BT
- example_test_006:
- extends: .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
- example_test_007:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_I2C_CCS811_SENSOR
- example_test_008:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_Flash_Encryption
- example_test_009:
- extends: .example_test_template
- tags:
- - ESP32
- - test_jtag_arm
- artifacts:
- when: always
- paths:
- - $CI_PROJECT_DIR/examples/*/*/*.log
- expire_in: 1 week
- variables:
- SETUP_TOOLS: "1"
- example_test_010:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_ExtFlash
- example_test_011:
- extends: .example_debug_template
- tags:
- - ESP32
- - UT_T2_RS485
- artifacts:
- when: always
- expire_in: 1 week
- paths:
- - $CI_PROJECT_DIR/examples/protocols/modbus/serial/*.log
- - $LOG_PATH
- variables:
- SETUP_TOOLS: "1"
- example_test_012:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_RMT_IR_PROTOCOLS
- example_test_013:
- extends: .example_test_template
- tags:
- - ESP32
- - UT_T1_SDMODE
- example_test_014:
- extends: .example_test_template
- tags:
- - ESP32
- - 8Mpsram
- example_test_015:
- extends: .example_test_template
- tags:
- - ESP32
- - Example_PPP
- artifacts:
- when: always
- expire_in: 1 week
- paths:
- - $CI_PROJECT_DIR/examples/*/*/*.log
- - $LOG_PATH
- test_app_test_001:
- extends: .test_app_template
- tags:
- - ESP32
- - test_jtag_arm
- artifacts:
- when: always
- paths:
- - $CI_PROJECT_DIR/tools/test_apps/system/gdb_loadable_elf/*.log
- expire_in: 1 week
- variables:
- SETUP_TOOLS: "1"
- test_app_test_002:
- extends: .test_app_template
- tags:
- - ESP32
- - Example_WIFI
- test_app_test_003:
- extends: .test_app_template
- tags:
- - ESP32
- - Example_PPP
- UT_001:
- extends: .unit_test_template
- parallel: 39
- tags:
- - ESP32_IDF
- - UT_T1_1
- # Max. allowed value of 'parallel' is 50.
- UT_002:
- extends: .unit_test_template
- parallel: 15
- tags:
- - ESP32_IDF
- - UT_T1_1
- - psram
- UT_003:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_SDMODE
- UT_004:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_SPIMODE
- UT_005:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_SDMODE
- - psram
- UT_006:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_SPIMODE
- - psram
- UT_008:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_GPIO
- - psram
- UT_012:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_LEDC
- - psram
- UT_014:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T2_RS485
- - psram
- UT_015:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_RMT
- UT_016:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_RMT
- - psram
- UT_017:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - EMMC
- UT_018:
- extends: .unit_test_template
- parallel: 5
- tags:
- - ESP32_IDF
- - UT_T1_1
- - 8Mpsram
- UT_020:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - Example_SPI_Multi_device
- - psram
- UT_021:
- extends: .unit_test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - psram
- - UT_T1_FlashEncryption
- UT_022:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T2_I2C
- - psram
- UT_023:
- extends: .unit_test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - UT_T1_MCPWM
- UT_024:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_MCPWM
- - psram
- UT_028:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T2_1
- - psram
- UT_031:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_FlashEncryption
- UT_033:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T2_Ethernet
- - psram
- UT_034:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_ESP_FLASH
- .unit_test_s2_template:
- extends: .unit_test_template
- dependencies:
- - assign_test
- - build_esp_idf_tests_cmake_esp32s2
- only:
- refs:
- # Due to lack of runners, the tests are only done by manual trigger
- # - master
- # - /^release\/v/
- # - /^v\d+\.\d+(\.\d+)?($|-)/
- - triggers
- - schedules
- variables:
- # Due to lack of runners, S2 tests will only be triggered with label (@bot test will not trigger)
- # - $BOT_TRIGGER_WITH_LABEL == null
- - $BOT_LABEL_UNIT_TEST_S2
- UT_035:
- extends: .unit_test_s2_template
- parallel: 38
- tags:
- - ESP32S2_IDF
- - UT_T1_1
- UT_036:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_PSRAMV0
- - psram
- # ToDo: re-enable this job when ESP32-S2 LEDC runner installed
- # UT_037:
- # extends: .unit_test_template
- # tags:
- # - ESP32S2_IDF
- # - UT_T1_LEDC
- UT_041:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_no32kXTAL
- - psram
- UT_043:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_T1_32kXTAL
- - psram
- UT_044:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_SDIO
- UT_045:
- extends: .unit_test_template
- tags:
- - ESP32_IDF
- - UT_SDIO
- - psram
- nvs_compatible_test:
- extends: .test_template
- artifacts:
- when: always
- paths:
- - $LOG_PATH
- - nvs_wifi.bin
- expire_in: 1 mos
- tags:
- - ESP32_IDF
- - NVS_Compatible
- script:
- - *define_config_file_name
- # first test if config file exists, if not exist, exit 0
- - test -e $CONFIG_FILE || exit 0
- # clone local test env configs
- - ./tools/ci/retry_failed.sh git clone $TEST_ENV_CONFIG_REPO
- - python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
- # clone test bench
- - ./tools/ci/retry_failed.sh git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} -b empty_branch
- - ./tools/ci/retry_failed.sh git -C auto_test_script checkout -f ${CI_AUTO_TEST_SCRIPT_REPO_BRANCH}
- - python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script
- - export PYTHONPATH="${CI_PROJECT_DIR}/auto_test_script/packages:$PYTHONPATH"
- - cd auto_test_script
- # prepare nvs bins
- - ./tools/prepare_nvs_bin.sh
- # run test
- - python bin/CIRunner.py -l "$LOG_PATH/$JOB_FULL_NAME" -c $CONFIG_FILE -e $LOCAL_ENV_CONFIG_PATH -t $TEST_CASE_FILE_PATH
- IT_001:
- extends: .test_template
- parallel: 3
- tags:
- - ESP32_IDF
- - SSC_T1_4
- IT_002:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_2
- IT_003:
- extends: .test_template
- parallel: 14
- tags:
- - ESP32_IDF
- - SSC_T2_5
- IT_004:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_APC
- IT_005:
- extends: .test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - SSC_T1_5
- IT_006:
- extends: .test_template
- parallel: 12
- tags:
- - ESP32_IDF
- - SSC_T1_6
- IT_007:
- extends: .test_template
- parallel: 3
- tags:
- - ESP32_IDF
- - SSC_T1_7
- IT_008:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_8
- IT_009:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_3
- IT_011:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_MESH1
- IT_012:
- extends: .test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - SSC_T2_MESH1
- IT_013:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T3_MESH1
- IT_014:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T6_MESH1
- IT_015:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T12_MESH1
- IT_016:
- extends: .test_template
- allow_failure: true
- tags:
- - ESP32_IDF
- - SSC_T50_MESH1
- IT_017:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_MESH2
- IT_018:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T1_9
- IT_019:
- extends: .test_template
- parallel: 2
- tags:
- - ESP32_IDF
- - SSC_T2_2
- IT_020:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T2_3
- IT_021:
- extends: .test_template
- tags:
- - ESP32_IDF
- - SSC_T2_4
|