Skip to content

Commit

Permalink
Merge branch 'master' into acl-validation
Browse files Browse the repository at this point in the history
  • Loading branch information
mlepage-google committed Feb 8, 2022
2 parents 0336c12 + b080024 commit 24f4bec
Show file tree
Hide file tree
Showing 580 changed files with 52,746 additions and 35,935 deletions.
33 changes: 26 additions & 7 deletions .github/.wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ argv
armeabi
ARMmbed
armv
ASAN
asdk
AssertionError
ASYNC
Expand All @@ -79,8 +80,8 @@ ATW
ATWC
AudioOutput
auth
autoconnect
autocompletion
autoconnect
autocrlf
autogenerated
automake
Expand Down Expand Up @@ -143,6 +144,7 @@ capacitive
CatalogVendorId
CBB
cbd
ccf
CCMP
CCS
CCSTUDIO
Expand Down Expand Up @@ -225,8 +227,8 @@ connstring
conntype
const
ContentApp
ContentAppPlatform
ContentApp's
ContentAppPlatform
ContentLaunch
ContentLauncher
continuousHinting
Expand Down Expand Up @@ -275,8 +277,8 @@ DCL
DCMAKE
DCONFIG
debianutils
deepnote
DEDEDEDE
deepnote
DelayedActionTime
demangle
deployable
Expand All @@ -302,6 +304,7 @@ DevKitC
DevKitM
df
dfu
DgDxsfHx
dhclient
DHCP
DHCPC
Expand Down Expand Up @@ -338,6 +341,7 @@ DOVERLAY
downcasting
Doxygen
dpkg
dropdown
dryrun
DS
duplicative
Expand Down Expand Up @@ -412,6 +416,7 @@ ffeebaefa
FFF
fffe
fffff
fHtcwcAAAAAAAAAwQAAAAAAXPMlAAAAAAA
Fi
filepath
fini
Expand All @@ -428,6 +433,7 @@ fstab
fsync
ftd
fullclean
fuzzer
gbl
gcloud
GDB
Expand Down Expand Up @@ -503,6 +509,7 @@ ImplClass
implementers
imx
imxlinux
incomingCommands
indexhtml
Inet
InetLayer
Expand Down Expand Up @@ -543,12 +550,13 @@ jre
js
json
JTAG
Jupyter
jupyter
Jupyter
jupyterlab
KA
Kconfig
KeypadInput
kInvalidCommandId
KitProg
kNodeIdNotSpecified
knownissues
Expand All @@ -568,6 +576,7 @@ libdbus
LIBDIR
libegl
libffi
libfuzzer
libgirepository
libglib
libical
Expand Down Expand Up @@ -715,6 +724,7 @@ nrfdks
nrfutil
nrfxlib
NTAG
nullptr
NUM
nwk
NXP
Expand Down Expand Up @@ -762,6 +772,7 @@ otasoftwareupdaterequestor
otaURL
OTBR
otcli
outgoingCommands
PAA
PacketBuffer
PAI
Expand All @@ -776,6 +787,7 @@ Passcode
PBKDF
pbuf
pbufs
pbxproj
PCA
pcaps
PDFs
Expand Down Expand Up @@ -804,7 +816,6 @@ pre
preprocessor
Presetup
prj
providerNodeId
ProductID
ProductLabel
ProductName
Expand All @@ -813,6 +824,7 @@ proto
protobuf
protos
Prover
providerNodeId
PRs
PSCAN
PSK
Expand Down Expand Up @@ -866,8 +878,8 @@ Rendez
RendezvousInformation
RendezvousParameters
RendezVousTest
REPL
repl
REPL
repo
req
Requestor
Expand Down Expand Up @@ -910,8 +922,8 @@ ScriptBinding
SDC
SDHC
SDK
sdkconfig
SDK's
sdkconfig
SDKs
SDKTARGETSYSROOT
sdl
Expand Down Expand Up @@ -1101,6 +1113,7 @@ vlatest
VLEDs
vnc
vous
VPN
VSC
VSCode
WakeOnLan
Expand All @@ -1127,13 +1140,18 @@ WSTK
xa
xab
xaver
xb
xbef
xc
xcd
Xcode
xcodeproj
xcworkspace
xd
xdeadbeefcafe
xds
xdsdfu
xed
xef
xF
xFFFF
Expand All @@ -1146,6 +1164,7 @@ XXXX
XXXXXXXX
xyz
xz
xzvf
yaml
yearday
yml
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,23 @@ jobs:
scripts/run_in_build_env.sh "ninja -C ./out"
scripts/tests/gn_tests.sh
done
- name: Run Tests with sanitizers
timeout-minutes: 30
env:
LSAN_OPTIONS: detect_leaks=0
run: |
# for BUILD_TYPE in asan msan tsan ubsan; do
for BUILD_TYPE in asan tsan ubsan; do
case $BUILD_TYPE in
"asan") GN_ARGS='is_clang=true is_asan=true';;
"msan") GN_ARGS='is_clang=true is_msan=true';;
"tsan") GN_ARGS='is_clang=true is_tsan=true chip_enable_wifi=false';;
"ubsan") GN_ARGS='is_clang=true is_ubsan=true';;
esac
scripts/build/gn_gen.sh --args="$GN_ARGS"
scripts/tests/gn_tests.sh
done
- name: Build using build_examples.py
timeout-minutes: 40
run: |
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,6 @@
[submodule "third_party/mbed-mcu-boot/repo"]
path = third_party/mbed-mcu-boot/repo
url = https://github.com/ATmobica/mcuboot.git
[submodule "perfetto"]
path = third_party/perfetto/repo
url = https://github.com/google/perfetto
2 changes: 1 addition & 1 deletion .pullapprove.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ groups:
requests.
type: required
requirements:
- len(groups.approved.include('shared-reviewers-*')) >= 3
- len(groups.approved.include('shared-reviewers-*')) >= 2
reviews:
required: 0
labels:
Expand Down
5 changes: 5 additions & 0 deletions config/ameba/chip.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,11 @@ if (matter_enable_ota_requestor)
string(APPEND CHIP_GN_ARGS "chip_enable_ota_requestor = true\n")
endif (matter_enable_ota_requestor)

