forked from espressif/esp-idf
Merge branch 'ci/replace_internal_clang-tidy-runner' into 'master'
ci: replace internal clang-tidy runner with the pypi project See merge request espressif/esp-idf!26133
This commit is contained in:
@@ -58,8 +58,6 @@ variables:
|
|||||||
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
|
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
|
||||||
PYTHON_VER: 3.8.17
|
PYTHON_VER: 3.8.17
|
||||||
|
|
||||||
CLANG_TIDY_RUNNER_PROJ: 2107 # idf/clang-tidy-runner
|
|
||||||
|
|
||||||
# Docker images
|
# Docker images
|
||||||
BOT_DOCKER_IMAGE_TAG: ":latest"
|
BOT_DOCKER_IMAGE_TAG: ":latest"
|
||||||
|
|
||||||
|
@@ -5,23 +5,16 @@ clang_tidy_check:
|
|||||||
- .rules:patterns:clang_tidy
|
- .rules:patterns:clang_tidy
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- $OUTPUT_DIR
|
- clang_tidy_reports/
|
||||||
when: always
|
when: always
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
variables:
|
variables:
|
||||||
CLANG_TIDY_DIRS_TXT: ${CI_PROJECT_DIR}/tools/ci/clang_tidy_dirs.txt
|
|
||||||
RULES_FILE: ${CI_PROJECT_DIR}/tools/ci/static-analysis-rules.yml
|
|
||||||
OUTPUT_DIR: ${CI_PROJECT_DIR}/clang_tidy_reports
|
|
||||||
IDF_TOOLCHAIN: clang
|
IDF_TOOLCHAIN: clang
|
||||||
script:
|
script:
|
||||||
- internal_pip_install $CLANG_TIDY_RUNNER_PROJ pyclang
|
- run_cmd idf_clang_tidy $(cat tools/ci/clang_tidy_dirs.txt | xargs)
|
||||||
- export PATH=$PATH:$(python -c "import sys; print(sys.executable.rsplit('/', 1)[0])")
|
--output-path clang_tidy_reports
|
||||||
- dirs=$(cat ${CLANG_TIDY_DIRS_TXT} | while read line; do echo ${CI_PROJECT_DIR}/${line}; done | xargs)
|
--limit-file tools/ci/static-analysis-rules.yml
|
||||||
- run_cmd idf_clang ${dirs}
|
|
||||||
--output-path ${OUTPUT_DIR}
|
|
||||||
--limit-file ${RULES_FILE}
|
|
||||||
--xtensa-include-dir
|
--xtensa-include-dir
|
||||||
--run-clang-tidy-py run-clang-tidy
|
|
||||||
|
|
||||||
check_pylint:
|
check_pylint:
|
||||||
extends:
|
extends:
|
||||||
|
@@ -21,20 +21,12 @@ Prerequisites
|
|||||||
|
|
||||||
If you have never run this tool before, take the following steps to get this tool prepared.
|
If you have never run this tool before, take the following steps to get this tool prepared.
|
||||||
|
|
||||||
#. Run the export scripts (``export.sh``, ``export.bat``, or others) to set up the environment variables.
|
|
||||||
#. Run ``pip install --upgrade pyclang`` to install this plugin. The extra commands would be activated in ``idf.py`` automatically.
|
|
||||||
#. Run ``idf_tools.py install esp-clang`` to install the clang-tidy required binaries
|
#. Run ``idf_tools.py install esp-clang`` to install the clang-tidy required binaries
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
This toolchain is still under development. After the final release, you do not have to install them manually.
|
This toolchain is still under development. After the final release, you do not have to install them manually.
|
||||||
|
|
||||||
#. Get the file from the `llvm repository <https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py>`__ and add the folder of this script to the ``$PATH``. Or you could pass an optional argument ``--run-clang-tidy-py`` later when you call ``idf.py clang-check``. Please do not forget to make the script executable.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
This file would be bundled in future toolchain releases. This is a temporary workaround.
|
|
||||||
|
|
||||||
#. Run the export scripts (``export.sh`` / ``export.bat`` / ... ) again to refresh the environment variables.
|
#. Run the export scripts (``export.sh`` / ``export.bat`` / ... ) again to refresh the environment variables.
|
||||||
|
|
||||||
Extra Commands
|
Extra Commands
|
||||||
|
@@ -21,20 +21,12 @@ IDF clang-tidy 是使用 `clang-tidy <https://clang.llvm.org/extra/clang-tidy/>`
|
|||||||
|
|
||||||
初次运行此工具时,请按照以下步骤准备该工具:
|
初次运行此工具时,请按照以下步骤准备该工具:
|
||||||
|
|
||||||
#. 运行导出脚本(如 ``export.sh``、``export.bat`` 等),设置环境变量。
|
|
||||||
#. 运行 ``pip install --upgrade pyclang`` 安装插件,其他命令将在 ``idf.py`` 中自动激活。
|
|
||||||
#. 运行 ``idf_tools.py install esp-clang`` 安装 clang-tidy 所需的二进制文件。
|
#. 运行 ``idf_tools.py install esp-clang`` 安装 clang-tidy 所需的二进制文件。
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
该工具链尚在开发中,最终版本发布后,将无需手动安装工具链。
|
该工具链尚在开发中,最终版本发布后,将无需手动安装工具链。
|
||||||
|
|
||||||
#. 从 `llvm 仓库 <https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py>`__ 获取文件,并将该脚本所在的文件夹添加到 ``$PATH`` 中,或在调用 ``idf.py clang-check`` 时传递可选参数 ``--run-clang-tidy-py``。请将脚本设置为可执行。
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
在未来工具链版本中,该文件将一并捆绑。目前为临时解决方案。
|
|
||||||
|
|
||||||
#. 再次运行导出脚本(如 ``export.sh``、``export.bat`` 等),刷新环境变量。
|
#. 再次运行导出脚本(如 ``export.sh``、``export.bat`` 等),刷新环境变量。
|
||||||
|
|
||||||
其他命令
|
其他命令
|
||||||
|
@@ -117,16 +117,6 @@ function retry_failed() {
|
|||||||
return $exitCode
|
return $exitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
function internal_pip_install() {
|
|
||||||
project=$1
|
|
||||||
package=$2
|
|
||||||
token_name=${3:-${BOT_TOKEN_NAME}}
|
|
||||||
token=${4:-${BOT_TOKEN}}
|
|
||||||
python=${5:-python}
|
|
||||||
|
|
||||||
$python -m pip install --index-url https://${token_name}:${token}@${GITLAB_HTTPS_HOST}/api/v4/projects/${project}/packages/pypi/simple --force-reinstall --no-deps ${package}
|
|
||||||
}
|
|
||||||
|
|
||||||
function join_by {
|
function join_by {
|
||||||
local d=${1-} f=${2-}
|
local d=${1-} f=${2-}
|
||||||
if shift 2; then
|
if shift 2; then
|
||||||
|
@@ -16,6 +16,7 @@ esp-idf-kconfig
|
|||||||
esp-idf-monitor
|
esp-idf-monitor
|
||||||
esp-idf-size
|
esp-idf-size
|
||||||
esp-idf-panic-decoder
|
esp-idf-panic-decoder
|
||||||
|
pyclang
|
||||||
|
|
||||||
# gdb extensions dependencies
|
# gdb extensions dependencies
|
||||||
freertos_gdb
|
freertos_gdb
|
||||||
|
Reference in New Issue
Block a user