mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
172 lines
5.7 KiB
YAML
172 lines
5.7 KiB
YAML
.assign_test_template:
|
|
image: $CI_DOCKER_REGISTRY/ubuntu-test-env$BOT_DOCKER_IMAGE_TAG
|
|
stage: assign_test
|
|
tags:
|
|
- assign_test
|
|
variables:
|
|
SUBMODULES_TO_FETCH: components/esptool_py/esptool
|
|
artifacts:
|
|
paths:
|
|
- ${TEST_DIR}/test_configs
|
|
- ${BUILD_DIR}/artifact_index.json
|
|
when: always
|
|
expire_in: 1 week
|
|
script:
|
|
- python tools/ci/python_packages/ttfw_idf/IDFAssignTest.py $TEST_TYPE $TEST_DIR -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_DIR/test_configs
|
|
|
|
assign_example_test:
|
|
extends:
|
|
- .assign_test_template
|
|
- .rules:build:example_test
|
|
needs:
|
|
- job: build_examples_cmake_esp32
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_examples_cmake_esp32s2
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_examples_cmake_esp32c3
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_examples_cmake_esp32s3
|
|
artifacts: false
|
|
optional: true
|
|
variables:
|
|
TEST_TYPE: example_test
|
|
TEST_DIR: ${CI_PROJECT_DIR}/examples
|
|
BUILD_DIR: ${CI_PROJECT_DIR}/build_examples
|
|
|
|
assign_custom_test:
|
|
extends:
|
|
- .assign_test_template
|
|
- .rules:build:custom_test
|
|
needs:
|
|
- job: build_test_apps_esp32
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_test_apps_esp32s2
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_test_apps_esp32c3
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_test_apps_esp32s3
|
|
artifacts: false
|
|
optional: true
|
|
variables:
|
|
TEST_TYPE: custom_test
|
|
TEST_DIR: ${CI_PROJECT_DIR}/tools/test_apps
|
|
BUILD_DIR: ${CI_PROJECT_DIR}/build_test_apps
|
|
|
|
assign_component_ut:
|
|
extends:
|
|
- .assign_test_template
|
|
- .rules:build:component_ut
|
|
needs:
|
|
- job: build_component_ut_esp32
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_component_ut_esp32s2
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_component_ut_esp32c3
|
|
artifacts: false
|
|
optional: true
|
|
- job: build_component_ut_esp32s3
|
|
artifacts: false
|
|
optional: true
|
|
variables:
|
|
TEST_TYPE: component_ut
|
|
TEST_DIR: ${CI_PROJECT_DIR}/component_ut
|
|
BUILD_DIR: ${CI_PROJECT_DIR}/build_component_ut
|
|
script:
|
|
# COMPONENT_UT_DIRS is set by `set_component_ut_vars` in `utils.sh`
|
|
- set_component_ut_vars
|
|
- python tools/ci/python_packages/ttfw_idf/IDFAssignTest.py $TEST_TYPE $COMPONENT_UT_DIRS -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_DIR/test_configs
|
|
|
|
assign_unit_test:
|
|
extends:
|
|
- .assign_test_template
|
|
- .rules:build:unit_test
|
|
needs:
|
|
- job: build_esp_idf_tests_cmake_esp32
|
|
optional: true
|
|
- job: build_esp_idf_tests_cmake_esp32s2
|
|
optional: true
|
|
- job: build_esp_idf_tests_cmake_esp32c3
|
|
optional: true
|
|
- job: build_esp_idf_tests_cmake_esp32s3
|
|
optional: true
|
|
variables:
|
|
TEST_TYPE: unit_test
|
|
TEST_DIR: ${CI_PROJECT_DIR}/components/idf_test/unit_test
|
|
BUILD_DIR: ${CI_PROJECT_DIR}/tools/unit-test-app/builds
|
|
script:
|
|
- python tools/ci/python_packages/ttfw_idf/IDFAssignTest.py $TEST_TYPE $TEST_DIR -c $CI_TARGET_TEST_CONFIG_FILE -o $TEST_DIR/test_configs
|
|
|
|
assign_integration_test:
|
|
extends:
|
|
- .assign_test_template
|
|
- .rules:test:integration_test
|
|
- .before_script_minimal
|
|
image: ${CI_INTEGRATION_TEST_ENV_IMAGE}
|
|
needs:
|
|
- build_ssc_esp32
|
|
- build_ssc_esp32c3
|
|
artifacts:
|
|
paths:
|
|
- $TEST_DIR/test_configs
|
|
variables:
|
|
TEST_DIR: ${CI_PROJECT_DIR}/tools/ci/integration_test
|
|
BUILD_DIR: ${CI_PROJECT_DIR}/SSC/ssc_bin
|
|
INTEGRATION_TEST_CASE_PATH: "${CI_PROJECT_DIR}/auto_test_script/TestCaseFiles"
|
|
ASSIGN_TEST_CASE_SCRIPT: "${CI_PROJECT_DIR}/auto_test_script/bin/CIAssignTestCases.py"
|
|
PYTHONPATH: ${CI_PROJECT_DIR}/auto_test_script/packages
|
|
GIT_LFS_SKIP_SMUDGE: 1
|
|
script:
|
|
- add_gitlab_ssh_keys
|
|
# clone test script to assign tests
|
|
- retry_failed git clone ${CI_AUTO_TEST_SCRIPT_REPO_URL} auto_test_script
|
|
- python $CHECKOUT_REF_SCRIPT auto_test_script auto_test_script
|
|
- cd auto_test_script
|
|
- ./tools/ci/setup_idfci.sh
|
|
# assign integration test cases
|
|
- python ${ASSIGN_TEST_CASE_SCRIPT} -t ${INTEGRATION_TEST_CASE_PATH} -c $CI_TARGET_TEST_CONFIG_FILE -b ${BUILD_DIR} -o $TEST_DIR/test_configs
|
|
|
|
update_test_cases:
|
|
extends: .rules:ref:master-schedule
|
|
stage: assign_test
|
|
image: $CI_DOCKER_REGISTRY/ubuntu-test-env
|
|
tags:
|
|
- deploy_test
|
|
needs:
|
|
- build_esp_idf_tests_cmake_esp32
|
|
- build_esp_idf_tests_cmake_esp32s2
|
|
- build_esp_idf_tests_cmake_esp32s3
|
|
- build_esp_idf_tests_cmake_esp32c3
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- ${CI_PROJECT_DIR}/test-management/*.log
|
|
expire_in: 1 week
|
|
variables:
|
|
SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
|
|
UNIT_TEST_DIR: "${CI_PROJECT_DIR}/components/idf_test/unit_test"
|
|
BOT_ACCOUNT_CONFIG_FILE: "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
|
|
PYTHONPATH: ${CI_PROJECT_DIR}/auto_test_script/packages
|
|
PYTHON_VER: 3.7.7
|
|
script:
|
|
- export GIT_SHA=$(echo ${PIPELINE_COMMIT_SHA} | cut -c 1-8)
|
|
- retry_failed git clone $TEST_MANAGEMENT_REPO
|
|
- python $CHECKOUT_REF_SCRIPT test-management test-management
|
|
- cd test-management
|
|
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
|
|
# update unit test cases
|
|
- export UNIT_TEST_CASE_FILES=$(find $UNIT_TEST_DIR -maxdepth 1 -name "*.yml" | xargs)
|
|
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT unity -d $UNIT_TEST_CASE_FILES -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
|
|
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT tiny_test_fw -d ${CI_PROJECT_DIR}/tools/test_apps -r $GIT_SHA
|
|
# organize test cases
|
|
- python OrganizeTestCases.py $JIRA_TEST_MANAGEMENT_PROJECT
|