if (CONFIG_ENABLE_ROTATING_DEVICE_ID)
string(APPEND CHIP_GN_ARGS "chip_enable_additional_data_advertising" "true")
string(APPEND CHIP_GN_ARGS "chip_enable_rotating_device_id" "true")
endif()

file(GENERATE OUTPUT ${CHIP_OUTPUT}/args.gn CONTENT ${CHIP_GN_ARGS})

ExternalProject_Add(
Expand Down
12 changes: 12 additions & 0 deletions config/esp32/components/chip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ if(NOT CHIP_ROOT)
get_filename_component(CHIP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../.. REALPATH)
endif()

include(${CMAKE_CURRENT_LIST_DIR}/ota-image.cmake)

set(CHIP_REQURIE_COMPONENTS freertos lwip bt mdns mbedtls fatfs app_update console openthread)

if (NOT CMAKE_BUILD_EARLY_EXPANSION)
Expand Down Expand Up @@ -246,3 +248,13 @@ if(CONFIG_ENABLE_PW_RPC)
set(WRAP_FUNCTIONS esp_log_write)
target_link_libraries(${COMPONENT_LIB} INTERFACE "-Wl,--wrap=${WRAP_FUNCTIONS}")
endif()

# Build Matter OTA image
if (CONFIG_CHIP_OTA_IMAGE_BUILD)
chip_ota_image(chip-ota-image
INPUT_FILES ${BUILD_DIR}/${CMAKE_PROJECT_NAME}.bin
OUTPUT_FILE ${BUILD_DIR}/${CMAKE_PROJECT_NAME}-ota.bin
)
# Adding dependecy as app target so that this runs after images are ready
add_dependencies(chip-ota-image app)
endif()
18 changes: 17 additions & 1 deletion config/esp32/components/chip/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ menu "CHIP Device Layer"

config DEVICE_SOFTWARE_VERSION
string "Device Software Version String"
default ""
default "v1.0"
help
A string identifying the software version running on the device.

Expand Down Expand Up @@ -768,4 +768,20 @@ menu "CHIP Device Layer"

endmenu

menu "Matter OTA Image"

config CHIP_OTA_IMAGE_BUILD
bool "Generate Matter OTA image"
help
Enable building OTA (Over-the-air update) image which includes Matter OTA header.

config CHIP_OTA_IMAGE_EXTRA_ARGS
string "OTA image creator extra arguments"
depends on CHIP_OTA_IMAGE_BUILD
help
This option allows one to pass optional arguments to the ota_image_tool.py script,
used for building OTA image with Matter OTA header.

endmenu

endmenu
65 changes: 65 additions & 0 deletions config/esp32/components/chip/ota-image.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#
# Copyright (c) 2022 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

find_package(Python3 REQUIRED)

#
# Create CMake target for building Matter OTA (Over-the-air update) image.
# Required arguments:
# INPUT_FILES file1, [file2...] - binary files which Matter OTA image will be composed of
# OUTPUT_FILE file - where to store newly created Matter OTA image
#
function(chip_ota_image TARGET_NAME)
cmake_parse_arguments(ARG "" "OUTPUT_FILE" "INPUT_FILES" ${ARGN})

if (NOT ARG_INPUT_FILES OR NOT ARG_OUTPUT_FILE)
message(FATAL_ERROR "Both INPUT_FILES and OUTPUT_FILE arguments must be specified")
endif()

# Prepare ota_image_tool.py argument list
set(OTA_ARGS
"--vendor-id"
${CONFIG_DEVICE_VENDOR_ID}
"--product-id"
${CONFIG_DEVICE_PRODUCT_ID}
"--version"
${CONFIG_DEVICE_SOFTWARE_VERSION_NUMBER}
"--version-str"
${CONFIG_DEVICE_SOFTWARE_VERSION}
"--digest-algorithm"
"sha256"
)

separate_arguments(OTA_EXTRA_ARGS NATIVE_COMMAND "${CHIP_OTA_IMAGE_EXTRA_ARGS}")

list(APPEND OTA_ARGS ${OTA_EXTRA_ARGS})
list(APPEND OTA_ARGS ${ARG_INPUT_FILES})
list(APPEND OTA_ARGS ${ARG_OUTPUT_FILE})

# Convert the argument list to multi-line string
string(REPLACE ";" "\n" OTA_ARGS "${OTA_ARGS}")

# Pass the argument list via file to avoid hitting Windows command-line length limit
file(GENERATE
OUTPUT ${BUILD_DIR}/args-ota-image.tmp
CONTENT ${OTA_ARGS}
)

add_custom_target(${TARGET_NAME} ALL
COMMAND ${Python3_EXECUTABLE} ${CHIP_ROOT}/src/app/ota_image_tool.py create @${BUILD_DIR}/args-ota-image.tmp
COMMAND ${CMAKE_COMMAND} -E remove ${BUILD_DIR}/args-ota-image.tmp
)
endfunction()
Loading

0 comments on commit 24f4bec

Please sign in to comment.