diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index aa85ea11d42d0a..aa89d097aae4ca 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -86,3 +86,6 @@ RUN sed -i '/^TIZEN_SDK_DATA_PATH/d' $TIZEN_SDK_ROOT/sdk.info \ && : # last line ENV TIZEN_ROOTFS /tizen_rootfs + +# Fast Model GDB plugins path for debugging support +ENV FAST_MODEL_PLUGINS_PATH /opt/FastModelsPortfolio_11.16/plugins/Linux64_GCC-9.3 diff --git a/.github/workflows/docker_img.yaml b/.github/workflows/docker_img.yaml index 73c45ee303a756..98619b886d9303 100644 --- a/.github/workflows/docker_img.yaml +++ b/.github/workflows/docker_img.yaml @@ -54,6 +54,7 @@ jobs: - "-telink" - "-ti" - "-tizen" + - "-openiotsdk" # NOTE: vscode image consumes ~52 GB disk space but GitHub-hosted runners provide ~10 GB free disk space(https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) #- "-vscode" - "-zap" diff --git a/.gitmodules b/.gitmodules index 5a60849e011130..5b8d0b466a3b40 100644 --- a/.gitmodules +++ b/.gitmodules @@ -288,3 +288,13 @@ url = https://github.com/matter-mtk/genio-matter-lwip.git branch = main platforms = genio +[submodule "open-iot-sdk"] + path = third_party/open-iot-sdk/sdk + url = https://git.gitlab.arm.com/iot/open-iot-sdk/sdk.git + branch = main + platforms = openiotsdk +[submodule "open-iot-sdk-storage"] + path = third_party/open-iot-sdk/storage + url = https://git.gitlab.arm.com/iot/open-iot-sdk/storage.git + branch = main + platforms = openiotsdk diff --git a/integrations/docker/images/chip-build-openiotsdk/Dockerfile b/integrations/docker/images/chip-build-openiotsdk/Dockerfile new file mode 100644 index 00000000000000..d3daf90439b5d3 --- /dev/null +++ b/integrations/docker/images/chip-build-openiotsdk/Dockerfile @@ -0,0 +1,52 @@ +ARG VERSION=latest +FROM connectedhomeip/chip-build:${VERSION} as build + +RUN set -x \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -fy --no-install-recommends \ + wget=1.20.3-1ubuntu2 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/ \ + && : # last line + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# ------------------------------------------------------------------------------ +# Download ARM GCC toolchain 10.3-2021.10 +RUN set -x \ + && wget -q https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 \ + && tar -xjf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C /opt \ + && rm -r gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 \ + && : # last line + +# ------------------------------------------------------------------------------ +# Install FVP Corstone 300 +RUN set -x \ + && wget -q https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-300/FVP_Corstone_SSE-300_11.16_26.tgz \ + && tar -xzf FVP_Corstone_SSE-300_11.16_26.tgz \ + && ./FVP_Corstone_SSE-300.sh --i-agree-to-the-contained-eula -d /opt/FVP_Corstone_SSE-300 -f --no-interactive \ + && rm -r FVP_Corstone_SSE-300_11.16_26.tgz FVP_Corstone_SSE-300.sh license_terms \ + && : # last line + +FROM connectedhomeip/chip-build:${VERSION} + +COPY --from=build /opt/gcc-arm-none-eabi-10.3-2021.10/ /opt/gcc-arm-none-eabi-10.3-2021.10/ +COPY --from=build /opt/FVP_Corstone_SSE-300/ /opt/FVP_Corstone_SSE-300/ + +# Required packages for building, running and testing +RUN set -x \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -fy \ + expect \ + telnet \ + srecord \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/ \ + && : # last line + +# ------------------------------------------------------------------------------ +# Configure environment variables +ENV FVP_CORSTONE_300_PATH=/opt/FVP_Corstone_SSE-300 +ENV ARM_GCC_TOOLCHAIN_PATH=/opt/gcc-arm-none-eabi-10.3-2021.10 + +ENV PATH="${PATH}:${FVP_CORSTONE_300_PATH}/models/Linux64_GCC-6.4:${ARM_GCC_TOOLCHAIN_PATH}/bin" diff --git a/integrations/docker/images/chip-build-openiotsdk/build.sh b/integrations/docker/images/chip-build-openiotsdk/build.sh new file mode 120000 index 00000000000000..fcb4d4ee75d531 --- /dev/null +++ b/integrations/docker/images/chip-build-openiotsdk/build.sh @@ -0,0 +1 @@ +../../build.sh \ No newline at end of file diff --git a/integrations/docker/images/chip-build-openiotsdk/run.sh b/integrations/docker/images/chip-build-openiotsdk/run.sh new file mode 120000 index 00000000000000..ccbd3501b330d9 --- /dev/null +++ b/integrations/docker/images/chip-build-openiotsdk/run.sh @@ -0,0 +1 @@ +../../run.sh \ No newline at end of file diff --git a/integrations/docker/images/chip-build-openiotsdk/version b/integrations/docker/images/chip-build-openiotsdk/version new file mode 120000 index 00000000000000..a4280acd348e7f --- /dev/null +++ b/integrations/docker/images/chip-build-openiotsdk/version @@ -0,0 +1 @@ +../chip-build/version \ No newline at end of file diff --git a/integrations/docker/images/chip-build-vscode/Dockerfile b/integrations/docker/images/chip-build-vscode/Dockerfile index 669d00f80138f1..d3c4dc78efe992 100644 --- a/integrations/docker/images/chip-build-vscode/Dockerfile +++ b/integrations/docker/images/chip-build-vscode/Dockerfile @@ -12,6 +12,7 @@ FROM connectedhomeip/chip-build-ameba:${VERSION} AS ameba FROM connectedhomeip/chip-build-k32w:${VERSION} AS k32w FROM connectedhomeip/chip-build-imx:${VERSION} AS imx FROM connectedhomeip/chip-build-ti:${VERSION} AS ti +FROM connectedhomeip/chip-build-openiotsdk:${VERSION} AS openiotsdk FROM connectedhomeip/chip-build-zap:${VERSION} AS zap FROM connectedhomeip/chip-build:${VERSION} @@ -47,6 +48,9 @@ COPY --from=imx /opt/fsl-imx-xwayland /opt/fsl-imx-xwayland COPY --from=ti /opt/ti/sysconfig_1.13.0 /opt/ti/sysconfig_1.13.0 +COPY --from=openiotsdk /opt/gcc-arm-none-eabi-10.3-2021.10/ /opt/gcc-arm-none-eabi-10.3-2021.10/ +COPY --from=openiotsdk /opt/FVP_Corstone_SSE-300/ /opt/FVP_Corstone_SSE-300/ + COPY --from=zap /opt/zap /opt/zap # Android license file "acceping" is done by writing license hashes @@ -66,6 +70,17 @@ RUN set -x \ && rm -rf /var/lib/apt/lists/* \ && : # last line +# Required for the Open IoT SDK platform +RUN set -x \ + && apt-get update \ + && DEBIAN_FRONTEND=noninteractive apt-get install -fy \ + expect \ + telnet \ + srecord \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/ \ + && : # last line + # Required for the Bouffalolab platform RUN set -x \ && pip3 install bflb-iot-tool \ @@ -95,3 +110,6 @@ ENV ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb ENV TIZEN_VERSION 6.0 ENV TIZEN_SDK_ROOT /opt/tizen-sdk ENV TIZEN_SDK_SYSROOT $TIZEN_SDK_ROOT/platforms/tizen-$TIZEN_VERSION/mobile/rootstraps/mobile-$TIZEN_VERSION-device.core + +ENV FVP_CORSTONE_300_PATH=/opt/FVP_Corstone_SSE-300 +ENV ARM_GCC_TOOLCHAIN_PATH=/opt/gcc-arm-none-eabi-10.3-2021.10 diff --git a/integrations/docker/images/chip-build/Dockerfile b/integrations/docker/images/chip-build/Dockerfile index 861f5ecb2df4e7..782aa74f64afea 100644 --- a/integrations/docker/images/chip-build/Dockerfile +++ b/integrations/docker/images/chip-build/Dockerfile @@ -69,12 +69,12 @@ RUN set -x \ && git lfs install \ && : # last line -# Cmake (Mbed OS requires >=3.19.0-rc3 version which is not available in Ubuntu 20.04 repository) +# Cmake v3.23.1 RUN set -x \ && (cd /tmp \ - && wget --progress=dot:giga https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3-Linux-x86_64.sh \ - && sh cmake-3.19.3-Linux-x86_64.sh --exclude-subdir --prefix=/usr/local \ - && rm -rf cmake-3.19.3-Linux-x86_64.sh) \ + && wget --progress=dot:giga https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-Linux-x86_64.sh \ + && sh cmake-3.23.1-Linux-x86_64.sh --exclude-subdir --prefix=/usr/local \ + && rm -rf cmake-3.23.1-Linux-x86_64.sh) \ && exec bash \ && : # last line diff --git a/integrations/docker/images/chip-build/version b/integrations/docker/images/chip-build/version index b288fd5e8ac786..a6f77c540bdd9a 100644 --- a/integrations/docker/images/chip-build/version +++ b/integrations/docker/images/chip-build/version @@ -1 +1 @@ -0.6.03 Version bump reason: [Ameba] Replace C2 notify with indicate as required by Matter spec +0.6.04 Version bump reason: [OIS] Add Open IoT SDK Docker image integration diff --git a/scripts/checkout_submodules.py b/scripts/checkout_submodules.py index ebea028957dfcf..c5967949b9cd3a 100755 --- a/scripts/checkout_submodules.py +++ b/scripts/checkout_submodules.py @@ -45,6 +45,7 @@ 'webos', 'mw320', 'genio', + 'openiotsdk', ]) Module = namedtuple('Module', 'name path platforms') diff --git a/scripts/constraints.txt b/scripts/constraints.txt index f29bbc7d5a4337..de47efb650bebd 100644 --- a/scripts/constraints.txt +++ b/scripts/constraints.txt @@ -234,7 +234,14 @@ pyserial==3.5 # mbed-tools # mobly pytest==6.2.5 ; platform_machine != "aarch64" and sys_platform == "linux" - # via -r requirements.mbed.txt + # via + # -r requirements.mbed.txt + # pytest-json-report + # pytest-metadata +pytest-json-report==1.5.0 + # via -r requirements.openiotsdk.txt +pytest-metadata==2.0.2 + # via pytest-json-report python-dateutil==2.8.1 # via # pandas diff --git a/scripts/python.json b/scripts/python.json index 06db285a2607c8..0df6cc494ab40a 100644 --- a/scripts/python.json +++ b/scripts/python.json @@ -4,11 +4,6 @@ "path": "infra/3pp/tools/cpython3/${platform}", "platforms": ["mac-amd64", "windows-amd64"], "tags": ["version:2@3.9.5.chromium.19"] - }, - { - "path": "fuchsia/third_party/cmake/${platform}", - "platforms": ["mac-amd64", "linux-amd64"], - "tags": ["version:3.20.20210428-g857373c"] } ] } diff --git a/scripts/requirements.openiotsdk.txt b/scripts/requirements.openiotsdk.txt new file mode 100644 index 00000000000000..319312169ae92e --- /dev/null +++ b/scripts/requirements.openiotsdk.txt @@ -0,0 +1 @@ +pytest-json-report>=1.5.0 \ No newline at end of file diff --git a/scripts/requirements.txt b/scripts/requirements.txt index e33963c48c2a42..21a3bb5f5cf0a0 100644 --- a/scripts/requirements.txt +++ b/scripts/requirements.txt @@ -11,6 +11,9 @@ virtualenv # bouffalolab -r requirements.bouffalolab.txt +# openiotsdk +-r requirements.openiotsdk.txt + # cirque tests requests>=2.24.0 diff --git a/third_party/open-iot-sdk/sdk b/third_party/open-iot-sdk/sdk new file mode 160000 index 00000000000000..e71066cfbe4e1d --- /dev/null +++ b/third_party/open-iot-sdk/sdk @@ -0,0 +1 @@ +Subproject commit e71066cfbe4e1dc21bcf0a88840ea8e88625de24 diff --git a/third_party/open-iot-sdk/storage b/third_party/open-iot-sdk/storage new file mode 160000 index 00000000000000..b5e4edc1b65ada --- /dev/null +++ b/third_party/open-iot-sdk/storage @@ -0,0 +1 @@ +Subproject commit b5e4edc1b65adafbe6f646c474bc8c206cd8370a