mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
7551e82048
Where actually building the app is not needed cmake reconfigure was introduced instead. This should be performance upgrade especially for Windows runners, where build is quite slow
174 lines
5.6 KiB
YAML
174 lines
5.6 KiB
YAML
# Host tests
|
|
.host_test_win_template:
|
|
extends: .rules:test:host_test
|
|
stage: host_test
|
|
image: $ESP_ENV_IMAGE
|
|
tags: [windows-build, brew]
|
|
dependencies: # set dependencies to null to avoid missing artifacts issue
|
|
# run host_test jobs immediately, only after upload cache
|
|
needs:
|
|
- job: upload-pip-cache
|
|
optional: true
|
|
artifacts: false
|
|
- job: upload-submodules-cache
|
|
optional: true
|
|
artifacts: false
|
|
variables:
|
|
GIT_STRATEGY: fetch # use brew local mirror first
|
|
before_script:
|
|
- if ($env:IDF_DONT_USE_MIRRORS) {
|
|
$env:IDF_MIRROR_PREFIX_MAP = ""
|
|
}
|
|
after_script: []
|
|
|
|
test_cli_installer_win:
|
|
rules:
|
|
- when: never
|
|
extends:
|
|
- .host_test_win_template
|
|
- .rules:labels:windows_pytest_build_system
|
|
allow_failure: true
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- tools/tools.new.json
|
|
- tools/test_idf_tools/test_python_env_logs.txt
|
|
expire_in: 1 week
|
|
variables:
|
|
IDF_PATH: "$CI_PROJECT_DIR"
|
|
timeout: 3h
|
|
script:
|
|
# Tools must be downloaded for testing
|
|
# cmake@version that is supported
|
|
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa cmake cmake@3.22.1
|
|
- cd ${IDF_PATH}\tools\test_idf_tools
|
|
- python -m pip install jsonschema
|
|
- python .\test_idf_tools.py
|
|
- python .\test_idf_tools_python_env.py
|
|
|
|
test_tools_win:
|
|
extends:
|
|
- .host_test_win_template
|
|
- .rules:labels:windows_pytest_build_system
|
|
parallel: 4
|
|
artifacts:
|
|
paths:
|
|
- ${IDF_PATH}/*.out
|
|
- ${IDF_PATH}/XUNIT_*.xml
|
|
reports:
|
|
junit: ${IDF_PATH}/XUNIT_*.xml
|
|
expire_in: 1 week
|
|
when: always
|
|
variables:
|
|
LC_ALL: C.UTF-8
|
|
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
|
|
script:
|
|
- python -m pip install jsonschema
|
|
- .\install.ps1 --enable-ci
|
|
- .\export.ps1
|
|
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
|
|
- cd ${IDF_PATH}/tools/test_idf_py
|
|
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${IDF_PATH}/XUNIT_RESULT.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
|
|
# Build tests
|
|
.test_build_system_template_win:
|
|
stage: host_test
|
|
variables:
|
|
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
|
|
IDF_CCACHE_ENABLE: "1"
|
|
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
|
|
before_script: []
|
|
after_script: []
|
|
timeout: 4 hours
|
|
script:
|
|
- .\install.ps1 --enable-ci
|
|
- . .\export.ps1
|
|
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
|
|
- cd ${IDF_PATH}\tools\test_build_system
|
|
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} --durations=10
|
|
|
|
pytest_build_system_win:
|
|
extends:
|
|
- .test_build_system_template_win
|
|
- .rules:labels:windows_pytest_build_system
|
|
parallel: 10
|
|
needs:
|
|
- job: manual_gate
|
|
optional: true
|
|
tags: [windows-build, brew]
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- test_build_system
|
|
expire_in: 2 days
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
when: always
|
|
|
|
pytest_build_system_win_minimal_cmake:
|
|
extends:
|
|
- .test_build_system_template_win
|
|
- .rules:labels:windows_pytest_build_system
|
|
parallel: 2
|
|
needs:
|
|
- job: manual_gate
|
|
optional: true
|
|
tags: [windows-build, brew]
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- test_build_system
|
|
expire_in: 2 days
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
when: always
|
|
variables:
|
|
MINIMAL_CMAKE_VERSION: "3.22.1"
|
|
script:
|
|
- .\install.ps1 --enable-ci
|
|
- . .\export.ps1
|
|
- python ${IDF_PATH}\tools\idf_tools.py install cmake@${MINIMAL_CMAKE_VERSION}
|
|
- $Env:PATH = "$Env:USERPROFILE\.espressif\tools\cmake\${MINIMAL_CMAKE_VERSION}\bin;$Env:PATH"
|
|
- |
|
|
$actualVersion = (& cmake --version).Split()[2]
|
|
if ($actualVersion -ne $Env:MINIMAL_CMAKE_VERSION) {
|
|
Write-Error "ERROR: Wrong CMake version! Detected: $actualVersion, but expected: $Env:MINIMAL_CMAKE_VERSION"
|
|
exit 1
|
|
}
|
|
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
|
|
- cd ${IDF_PATH}\tools\test_build_system
|
|
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest -k cmake --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml --ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME} --durations=10
|
|
|
|
pytest_buildv2_system_win:
|
|
extends:
|
|
- .test_build_system_template_win
|
|
- .rules:labels:buildv2
|
|
parallel: 10
|
|
needs:
|
|
- job: manual_gate
|
|
optional: true
|
|
tags: [windows-build, brew]
|
|
artifacts:
|
|
paths:
|
|
- XUNIT_RESULT.xml
|
|
- test_build_system
|
|
expire_in: 2 days
|
|
reports:
|
|
junit: XUNIT_RESULT.xml
|
|
when: always
|
|
script:
|
|
- .\install.ps1 --enable-ci
|
|
- . .\export.ps1
|
|
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
|
|
- cd ${IDF_PATH}\tools\test_build_system
|
|
- idf-ci gitlab download-known-failure-cases-file ${KNOWN_FAILURE_CASES_FILE_NAME}
|
|
- pytest
|
|
--buildv2
|
|
--parallel-count ${CI_NODE_TOTAL}
|
|
--parallel-index ${CI_NODE_INDEX}
|
|
--junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml
|
|
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
|