mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
506 lines
18 KiB
YAML
506 lines
18 KiB
YAML
.host_test_template:
|
|
extends: .rules:test:host_test
|
|
stage: host_test
|
|
image: $ESP_ENV_IMAGE
|
|
tags: [build, shiny]
|
|
dependencies: # set dependencies to null to avoid missing artifacts issue
|
|
# run host_test jobs immediately, only after upload cache
|
|
needs:
|
|
- pipeline_variables
|
|
- job: upload-pip-cache
|
|
optional: true
|
|
artifacts: false
|
|
- job: upload-submodules-cache
|
|
optional: true
|
|
artifacts: false
|
|
- job: fast_template_app
|
|
optional: true
|
|
artifacts: false
|
|
artifacts:
|
|
expire_in: 1 week
|
|
when: always
|
|
|
|
check_public_headers:
|
|
extends:
|
|
- .host_test_template
|
|
- .rules:build:check
|
|
script:
|
|
- IDF_TARGET=esp32 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
|
|
- IDF_TARGET=esp32s2 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s2-elf-
|
|
- IDF_TARGET=esp32s3 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s3-elf-
|
|
- IDF_TARGET=esp32c3 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32c2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32c6 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32c5 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32c61 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32h21 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32h4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
- IDF_TARGET=esp32s31 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
|
|
|
|
test_nvs_coverage:
|
|
extends:
|
|
- .host_test_template
|
|
- .rules:labels:nvs_coverage
|
|
artifacts:
|
|
paths:
|
|
- components/nvs_flash/host_test/nvs_host_test/coverage_report
|
|
script:
|
|
- cd components/nvs_flash/host_test/nvs_host_test
|
|
- idf.py build coverage
|
|
# the 'long' host tests take approx 11 hours on our current runners. Adding some margin here for possible CPU contention
|
|
timeout: 18 hours
|
|
|
|
test_partition_table_on_host:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd components/partition_table/test_gen_esp32part_host
|
|
- pytest_for_ut ./gen_esp32part_tests.py
|
|
|
|
test_ldgen_on_host:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd tools/ldgen/test
|
|
- export PYTHONPATH=$PYTHONPATH:..
|
|
- pytest_for_ut .
|
|
variables:
|
|
LC_ALL: C.UTF-8
|
|
|
|
test_spiffs_on_host:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd components/spiffs/test_spiffsgen/
|
|
- pytest_for_ut ./test_spiffsgen.py
|
|
|
|
test_fatfsgen_on_host:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd components/fatfs/test_fatfsgen/
|
|
- pytest_for_ut ./test_fatfsgen.py ./test_wl_fatfsgen.py ./test_fatfsparse.py
|
|
|
|
test_certificate_bundle_on_host:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd components/mbedtls/esp_crt_bundle/test_gen_crt_bundle/
|
|
- pytest_for_ut ./test_gen_crt_bundle.py
|
|
|
|
# Test for create virtualenv. It must be invoked from Python, not from virtualenv.
|
|
# Use docker image system python without any extra dependencies
|
|
test_cli_installer:
|
|
extends:
|
|
- .host_test_template
|
|
- .before_script:minimal
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- tools/tools.new.json
|
|
- tools/test_idf_tools/test_python_env_logs.txt
|
|
image:
|
|
name: $ESP_ENV_IMAGE
|
|
entrypoint: [""] # use system python3. no extra pip package installed
|
|
script:
|
|
# Tools must be downloaded for testing
|
|
# We could use "idf_tools.py download all", but we don't want to install clang because of its huge size
|
|
# cmake@version that is supported
|
|
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa cmake cmake@3.22.1
|
|
- cd ${IDF_PATH}/tools/test_idf_tools
|
|
- python3 -m pip install jsonschema
|
|
# Testing with system python3, so don't use any third-party packages
|
|
- python3 ./test_idf_tools.py -v
|
|
- python3 ./test_idf_tools_python_env.py
|
|
# It runs at the end because it modifies dependencies
|
|
- IDF_TEST_MAY_BREAK_DEPENDENCIES=1 python3 ./test_idf_tools.py -v TestSystemDependencies.test_commands_when_nodeps
|
|
|
|
test_efuse_table_on_host:
|
|
extends: .host_test_template
|
|
parallel:
|
|
matrix:
|
|
- IDF_TARGET: [esp32, esp32s2, esp32c3, esp32s3, esp32c2, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61]
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- components/efuse/${IDF_TARGET}/esp_efuse_table.c
|
|
script:
|
|
- cd ${IDF_PATH}/components/efuse/
|
|
- ./efuse_table_gen.py -t "${IDF_TARGET}" ${IDF_PATH}/components/efuse/${IDF_TARGET}/esp_efuse_table.csv
|
|
- git diff --exit-code -- ${IDF_TARGET}/esp_efuse_table.c || { echo 'Differences found for ${IDF_TARGET} target. Please run idf.py efuse-common-table and commit the changes.'; exit 1; }
|
|
- cd ${IDF_PATH}/components/efuse/test_efuse_host
|
|
- pytest_for_ut ./efuse_tests.py
|
|
|
|
test_logtrace_proc:
|
|
extends: .host_test_template
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- tools/esp_app_trace/test/logtrace/output
|
|
- tools/esp_app_trace/test/logtrace/.coverage
|
|
script:
|
|
- cd ${IDF_PATH}/tools/esp_app_trace/test/logtrace
|
|
- ./test.sh
|
|
|
|
test_sysviewtrace_proc:
|
|
extends: .host_test_template
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- tools/esp_app_trace/test/sysview/output
|
|
- tools/esp_app_trace/test/sysview/.coverage
|
|
script:
|
|
- cd ${IDF_PATH}/tools/esp_app_trace/test/sysview
|
|
- ./test.sh
|
|
|
|
test_tools:
|
|
extends:
|
|
- .host_test_template
|
|
artifacts:
|
|
paths:
|
|
- ${IDF_PATH}/*.out
|
|
- ${IDF_PATH}/XUNIT_*.xml
|
|
reports:
|
|
junit: ${IDF_PATH}/XUNIT_*.xml
|
|
variables:
|
|
LC_ALL: C.UTF-8
|
|
INSTALL_EXTRA_TOOLS: "qemu-xtensa qemu-riscv32" # for test_idf_qemu.py
|
|
script:
|
|
- stat=0
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- cd ${IDF_PATH}/tools/ci/test_autocomplete
|
|
- run_cmd pytest --noconftest test_autocomplete.py --junitxml=${IDF_PATH}/XUNIT_AUTOCOMP.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- cd ${IDF_PATH}/tools/test_idf_py
|
|
- run_cmd pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- run_cmd pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- run_cmd pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- cd ${IDF_PATH}/tools/test_bsasm
|
|
- run_cmd pytest --noconftest test_bsasm.py --junitxml=${IDF_PATH}/XUNIT_BSASM.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- cd ${IDF_PATH}/tools/test_mkdfu
|
|
- run_cmd pytest --noconftest test_mkdfu.py --junitxml=${IDF_PATH}/XUNIT_MKDFU.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- cd ${IDF_PATH}/tools/test_idf_size
|
|
- run_cmd pytest --noconftest test_idf_size.py --junitxml=${IDF_PATH}/XUNIT_IDF_SIZE.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- cd ${IDF_PATH}/tools/test_idf_diag
|
|
- run_cmd pytest --noconftest test_idf_diag.py --junitxml=${IDF_PATH}/XUNIT_IDF_DIAG.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} || stat=1
|
|
- cd ${IDF_PATH}
|
|
- shellcheck -s sh tools/detect_python.sh || stat=1
|
|
- shellcheck -s bash tools/detect_python.sh || stat=1
|
|
- shellcheck -s dash tools/detect_python.sh || stat=1
|
|
- "bash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
|
|
- "dash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
|
|
- "zsh -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
|
|
- "fish -c 'source tools/detect_python.fish && echo Our Python: $ESP_PYTHON'"
|
|
- exit "$stat"
|
|
|
|
test_split_path_by_spaces:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd ${IDF_PATH}/tools
|
|
- pytest_for_ut ./split_paths_by_spaces.py
|
|
|
|
test_transport_on_host:
|
|
extends: .host_test_template
|
|
allow_failure: true # IDFCI-2781 [v5.5, v5.4] test_transport_on_host fails on ubuntu 24.04
|
|
script:
|
|
- cd ${IDF_PATH}/components/tcp_transport/host_test
|
|
- idf.py build
|
|
- LSAN_OPTIONS=verbosity=1:log_threads=1 build/host_tcp_transport_test.elf
|
|
|
|
test_sockets_on_host:
|
|
extends: .host_test_template
|
|
script:
|
|
# test the tcp-client example with system sockets
|
|
- cd ${IDF_PATH}/examples/protocols/sockets/tcp_client
|
|
- echo 'CONFIG_EXAMPLE_IPV4_ADDR="127.0.0.1"' >> sdkconfig.defaults
|
|
- idf.py --preview set-target linux
|
|
- idf.py build
|
|
- timeout 5 ./build/tcp_client.elf >test.log || true
|
|
- grep "Socket unable to connect" test.log
|
|
# test the udp-client example with lwip sockets
|
|
- cd ${IDF_PATH}/examples/protocols/sockets/udp_client
|
|
- idf.py --preview set-target linux
|
|
- cat sdkconfig.ci.linux > sdkconfig
|
|
- idf.py build
|
|
- timeout 5 ./build/udp_client.elf >test.log || true
|
|
- grep "Message sent" test.log
|
|
|
|
test_eh_frame_parser:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd ${IDF_PATH}/components/esp_system/test_eh_frame_parser
|
|
- make
|
|
- ./eh_frame_test
|
|
|
|
test_gen_soc_caps_kconfig:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd ${IDF_PATH}/tools/gen_soc_caps_kconfig/
|
|
- pytest_for_ut ./test/test_gen_soc_caps_kconfig.py
|
|
|
|
test_idf_build_apps_load_soc_caps:
|
|
extends: .host_test_template
|
|
script:
|
|
- cd tools/ci
|
|
- pytest_for_ut ./test_soc_headers_load_in_idf_build_apps.py
|
|
|
|
test_nvs_gen_check:
|
|
extends: .host_test_template
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- components/nvs_flash/nvs_partition_tool
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
variables:
|
|
LC_ALL: C.UTF-8
|
|
script:
|
|
- cd ${IDF_PATH}/components/nvs_flash/nvs_partition_tool
|
|
- pytest_for_ut test_nvs_gen_check.py
|
|
|
|
test_esp_rom:
|
|
extends: .host_test_template
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
script:
|
|
- cd ${IDF_PATH}/components/esp_rom/
|
|
- pytest_for_ut test_esp_rom.py
|
|
|
|
make_sure_soc_caps_compatible_in_idf_build_apps:
|
|
extends:
|
|
- .host_test_template
|
|
- .rules:dev-push
|
|
artifacts:
|
|
paths:
|
|
- new.json
|
|
- base.json
|
|
when: always
|
|
when: manual
|
|
script:
|
|
- python tools/ci/idf_build_apps_dump_soc_caps.py new.json
|
|
- git fetch --depth=1 origin $CI_MERGE_REQUEST_DIFF_BASE_SHA
|
|
- git checkout -f $CI_MERGE_REQUEST_DIFF_BASE_SHA
|
|
- git checkout $CI_COMMIT_SHA -- tools/ci/idf_build_apps_dump_soc_caps.py
|
|
- python tools/ci/idf_build_apps_dump_soc_caps.py base.json
|
|
- diff new.json base.json
|
|
|
|
build_docker:
|
|
extends:
|
|
- .before_script:minimal
|
|
- .rules:build:docker
|
|
stage: host_test
|
|
needs: []
|
|
image: espressif/docker-builder:1
|
|
tags: [shiny, dind]
|
|
variables:
|
|
DOCKER_TMP_IMAGE_NAME: "idf_tmp_image"
|
|
script:
|
|
- export DOCKER_BUILD_ARGS="--build-arg IDF_CLONE_URL=${CI_REPOSITORY_URL} --build-arg IDF_CLONE_BRANCH_OR_TAG=${CI_COMMIT_REF_NAME} --build-arg IDF_CHECKOUT_REF=${CI_COMMIT_TAG:-$CI_COMMIT_SHA} --build-arg IDF_CLONE_SHALLOW=1 --build-arg IDF_GITHUB_ASSETS=${INTERNAL_GITHUB_ASSETS}"
|
|
- docker build --tag ${DOCKER_TMP_IMAGE_NAME} ${DOCKER_BUILD_ARGS} tools/docker/
|
|
# We can't mount $PWD/examples/get-started/blink into the container, see https://gitlab.com/gitlab-org/gitlab-ce/issues/41227.
|
|
# The workaround mentioned there works, but leaves around directories which need to be cleaned up manually.
|
|
# Therefore, build a copy of the example located inside the container.
|
|
- docker run --rm --workdir /opt/esp/idf/examples/get-started/blink ${DOCKER_TMP_IMAGE_NAME} idf.py build
|
|
|
|
############################
|
|
# Host test with test apps #
|
|
############################
|
|
test_pytest_qemu:
|
|
extends:
|
|
- .host_test_template
|
|
- .before_script:build
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- pytest-embedded/
|
|
- "**/build*/*.bin"
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
parallel:
|
|
matrix:
|
|
- IDF_TARGET: "esp32"
|
|
INSTALL_EXTRA_TOOLS: "qemu-xtensa"
|
|
# Skip Clang + Xtensa tests due to bootloader size issue
|
|
IDF_TOOLCHAIN: [gcc]
|
|
- IDF_TARGET: "esp32c3"
|
|
INSTALL_EXTRA_TOOLS: "qemu-riscv32"
|
|
IDF_TOOLCHAIN: [gcc, clang]
|
|
script:
|
|
- run_cmd idf-ci build run
|
|
--build-system cmake
|
|
--target $IDF_TARGET
|
|
-m qemu
|
|
--modified-files ${MR_MODIFIED_FILES}
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- run_cmd pytest
|
|
--target $IDF_TARGET
|
|
-m qemu
|
|
--embedded-services idf,qemu
|
|
--junitxml=XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
--qemu-extra-args \"-global driver=timer.$IDF_TARGET.timg,property=wdt_disable,value=true\"
|
|
|
|
test_pytest_linux:
|
|
extends:
|
|
- .host_test_template
|
|
- .before_script:build
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- pytest-embedded/
|
|
- "**/build*/build_log.txt"
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
script:
|
|
- run_cmd idf-ci build run
|
|
--build-system cmake
|
|
-p components -p examples -p tools/test_apps
|
|
--target linux
|
|
--only-test-related
|
|
--modified-files ${MR_MODIFIED_FILES}
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- run_cmd pytest
|
|
--target linux
|
|
--embedded-services idf
|
|
--junitxml=XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
|
|
test_pytest_macos:
|
|
extends:
|
|
- .host_test_template
|
|
- .brew-macos-settings
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- pytest-embedded/
|
|
- "**/build*/build_log.txt"
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
script:
|
|
- run_cmd idf-ci build run
|
|
-p components -p examples -p tools/test_apps
|
|
--build-system cmake
|
|
--target linux
|
|
--only-test-related
|
|
-m macos
|
|
--modified-files ${MR_MODIFIED_FILES}
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- run_cmd pytest
|
|
--target linux
|
|
-m macos
|
|
--junitxml=XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
|
|
######################
|
|
# Build System Tests #
|
|
######################
|
|
.test_build_system_template:
|
|
stage: host_test
|
|
extends:
|
|
- .build_template
|
|
- .rules:build:check
|
|
dependencies: # set dependencies to null to avoid missing artifacts issue
|
|
needs:
|
|
- job: fast_template_app
|
|
artifacts: false
|
|
optional: true
|
|
artifacts:
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- test_build_system
|
|
expire_in: 1 week
|
|
when: always
|
|
script:
|
|
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
|
|
- cd ${IDF_PATH}/tools/test_build_system
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest
|
|
--cleanup-idf-copy
|
|
--parallel-count ${CI_NODE_TOTAL:-1}
|
|
--parallel-index ${CI_NODE_INDEX:-1}
|
|
--work-dir ${CI_PROJECT_DIR}/test_build_system
|
|
--junitxml ${CI_PROJECT_DIR}/XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
|
|
.test_build_system_minimal_cmake_template:
|
|
extends: .test_build_system_template
|
|
variables:
|
|
INSTALL_EXTRA_TOOLS: cmake@3.22.1
|
|
script:
|
|
- MINIMAL_SUPPORTED_CMAKE_VERSION=$(echo "${INSTALL_EXTRA_TOOLS}" | sed -n 's/.*cmake@\([0-9.]*\).*/\1/p')
|
|
- export PATH=$(echo "$PATH" | sed -E "s|/tools/cmake/[0-9.]+|/tools/cmake/${MINIMAL_SUPPORTED_CMAKE_VERSION}|")
|
|
- ACTUAL_CMAKE_VERSION=$(cmake --version | head -n1 | awk '{print $3}')
|
|
- |
|
|
if [ "${ACTUAL_CMAKE_VERSION}" != "${MINIMAL_SUPPORTED_CMAKE_VERSION}" ]; then
|
|
echo "ERROR: Wrong minimal CMake version! Detected: ${ACTUAL_CMAKE_VERSION}, but should be: ${MINIMAL_SUPPORTED_CMAKE_VERSION}"
|
|
exit 1
|
|
fi
|
|
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
|
|
- cd ${IDF_PATH}/tools/test_build_system
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest
|
|
-k cmake
|
|
--cleanup-idf-copy
|
|
--parallel-count ${CI_NODE_TOTAL:-1}
|
|
--parallel-index ${CI_NODE_INDEX:-1}
|
|
--work-dir ${CI_PROJECT_DIR}/test_build_system
|
|
--junitxml ${CI_PROJECT_DIR}/XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
|
|
pytest_build_system:
|
|
extends: .test_build_system_template
|
|
parallel: 3
|
|
|
|
pytest_buildv2_system:
|
|
extends:
|
|
- .test_build_system_template
|
|
- .rules:labels:buildv2
|
|
parallel: 3
|
|
script:
|
|
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
|
|
- cd ${IDF_PATH}/tools/test_build_system
|
|
- run_cmd idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest
|
|
--buildv2
|
|
--cleanup-idf-copy
|
|
--parallel-count ${CI_NODE_TOTAL:-1}
|
|
--parallel-index ${CI_NODE_INDEX:-1}
|
|
--work-dir ${CI_PROJECT_DIR}/test_build_system
|
|
--junitxml ${CI_PROJECT_DIR}/XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
--
|
|
test_non_default_target.py
|
|
test_component_manager.py
|
|
test_build.py
|
|
test_bootloader.py
|
|
test_git.py
|
|
test_kconfig.py
|
|
test_partition.py
|
|
test_reproducible_build.py
|
|
test_sdkconfig.py
|
|
test_versions.py
|
|
test_common.py
|
|
test_components.py
|
|
test_cmake.py
|
|
test_idf_extension.py
|
|
test_rebuild.py
|
|
|
|
pytest_build_system_macos:
|
|
extends:
|
|
- .test_build_system_template
|
|
- .brew-macos-settings
|
|
- .rules:build:macos
|
|
parallel: 3
|
|
|
|
pytest_build_system_minimal_cmake:
|
|
extends: .test_build_system_minimal_cmake_template
|
|
|
|
pytest_build_system_macos_minimal_cmake:
|
|
extends:
|
|
- .test_build_system_minimal_cmake_template
|
|
- .brew-macos-settings
|
|
- .rules:build:macos
|
|
variables:
|
|
INSTALL_EXTRA_TOOLS: ninja cmake@3.22.1
|