Merge branch 'ci/update_integration_pipeline_v5.2' into 'release/v5.2'

ci: backport integration test and build docker (v5.2)

See merge request espressif/esp-idf!48390
This commit is contained in:
Jiang Jiang Jian
2026-05-20 10:36:56 +08:00
7 changed files with 45 additions and 92 deletions
+10 -5
View File
@@ -1,10 +1,8 @@
#!/usr/bin/env python
# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2022-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0
# internal use only
# check if expire time is set for all artifacts
import os
import yaml
@@ -23,8 +21,15 @@ def check_artifacts_expire_time() -> None:
# load files listed in `include`
if 'include' in config:
for _file in config['include']:
with open(os.path.join(IDF_PATH or '', _file)) as f:
for item in config['include']:
if isinstance(item, dict):
if 'project' in item:
continue
elif 'local' in item:
item = item['local']
else:
continue
with open(os.path.join(IDF_PATH or '', item)) as f:
config.update(yaml.load(f, Loader=yaml.FullLoader))
print('expire time for jobs:')
+14 -4
View File
@@ -1,18 +1,21 @@
#!/usr/bin/env python
#
# SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2021-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0
"""
Check if all rules in rules.yml used or not in CI yaml files.
"""
import argparse
import os
import re
import sys
from copy import deepcopy
from typing import Any, Dict, List, Optional, Set, Union
from typing import Any
from typing import Dict
from typing import List
from typing import Optional
from typing import Set
from typing import Union
import yaml
from idf_ci_utils import IDF_PATH
@@ -49,6 +52,13 @@ class YMLConfig:
all_config = dict()
for item in self.root_yml['include']:
if isinstance(item, dict):
if 'project' in item:
continue
elif 'local' in item:
item = item['local']
else:
continue
all_config.update(load_yaml(os.path.join(IDF_PATH, item)))
self._config = all_config
return self._config
+1 -1
View File
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2020-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Apache-2.0
# internal use only for CI
# some CI related util functions
+11 -9
View File
@@ -39,6 +39,16 @@ RUN : \
&& update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \
&& :
ARG IDF_INSTALL_TARGETS=all
# install build essential needed for linux target apps, which is a preview target so it is installed with "all" only
RUN if [ "$IDF_INSTALL_TARGETS" = "all" ]; then \
apt-get update \
&& apt-get install -y build-essential \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* ; \
fi
# To build the image for a branch or a tag of IDF, pass --build-arg IDF_CLONE_BRANCH_OR_TAG=name.
# To build the image with a specific commit ID of IDF, pass --build-arg IDF_CHECKOUT_REF=commit-id.
# It is possibe to combine both, e.g.:
@@ -53,21 +63,13 @@ ARG IDF_CLONE_BRANCH_OR_TAG=master
ARG IDF_CHECKOUT_REF=
ARG IDF_CLONE_SHALLOW=
ARG IDF_CLONE_SHALLOW_DEPTH=1
ARG IDF_INSTALL_TARGETS=all
ARG IDF_GITHUB_ASSETS=
ARG PIP_INDEX_URL=
ENV IDF_PATH=/opt/esp/idf
ENV IDF_TOOLS_PATH=/opt/esp
ENV IDF_GITHUB_ASSETS=${IDF_GITHUB_ASSETS}
# install build essential needed for linux target apps, which is a preview target so it is installed with "all" only
RUN if [ "$IDF_INSTALL_TARGETS" = "all" ]; then \
apt-get update \
&& apt-get install -y build-essential \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* ; \
fi
RUN echo IDF_CHECKOUT_REF=$IDF_CHECKOUT_REF IDF_CLONE_BRANCH_OR_TAG=$IDF_CLONE_BRANCH_OR_TAG && \
git clone --recursive \
${IDF_CLONE_SHALLOW:+--depth=${IDF_CLONE_SHALLOW_DEPTH} --shallow-submodules} \