mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-03 03:31:41 +03:00
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:
@@ -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:')
|
||||
|
||||
@@ -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,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
@@ -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} \
|
||||
|
||||
Reference in New Issue
Block a user