From 680663ca5ea0de3f6e602cf1844e5de83e0a4cd6 Mon Sep 17 00:00:00 2001 From: Neethu Date: Mon, 26 Feb 2024 07:41:59 +0100 Subject: [PATCH 1/2] clenup --- .../renesas/include/CHIPProjectConfig.h | 9 +++--- examples/platform/renesas/args.gni | 1 - src/platform/renesas/BlePlatformConfig.h | 7 ++--- .../renesas/CHIPDevicePlatformConfig.h | 4 +-- .../renesas/CHIPDevicePlatformEvent.h | 5 ++-- src/platform/renesas/CHIPPlatformConfig.h | 4 +-- .../renesas/ConfigurationManagerImpl.cpp | 5 ++-- .../renesas/ConfigurationManagerImpl.h | 12 ++------ .../renesas/ConnectivityManagerImpl.h | 8 ------ .../renesas/DiagnosticDataProviderImpl.cpp | 11 ++------ .../renesas/DiagnosticDataProviderImpl.h | 5 +--- .../renesas/KeyValueStoreManagerImpl.h | 5 +--- src/platform/renesas/PlatformManagerImpl.cpp | 7 +++-- src/platform/renesas/PlatformManagerImpl.h | 16 +++-------- src/platform/renesas/RenesasConfig.cpp | 4 +-- src/platform/renesas/RenesasConfig.h | 5 ++-- src/platform/renesas/SystemPlatformConfig.h | 4 +-- src/platform/renesas/args.gni | 1 - third_party/renesas_sdk/BUILD.gn | 2 -- .../renesas_sdk/renesas_executable.gni | 3 -- third_party/renesas_sdk/renesas_sdk.gni | 28 ------------------- 21 files changed, 35 insertions(+), 111 deletions(-) diff --git a/examples/lock-app/renesas/include/CHIPProjectConfig.h b/examples/lock-app/renesas/include/CHIPProjectConfig.h index b001293558918c..f787c185e3d053 100644 --- a/examples/lock-app/renesas/include/CHIPProjectConfig.h +++ b/examples/lock-app/renesas/include/CHIPProjectConfig.h @@ -18,11 +18,10 @@ */ /** - * @file - * Example project configuration file for CHIP. - * - * This is a place to put application or project-specific overrides - * to the default configuration values for general CHIP features. + * @file + * Example project configuration file for CHIP. + * This is a place to put application or project-specific overrides + * to the default configuration values for general CHIP features. * */ diff --git a/examples/platform/renesas/args.gni b/examples/platform/renesas/args.gni index b70e99c128455d..c7525b41d458df 100644 --- a/examples/platform/renesas/args.gni +++ b/examples/platform/renesas/args.gni @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -#chip_ble_project_config_include = "" chip_device_project_config_include = "" chip_project_config_include = "" chip_inet_project_config_include = "" diff --git a/src/platform/renesas/BlePlatformConfig.h b/src/platform/renesas/BlePlatformConfig.h index 4f10f6ab0e39d9..57ee53b7e1fca2 100644 --- a/src/platform/renesas/BlePlatformConfig.h +++ b/src/platform/renesas/BlePlatformConfig.h @@ -18,9 +18,8 @@ */ /** - * @file - * Platform-specific configuration overrides for the CHIP BLE - * Layer on renesas platforms. + * @file + * Platform-specific configuration overrides for the CHIP BLE Layer on Renesas platforms. * */ @@ -31,4 +30,4 @@ // ========== Platform-specific Configuration Overrides ========= -/* none so far */ +// TODO diff --git a/src/platform/renesas/CHIPDevicePlatformConfig.h b/src/platform/renesas/CHIPDevicePlatformConfig.h index 759e751011077e..4641ebdb092a72 100644 --- a/src/platform/renesas/CHIPDevicePlatformConfig.h +++ b/src/platform/renesas/CHIPDevicePlatformConfig.h @@ -18,8 +18,8 @@ */ /** - * @file - * Defines compile-time configuration overrides for the chip Device Layer. + * @file + * Defines compile-time configuration overrides for the chip Device Layer. */ #pragma once diff --git a/src/platform/renesas/CHIPDevicePlatformEvent.h b/src/platform/renesas/CHIPDevicePlatformEvent.h index 519bfd717d7e73..08e5d0ad9545da 100644 --- a/src/platform/renesas/CHIPDevicePlatformEvent.h +++ b/src/platform/renesas/CHIPDevicePlatformEvent.h @@ -17,9 +17,8 @@ */ /** - * @file - * Defines platform-specific event types and data for the Chip - * Device Layer on the platform. + * @file + * Defines platform-specific event types and data for the Chip Device Layer on the platform. */ #pragma once diff --git a/src/platform/renesas/CHIPPlatformConfig.h b/src/platform/renesas/CHIPPlatformConfig.h index 12ee433af8c27d..90794be3e3d8f8 100644 --- a/src/platform/renesas/CHIPPlatformConfig.h +++ b/src/platform/renesas/CHIPPlatformConfig.h @@ -17,8 +17,8 @@ */ /** - * @file - * Platform-specific configuration overrides for CHIP. + * @file + * Platform-specific configuration overrides for CHIP. */ #pragma once diff --git a/src/platform/renesas/ConfigurationManagerImpl.cpp b/src/platform/renesas/ConfigurationManagerImpl.cpp index 493b030c93fea9..eb2045965152c8 100644 --- a/src/platform/renesas/ConfigurationManagerImpl.cpp +++ b/src/platform/renesas/ConfigurationManagerImpl.cpp @@ -17,9 +17,8 @@ */ /** - * @file - * Provides the implementation of the Device Layer ConfigurationManager object - * for Renesas platform. + * @file + * Provides the implementation of the Device Layer ConfigurationManager object for Renesas platform. */ /* this file behaves like a config.h, comes first */ #include diff --git a/src/platform/renesas/ConfigurationManagerImpl.h b/src/platform/renesas/ConfigurationManagerImpl.h index b890391cecb8f2..bac4512560d0a5 100644 --- a/src/platform/renesas/ConfigurationManagerImpl.h +++ b/src/platform/renesas/ConfigurationManagerImpl.h @@ -17,9 +17,8 @@ */ /** - * @file - * Provides an implementation of the ConfigurationManager object - * for Renesas platform. + * @file + * Provides an implementation of the ConfigurationManager object for Renesas platform. */ #pragma once @@ -37,7 +36,6 @@ namespace DeviceLayer { class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImpl { public: - // This returns an instance of this class. static ConfigurationManagerImpl & GetDefaultInstance(); CHIP_ERROR GetRebootCount(uint32_t & rebootCount) override; CHIP_ERROR StoreRebootCount(uint32_t rebootCount) override; @@ -45,7 +43,6 @@ class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImp CHIP_ERROR StoreBootReason(uint32_t bootReason) override; private: - // ===== Members that implement the ConfigurationManager public interface. CHIP_ERROR Init(void) override; bool CanFactoryReset(void) override; @@ -53,9 +50,6 @@ class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImp CHIP_ERROR ReadPersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t & value) override; CHIP_ERROR WritePersistedStorageValue(::chip::Platform::PersistedStorage::Key key, uint32_t value) override; - // NOTE: Other public interface methods are implemented by GenericConfigurationManagerImpl<>. - - // ===== Members that implement the GenericConfigurationManagerImpl protected interface. CHIP_ERROR ReadConfigValue(Key key, bool & val) override; CHIP_ERROR ReadConfigValue(Key key, uint32_t & val) override; CHIP_ERROR ReadConfigValue(Key key, uint64_t & val) override; @@ -69,14 +63,12 @@ class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImp CHIP_ERROR WriteConfigValueBin(Key key, const uint8_t * data, size_t dataLen) override; void RunConfigUnitTest(void) override; - // ===== Private members reserved for use by this class only. static void DoFactoryReset(intptr_t arg); }; /** * Returns the platform-specific implementation of the ConfigurationManager object. - * * Applications can use this to gain access to features of the ConfigurationManager * that are specific to the selected platform. */ diff --git a/src/platform/renesas/ConnectivityManagerImpl.h b/src/platform/renesas/ConnectivityManagerImpl.h index a84451e8846001..db87c9e78108dc 100644 --- a/src/platform/renesas/ConnectivityManagerImpl.h +++ b/src/platform/renesas/ConnectivityManagerImpl.h @@ -61,19 +61,13 @@ class ConnectivityManagerImpl final : public ConnectivityManager, public Internal::GenericConnectivityManagerImpl_NoThread #endif { - // Allow the ConnectivityManager interface class to delegate method calls to - // the implementation methods provided by this class. friend class ConnectivityManager; private: - // ===== Members that implement the ConnectivityManager abstract interface. - bool _HaveServiceConnectivity(void); CHIP_ERROR _Init(void); void _OnPlatformEvent(const ChipDeviceEvent * event); - // ===== Members for internal use by the following friends. - friend ConnectivityManager & ConnectivityMgr(void); friend ConnectivityManagerImpl & ConnectivityMgrImpl(void); @@ -82,7 +76,6 @@ class ConnectivityManagerImpl final : public ConnectivityManager, /** * Returns the public interface of the ConnectivityManager singleton object. - * * Chip applications should use this to access features of the ConnectivityManager object * that are common to all platforms. */ @@ -93,7 +86,6 @@ inline ConnectivityManager & ConnectivityMgr(void) /** * Returns the platform-specific implementation of the ConnectivityManager singleton object. - * * Chip applications can use this to gain access to features of the ConnectivityManager * that are specific to the renesas platform. */ diff --git a/src/platform/renesas/DiagnosticDataProviderImpl.cpp b/src/platform/renesas/DiagnosticDataProviderImpl.cpp index 944afa90d56774..f6e823743e5835 100644 --- a/src/platform/renesas/DiagnosticDataProviderImpl.cpp +++ b/src/platform/renesas/DiagnosticDataProviderImpl.cpp @@ -16,9 +16,8 @@ */ /** - * @file - * Provides an implementation of the DiagnosticDataProvider object - * for renesas platform. + * @file + * Provides an implementation of the DiagnosticDataProvider object for renesas platform. */ #include @@ -39,8 +38,6 @@ DiagnosticDataProviderImpl & DiagnosticDataProviderImpl::GetDefaultInstance() CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapFree(uint64_t & currentHeapFree) { - // @Neethu If you get errors on xPortGetFreeHeapSize, check if this function call is enabled in FreeRTOSConfig.h. - // Note that there are multiple in the Smart-Bridge project. Make sure that you modify the correct one. size_t freeHeapSize = xPortGetFreeHeapSize(); currentHeapFree = static_cast(freeHeapSize); return CHIP_NO_ERROR; @@ -48,8 +45,6 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapFree(uint64_t & currentHeap CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapUsed(uint64_t & currentHeapUsed) { - // @Neethu If you get errors on xPortGetFreeHeapSize, check if this function call is enabled in FreeRTOSConfig.h. - // Note that there are multiple in the Smart-Bridge project. Make sure that you modify the correct one. // Calculate the Heap used based on Total heap - Free heap int64_t heapUsed = (configTOTAL_HEAP_SIZE - xPortGetFreeHeapSize()); @@ -61,8 +56,6 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapUsed(uint64_t & currentHeap CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapHighWatermark(uint64_t & currentHeapHighWatermark) { - // @Neethu If you get errors on xPortGetFreeHeapSize, check if this function call is enabled in FreeRTOSConfig.h. - // Note that there are multiple in the Smart-Bridge project. Make sure that you modify the correct one. // FreeRTOS records the lowest amount of available heap during runtime // currentHeapHighWatermark wants the highest heap usage point so we calculate it here int64_t HighestHeapUsageRecorded = (configTOTAL_HEAP_SIZE - xPortGetMinimumEverFreeHeapSize()); diff --git a/src/platform/renesas/DiagnosticDataProviderImpl.h b/src/platform/renesas/DiagnosticDataProviderImpl.h index 58f1d23c9c6bf8..6e057249e9ff99 100644 --- a/src/platform/renesas/DiagnosticDataProviderImpl.h +++ b/src/platform/renesas/DiagnosticDataProviderImpl.h @@ -28,15 +28,13 @@ namespace chip { namespace DeviceLayer { /** - * Concrete implementation of the PlatformManager singleton object for Linux platforms. + * Concrete implementation of the PlatformManager singleton object for renesas platforms. */ class DiagnosticDataProviderImpl : public DiagnosticDataProvider { public: static DiagnosticDataProviderImpl & GetDefaultInstance(); - // ===== Methods that implement the PlatformManager abstract interface. - CHIP_ERROR GetCurrentHeapFree(uint64_t & currentHeapFree) override; CHIP_ERROR GetCurrentHeapUsed(uint64_t & currentHeapUsed) override; CHIP_ERROR GetCurrentHeapHighWatermark(uint64_t & currentHeapHighWatermark) override; @@ -47,7 +45,6 @@ class DiagnosticDataProviderImpl : public DiagnosticDataProvider /** * Returns the platform-specific implementation of the DiagnosticDataProvider singleton object. - * * Applications can use this to gain access to features of the DiagnosticDataProvider * that are specific to the selected platform. */ diff --git a/src/platform/renesas/KeyValueStoreManagerImpl.h b/src/platform/renesas/KeyValueStoreManagerImpl.h index d63b6d0c7c0636..7272128e465384 100644 --- a/src/platform/renesas/KeyValueStoreManagerImpl.h +++ b/src/platform/renesas/KeyValueStoreManagerImpl.h @@ -35,7 +35,6 @@ class KeyValueStoreManagerImpl : public KeyValueStoreManager CHIP_ERROR _Put(const char * key, const void * value, size_t value_size) { return CHIP_ERROR_NOT_IMPLEMENTED; } private: - // ===== Members for internal use by the following friends. friend KeyValueStoreManager & KeyValueStoreMgr(); friend KeyValueStoreManagerImpl & KeyValueStoreMgrImpl(); @@ -44,7 +43,6 @@ class KeyValueStoreManagerImpl : public KeyValueStoreManager /** * Returns the public interface of the KeyValueStoreManager singleton object. - * * Chip applications should use this to access features of the KeyValueStoreManager object * that are common to all platforms. */ @@ -55,9 +53,8 @@ inline KeyValueStoreManager & KeyValueStoreMgr(void) /** * Returns the platform-specific implementation of the KeyValueStoreManager singleton object. - * * Chip applications can use this to gain access to features of the KeyValueStoreManager - * that are specific to the ESP32 platform. + * that are specific to the renesas platform. */ inline KeyValueStoreManagerImpl & KeyValueStoreMgrImpl(void) { diff --git a/src/platform/renesas/PlatformManagerImpl.cpp b/src/platform/renesas/PlatformManagerImpl.cpp index 5775a8b438e34d..d7b10b1edc8e84 100644 --- a/src/platform/renesas/PlatformManagerImpl.cpp +++ b/src/platform/renesas/PlatformManagerImpl.cpp @@ -17,15 +17,16 @@ */ /** - * @file - * Stub for PlatformManagerImpl for renesas platform. + * @file + * Stub for PlatformManagerImpl for renesas platform. */ #include namespace chip { namespace DeviceLayer { -/** Singleton instance of the KeyValueStoreManager implementation object. +/** + * Singleton instance of the KeyValueStoreManager implementation object. */ PlatformManagerImpl PlatformManagerImpl::sInstance; diff --git a/src/platform/renesas/PlatformManagerImpl.h b/src/platform/renesas/PlatformManagerImpl.h index a76b1de24e5ff0..85d34ad566a6be 100644 --- a/src/platform/renesas/PlatformManagerImpl.h +++ b/src/platform/renesas/PlatformManagerImpl.h @@ -16,8 +16,8 @@ */ /** - * @file - * Stub platform manager for renesas platform. + * @file + * Stub platform manager for renesas platform. */ #pragma once @@ -31,20 +31,16 @@ namespace chip { namespace DeviceLayer { /** - * Concrete implementation of the PlatformManager singleton object for Linux platforms. + * Concrete implementation of the PlatformManager singleton object for Renesas platforms. */ class PlatformManagerImpl final : public PlatformManager, public Internal::GenericPlatformManagerImpl_FreeRTOS { - // Allow the PlatformManager interface class to delegate method calls to - // the implementation methods provided by this class. friend PlatformManager; public: - // ===== Platform-specific members that may be accessed directly by the application. bool _IsChipStackLockedByCurrentThread() const { return true; }; private: - // ===== Methods that implement the PlatformManager abstract interface. CHIP_ERROR _InitChipStack() { return CHIP_NO_ERROR; } void _Shutdown() {} @@ -106,8 +102,6 @@ class PlatformManagerImpl final : public PlatformManager, public Internal::Gener bool _TryLockChipStack() { return true; } void _UnlockChipStack() {} - // ===== Members for internal use by the following friends. - friend PlatformManager & PlatformMgr(); friend PlatformManagerImpl & PlatformMgrImpl(); friend class Internal::BLEManagerImpl; @@ -120,7 +114,6 @@ class PlatformManagerImpl final : public PlatformManager, public Internal::Gener /** * Returns the public interface of the PlatformManager singleton object. - * * chip applications should use this to access features of the PlatformManager object * that are common to all platforms. */ @@ -131,9 +124,8 @@ inline PlatformManager & PlatformMgr() /** * Returns the platform-specific implementation of the PlatformManager singleton object. - * * chip applications can use this to gain access to features of the PlatformManager - * that are specific to the ESP32 platform. + * that are specific to the renesas platform. */ inline PlatformManagerImpl & PlatformMgrImpl() { diff --git a/src/platform/renesas/RenesasConfig.cpp b/src/platform/renesas/RenesasConfig.cpp index cce6bb57fc3413..27bb27f5baa9cc 100644 --- a/src/platform/renesas/RenesasConfig.cpp +++ b/src/platform/renesas/RenesasConfig.cpp @@ -17,8 +17,8 @@ */ /** - * @file - * Utilities for accessing persisted device configuration. + * @file + * Utilities for accessing persisted device configuration. */ /* this file behaves like a config.h, comes first */ #include diff --git a/src/platform/renesas/RenesasConfig.h b/src/platform/renesas/RenesasConfig.h index c7b6c571a6c893..9dd91c35ff082b 100644 --- a/src/platform/renesas/RenesasConfig.h +++ b/src/platform/renesas/RenesasConfig.h @@ -19,9 +19,8 @@ */ /** - * @file - * Utilities for accessing persisted device configuration on - * renesas platforms. + * @file + * Utilities for accessing persisted device configuration on renesas platforms. */ #pragma once diff --git a/src/platform/renesas/SystemPlatformConfig.h b/src/platform/renesas/SystemPlatformConfig.h index 53e1ac243c2935..03154ee743d2a1 100644 --- a/src/platform/renesas/SystemPlatformConfig.h +++ b/src/platform/renesas/SystemPlatformConfig.h @@ -17,8 +17,8 @@ */ /** - * @file - * Platform-specific configuration overrides for the CHIP system layer. + * @file + * Platform-specific configuration overrides for the CHIP system layer. * */ diff --git a/src/platform/renesas/args.gni b/src/platform/renesas/args.gni index 6dc38307d33ebb..7133b5ce9fba3d 100644 --- a/src/platform/renesas/args.gni +++ b/src/platform/renesas/args.gni @@ -28,7 +28,6 @@ chip_target_style = "embedded" chip_crypto = "platform" chip_device_platform = "renesas" -print("=========chip_device_platform: ${chip_device_platform}") chip_mdns = "platform" chip_enable_openthread = false diff --git a/third_party/renesas_sdk/BUILD.gn b/third_party/renesas_sdk/BUILD.gn index a4e28a5ed43923..530b12e07d7da5 100644 --- a/third_party/renesas_sdk/BUILD.gn +++ b/third_party/renesas_sdk/BUILD.gn @@ -19,8 +19,6 @@ declare_args() { renesas_sdk_target = "" } -#assert(renesas_sdk_target != "", "renesas_sdk_target must be specified") - group("renesas_sdk") { public_deps = [ renesas_sdk_target ] } diff --git a/third_party/renesas_sdk/renesas_executable.gni b/third_party/renesas_sdk/renesas_executable.gni index 3dee6ff0ec948b..901987617b024a 100644 --- a/third_party/renesas_sdk/renesas_executable.gni +++ b/third_party/renesas_sdk/renesas_executable.gni @@ -18,9 +18,6 @@ import("//build_overrides/renesas_sdk.gni") template("renesas_executable") { - # if (!defined(invoker.output_dir)) { - # invoker.output_dir = root_out_dir - # } output_base_name = get_path_info(invoker.output_name, "name") ldscript_file = "${root_build_dir}/${output_base_name}.ld" diff --git a/third_party/renesas_sdk/renesas_sdk.gni b/third_party/renesas_sdk/renesas_sdk.gni index afb2f8ab7e73fa..571c075eb0bcab 100644 --- a/third_party/renesas_sdk/renesas_sdk.gni +++ b/third_party/renesas_sdk/renesas_sdk.gni @@ -19,8 +19,6 @@ import("//build_overrides/renesas_sdk.gni") import("${chip_root}/src/platform/device.gni") declare_args() { - # Location of the Renesas SDK. - ##renesas_sdk_root = "${renesas_sdk_build_root}/repos" renesas_sdk_verbose = false _sdk_debug = 0 @@ -38,12 +36,6 @@ declare_args() { } template("renesas_sdk") { - # if (defined(invoker.renesas_sdk_root)) { - # renesas_sdk_root = invoker.renesas_sdk_root - #} - - #assert(renesas_sdk_root != "", "renesas_sdk_root must be specified") - config("${target_name}_config") { include_dirs = [] defines = [] @@ -68,23 +60,10 @@ template("renesas_sdk") { ldflags = [ "--specs=nano.specs", - # "-Wl,--entry=${renesas_sdk_crt_entry}", - # "-Wl,--just-symbols=" + - # rebase_path(renesas_sdk_patch_sym_file, root_build_dir), "-nostartfiles", ] } - # renesas_sdk_script("${target_name}_gen_lib_installer") { - # script_file_name = "bt_gen_lib_installer.bash" - - # lib_installer_file = "${root_gen_dir}/lib_installer.c" - - # args = [ "--out=" + rebase_path(lib_installer_file, root_build_dir) ] - - # outputs = [ lib_installer_file ] - # } - source_set(target_name) { sources = [ @@ -105,14 +84,7 @@ template("renesas_sdk") { defines = [ "CHIP_HAVE_CONFIG_H=1", "CHIP_SYSTEM_CONFIG_USE_LWIP=1" - #"ENABLE_DEBUG=${renesas_sdk_debug}", - #"SPAR_CRT_SETUP=${renesas_sdk_crt_entry}", - #"XS_LOCATION_ACTIVE=${btp.ConfigXS1Location}", - #"XS_LOCATION_UPGRADE=${btp.ConfigXS2Location}", ] - #if (chip_enable_ota_requestor) { - # defines += [ "BLE_OTA_FW_UPGRADE=1" ] - #} public_configs = [ ":${target_name}_config" ] From 9e5ff48142ab6ef08fb3cf881a5d0ca98c096742 Mon Sep 17 00:00:00 2001 From: n-nievergeld Date: Mon, 26 Feb 2024 11:57:46 +0100 Subject: [PATCH 2/2] TSBM-21 Removed github workflows --- .github/boring-cyborg.yml | 3 - .github/workflows/artifacts.yaml | 17 - .github/workflows/bloat_check.yaml | 59 -- .github/workflows/build.yaml | 532 --------------- .github/workflows/chef.yaml | 138 ---- .github/workflows/cherry-picks.yaml | 37 -- .github/workflows/cirque.yaml | 140 ---- .github/workflows/darwin-tests.yaml | 160 ----- .github/workflows/darwin.yaml | 166 ----- .github/workflows/docbuild.yaml | 54 -- .github/workflows/docker_img.yaml | 73 -- .github/workflows/doxygen.yaml | 108 --- .github/workflows/examples-ameba.yaml | 74 --- .github/workflows/examples-asr.yaml | 77 --- .github/workflows/examples-bouffalolab.yaml | 134 ---- .../workflows/examples-cc13x2x7_26x2x7.yaml | 173 ----- .github/workflows/examples-cc32xx.yaml | 105 --- .github/workflows/examples-efr32.yaml | 142 ---- .github/workflows/examples-esp32.yaml | 223 ------- .github/workflows/examples-infineon.yaml | 185 ------ .github/workflows/examples-k32w.yaml | 126 ---- .github/workflows/examples-linux-arm.yaml | 116 ---- .github/workflows/examples-linux-imx.yaml | 118 ---- .../workflows/examples-linux-standalone.yaml | 229 ------- .github/workflows/examples-mbed.yaml | 179 ----- .github/workflows/examples-mw320.yaml | 99 --- .github/workflows/examples-nrfconnect.yaml | 267 -------- .github/workflows/examples-openiotsdk.yaml | 128 ---- .github/workflows/examples-qpg.yaml | 119 ---- .github/workflows/examples-telink.yaml | 276 -------- .github/workflows/examples-tizen.yaml | 80 --- .github/workflows/fixit_rotation.yaml | 36 - .github/workflows/full-android.yaml | 131 ---- .github/workflows/fuzzing-build.yaml | 155 ----- .../workflows/gradle-wrapper-validation.yml | 10 - .github/workflows/java-tests.yaml | 251 ------- .github/workflows/labeler.yaml | 14 - .github/workflows/lint.yml | 225 ------- .github/workflows/minimal-build.yaml | 45 -- .github/workflows/qemu.yaml | 142 ---- .github/workflows/release_artifacts.yaml | 138 ---- .github/workflows/smoketest-android.yaml | 94 --- .github/workflows/smoketest-darwin.yaml | 77 --- .github/workflows/spell.yml | 55 -- .github/workflows/tests.yaml | 623 ------------------ .github/workflows/todos.yaml | 44 -- .github/workflows/unit_integration_test.yaml | 103 --- .github/workflows/zap_regeneration.yaml | 87 --- .github/workflows/zap_templates.yaml | 80 --- 49 files changed, 6647 deletions(-) delete mode 100644 .github/workflows/artifacts.yaml delete mode 100644 .github/workflows/bloat_check.yaml delete mode 100644 .github/workflows/build.yaml delete mode 100644 .github/workflows/chef.yaml delete mode 100644 .github/workflows/cherry-picks.yaml delete mode 100644 .github/workflows/cirque.yaml delete mode 100644 .github/workflows/darwin-tests.yaml delete mode 100644 .github/workflows/darwin.yaml delete mode 100644 .github/workflows/docbuild.yaml delete mode 100644 .github/workflows/docker_img.yaml delete mode 100644 .github/workflows/doxygen.yaml delete mode 100644 .github/workflows/examples-ameba.yaml delete mode 100644 .github/workflows/examples-asr.yaml delete mode 100644 .github/workflows/examples-bouffalolab.yaml delete mode 100644 .github/workflows/examples-cc13x2x7_26x2x7.yaml delete mode 100644 .github/workflows/examples-cc32xx.yaml delete mode 100644 .github/workflows/examples-efr32.yaml delete mode 100644 .github/workflows/examples-esp32.yaml delete mode 100644 .github/workflows/examples-infineon.yaml delete mode 100644 .github/workflows/examples-k32w.yaml delete mode 100644 .github/workflows/examples-linux-arm.yaml delete mode 100644 .github/workflows/examples-linux-imx.yaml delete mode 100644 .github/workflows/examples-linux-standalone.yaml delete mode 100644 .github/workflows/examples-mbed.yaml delete mode 100755 .github/workflows/examples-mw320.yaml delete mode 100644 .github/workflows/examples-nrfconnect.yaml delete mode 100644 .github/workflows/examples-openiotsdk.yaml delete mode 100644 .github/workflows/examples-qpg.yaml delete mode 100644 .github/workflows/examples-telink.yaml delete mode 100644 .github/workflows/examples-tizen.yaml delete mode 100644 .github/workflows/fixit_rotation.yaml delete mode 100644 .github/workflows/full-android.yaml delete mode 100644 .github/workflows/fuzzing-build.yaml delete mode 100644 .github/workflows/gradle-wrapper-validation.yml delete mode 100644 .github/workflows/java-tests.yaml delete mode 100644 .github/workflows/labeler.yaml delete mode 100644 .github/workflows/lint.yml delete mode 100644 .github/workflows/minimal-build.yaml delete mode 100644 .github/workflows/qemu.yaml delete mode 100644 .github/workflows/release_artifacts.yaml delete mode 100644 .github/workflows/smoketest-android.yaml delete mode 100644 .github/workflows/smoketest-darwin.yaml delete mode 100644 .github/workflows/spell.yml delete mode 100644 .github/workflows/tests.yaml delete mode 100644 .github/workflows/todos.yaml delete mode 100644 .github/workflows/unit_integration_test.yaml delete mode 100644 .github/workflows/zap_regeneration.yaml delete mode 100644 .github/workflows/zap_templates.yaml diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml index f9e4a7a44840c5..60da30952482d7 100644 --- a/.github/boring-cyborg.yml +++ b/.github/boring-cyborg.yml @@ -49,9 +49,6 @@ labelPRBasedOnFilePath: github: - .github - workflows: - - .github/workflows/* - tools: - tools/* diff --git a/.github/workflows/artifacts.yaml b/.github/workflows/artifacts.yaml deleted file mode 100644 index 002d945ebc0f09..00000000000000 --- a/.github/workflows/artifacts.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: 'Delete old artifacts' -on: - schedule: - - cron: '0 * * * *' # every hour - -concurrency: - group: ${{ github.workflow }} - cancel-in-progress: true - -jobs: - delete-artifacts: - runs-on: ubuntu-latest - steps: - - uses: kolpav/purge-artifacts-action@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - expire-in: 14days diff --git a/.github/workflows/bloat_check.yaml b/.github/workflows/bloat_check.yaml deleted file mode 100644 index f68127b364711d..00000000000000 --- a/.github/workflows/bloat_check.yaml +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright (c) 2020 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. - -name: Bloat Check -on: - schedule: - - cron: "*/5 * * * *" - -concurrency: - group: ${{ github.workflow }} - # Don't cancel an already-running bloat check just because it took more - # than 5 minutes to run and our cron job is trying to schedule a new one. - cancel-in-progress: false - -jobs: - pull_request_update: - name: Report on pull requests - - # Don't run on forked repos - if: github.repository_owner == 'project-chip' - - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build:0.7.3 - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - - name: Report - run: | - scripts/tools/memory/gh_report.py \ - --verbose \ - --report-increases 0.2 \ - --report-pr \ - --github-comment \ - --github-limit-artifact-pages 50 \ - --github-limit-artifacts 500 \ - --github-limit-comments 20 \ - --github-repository project-chip/connectedhomeip \ - --github-api-token "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml deleted file mode 100644 index 9774faa586efbe..00000000000000 --- a/.github/workflows/build.yaml +++ /dev/null @@ -1,532 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Builds - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - build_linux_gcc_debug: - name: Build on Linux (gcc_debug) - timeout-minutes: 85 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" - - steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} - run: echo "$GITHUB_CONTEXT" - - name: Dump Concurrency context - env: - CONCURRENCY_CONTEXT: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - run: echo "$CONCURRENCY_CONTEXT" - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Try to ensure the directories for core dumping exist and we - can write them. - run: | - mkdir /tmp/cores || true - sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Setup Build - run: scripts/build/gn_gen.sh --args="chip_config_memory_debug_checks=true chip_config_memory_debug_dmalloc=false" - - name: Run Build - timeout-minutes: 20 - run: scripts/run_in_build_env.sh "ninja -C ./out" - - name: Run Tests - timeout-minutes: 30 - run: scripts/tests/gn_tests.sh - # TODO Log Upload https://github.com/project-chip/connectedhomeip/issues/2227 - # TODO https://github.com/project-chip/connectedhomeip/issues/1512 - # - name: Run Code Coverage - # if: ${{ contains('main', env.BUILD_TYPE) }} - # run: scripts/tools/codecoverage.sh - # - name: Upload Code Coverage - # if: ${{ contains('main', env.BUILD_TYPE) }} - # run: bash <(curl -s https://codecov.io/bash) - - name: Setup Build Without Detail Logging - run: scripts/build/gn_gen.sh --args="chip_detail_logging=false" - - name: Run Build Without Detail Logging - timeout-minutes: 20 - run: scripts/run_in_build_env.sh "ninja -C ./out" - - name: Setup Build Without Progress Logging - run: scripts/build/gn_gen.sh --args="chip_detail_logging=false chip_progress_logging=false" - - name: Run Build Without Progress Logging - timeout-minutes: 20 - run: scripts/run_in_build_env.sh "ninja -C ./out" - - name: Setup Build Without Error Logging - run: scripts/build/gn_gen.sh --args="chip_detail_logging=false chip_progress_logging=false chip_error_logging=false" - - name: Run Build Without Error Logging - timeout-minutes: 20 - run: scripts/run_in_build_env.sh "ninja -C ./out" - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-linux-gcc-debug - path: /tmp/cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - # OBJDIR on linux is > 10K files and takes more than 50 minutes to upload, usually - # having the job timeout. - # - # If re-enabling, some subset of this should be picked - # - # - name: Uploading objdir for debugging - # uses: actions/upload-artifact@v3 - # if: ${{ failure() && !env.ACT }} - # with: - # name: crash-objdir-linux-gcc-debug - # path: out/ - # # objdirs are big; don't hold on to them too long. - # retention-days: 5 - - build_linux: - name: Build on Linux (fake, gcc_release, clang, simulated) - timeout-minutes: 150 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" - - steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} - run: echo "$GITHUB_CONTEXT" - - name: Dump Concurrency context - env: - CONCURRENCY_CONTEXT: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - run: echo "$CONCURRENCY_CONTEXT" - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - # - name: Initialize CodeQL - # if: ${{ github.event_name == 'push' && github.event.ref == 'refs/heads/master' }} - # uses: github/codeql-action/init@v1 - # with: - # languages: "cpp" - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Try to ensure the directories for core dumping exist and we - can write them. - run: | - mkdir /tmp/cores || true - sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Setup and Build Simulated Device - timeout-minutes: 20 - run: | - BUILD_TYPE=simulated - GN_ARGS='chip_tests_zap_config="app1" chip_project_config_include_dirs=["../../examples/placeholder/linux/apps/app1/include", "../../config/standalone"] chip_config_network_layer_ble=false' - CHIP_ROOT_PATH=examples/placeholder/linux - CHIP_ROOT_PATH="$CHIP_ROOT_PATH" BUILD_TYPE="$BUILD_TYPE" scripts/build/gn_gen.sh --args="$GN_ARGS" - scripts/run_in_build_env.sh "ninja -C ./out/$BUILD_TYPE" - - name: Setup Build, Run Build and Run Tests - timeout-minutes: 90 - run: | - BUILD_TYPE=gcc_release scripts/build/gn_gen.sh --args="is_debug=false" - scripts/run_in_build_env.sh "ninja -C ./out/gcc_release" - BUILD_TYPE=gcc_release scripts/tests/gn_tests.sh - - name: Run Tests with sanitizers - timeout-minutes: 60 - env: - LSAN_OPTIONS: detect_leaks=1 - run: | - 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 - - rm -rf ./out/sanitizers - BUILD_TYPE=sanitizers scripts/build/gn_gen.sh --args="$GN_ARGS" --export-compile-commands - BUILD_TYPE=sanitizers scripts/tests/gn_tests.sh - done - - name: Ensure codegen is done for sanitize - timeout-minutes: 45 - run: | - ./scripts/run_in_build_env.sh "./scripts/run_codegen_targets.sh out/sanitizers" - - name: Clang-tidy validation - timeout-minutes: 60 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/run-clang-tidy-on-compile-commands.py \ - --compile-database out/sanitizers/compile_commands.json \ - --file-exclude-regex '/(repo|zzz_generated|lwip/standalone)/' \ - check \ - " - - name: Build using build_examples.py - timeout-minutes: 60 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-minmdns-ipv6only-clang \ - --target linux-x64-rpc-console \ - build \ - " - - name: Create a pre-generate directory and ensure compile-time codegen would fail - run: | - ./scripts/run_in_build_env.sh "./scripts/codepregen.py ./zzz_pregenerated" - mv scripts/codegen.py scripts/codegen.py.renamed - - name: Clean output - run: rm -rf ./out - - name: Build using build_examples.py (pregen) - timeout-minutes: 60 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-all-clusters-ipv6only-clang \ - --target linux-x64-chip-tool-ipv6only-clang \ - --pregen-dir ./zzz_pregenerated \ - build \ - " - - name: Check no code generation in output - run: | - CNT=$(find out -name "CHIPClusters.h" | wc -l) - if [ "${CNT}" != "0" ]; then - echo "ERROR: found unexpected generated files:" - find out -name "CHIPClusters.h" - exit 1 - fi - - name: Undo code pre-generation changes (make compile time codegen work again) - run: | - rm -rf ./zzz_pregenerated - mv scripts/codegen.py.renamed scripts/codegen.py - - name: Run fake linux tests with build_examples - timeout-minutes: 15 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target linux-fake-tests build" - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-linux - path: /tmp/cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - # OBJDIR on linux is > 10K files and takes more than 50 minutes to upload, usually - # having the job timeout. - # - # If re-enabling, some subset of this should be picked - # - # - name: Uploading objdir for debugging - # uses: actions/upload-artifact@v3 - # if: ${{ failure() && !env.ACT }} - # with: - # name: crash-objdir-linux - # path: out/ - # # objdirs are big; don't hold on to them too long. - # retention-days: 5 - - build_linux_python_lib: - name: Build on Linux (python_lib) - timeout-minutes: 60 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - options: --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" - - steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJSON(github) }} - run: echo "$GITHUB_CONTEXT" - - name: Dump Concurrency context - env: - CONCURRENCY_CONTEXT: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - run: echo "$CONCURRENCY_CONTEXT" - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - - name: Setup Build, Run Build and Run Tests - timeout-minutes: 50 - run: | - scripts/build/gn_gen.sh --args="enable_rtti=true enable_pylib=true chip_config_memory_debug_checks=false chip_config_memory_debug_dmalloc=false" - scripts/run_in_build_env.sh "ninja -C ./out" - scripts/tests/gn_tests.sh - - name: Run Python library specific unit tests - timeout-minutes: 5 - run: | - scripts/run_in_build_env.sh 'pip3 install ./out/controller/python/chip_core-0.0-cp37-abi3-linux_x86_64.whl' - scripts/run_in_build_env.sh 'pip3 install ./out/controller/python/chip_clusters-0.0-py3-none-any.whl' - scripts/run_in_build_env.sh 'pip3 install ./out/controller/python/chip_repl-0.0-py3-none-any.whl' - scripts/run_in_build_env.sh '(cd src/controller/python/test/unit_tests/ && python3 -m unittest -v)' - - - name: Run Python Setup Payload Generator Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh 'scripts/examples/gn_build_example.sh examples/chip-tool out/' - scripts/run_in_build_env.sh 'pip3 install -r src/setup_payload/python/requirements.txt' - scripts/run_in_build_env.sh 'python3 src/setup_payload/tests/run_python_setup_payload_gen_test.py out/chip-tool' - - build_darwin: - name: Build on Darwin (clang, python_lib, simulated) - timeout-minutes: 200 - runs-on: macos-latest - if: github.actor != 'restyled-io[bot]' - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - #- name: Initialize CodeQL - # if: ${{ github.event_name == 'push' && github.event.ref == 'refs/heads/master' }} - # uses: github/codeql-action/init@v1 - # with: - # languages: "cpp" - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin - - name: Try to ensure the directory for diagnostic log collection exists - run: | - mkdir -p ~/Library/Logs/DiagnosticReports || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Setup and Build Simulated Device - timeout-minutes: 20 - run: | - BUILD_TYPE=simulated - GN_ARGS='chip_tests_zap_config="app1" chip_project_config_include_dirs=["../../examples/placeholder/linux/apps/app1/include", "../../config/standalone"] chip_config_network_layer_ble=false' - CHIP_ROOT_PATH=examples/placeholder/linux - CHIP_ROOT_PATH="$CHIP_ROOT_PATH" BUILD_TYPE="$BUILD_TYPE" scripts/build/gn_gen.sh --args="$GN_ARGS" - scripts/run_in_build_env.sh "ninja -C ./out/$BUILD_TYPE" - - name: Setup Build, Run Build and Run Tests - timeout-minutes: 120 - # We can't enable leak checking here in LSAN_OPTIONS, because on - # Darwin that's only supported with a new enough clang, and we're - # not building with the pigweed clang here. - run: | - for BUILD_TYPE in default python_lib; do - case $BUILD_TYPE in - # We want to build various standalone example apps - # (similar to what examples-linux-standalone.yaml - # does), so use target_os="all" to get those picked - # up as part of the "unified" build. But then to - # save CI resources we want to exclude the - # "host clang" build, which uses the pigweed - # clang. - "default") GN_ARGS='target_os="all" is_asan=true enable_host_clang_build=false';; - "python_lib") GN_ARGS='enable_rtti=true enable_pylib=true';; - esac - BUILD_TYPE=$BUILD_TYPE scripts/build/gn_gen.sh --args="$GN_ARGS" --export-compile-commands - scripts/run_in_build_env.sh "ninja -C ./out/$BUILD_TYPE" - BUILD_TYPE=$BUILD_TYPE scripts/tests/gn_tests.sh - done - - name: Ensure codegen is done for sanitize - timeout-minutes: 45 - run: | - ./scripts/run_in_build_env.sh "./scripts/run_codegen_targets.sh out/default" - - name: Clang-tidy validation - timeout-minutes: 60 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/run-clang-tidy-on-compile-commands.py \ - --compile-database out/default/compile_commands.json \ - check \ - " - - name: Uploading diagnostic logs - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-log-darwin - path: ~/Library/Logs/DiagnosticReports/ - # - name: Perform CodeQL Analysis - # if: ${{ github.event_name == 'push' && github.event.ref == 'refs/heads/master' }} - # uses: github/codeql-action/analyze@v1 - # TODO Log Upload https://github.com/project-chip/connectedhomeip/issues/2227 - # TODO https://github.com/project-chip/connectedhomeip/issues/1512 - - build_linux_gcc_coverage: - name: Build on Linux (coverage) - timeout-minutes: 85 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Run Build Coverage - timeout-minutes: 30 - run: ./scripts/build_coverage.sh diff --git a/.github/workflows/chef.yaml b/.github/workflows/chef.yaml deleted file mode 100644 index c426996c187054..00000000000000 --- a/.github/workflows/chef.yaml +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build Chef CI examples on all platforms - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - chef_linux: - name: Chef - Linux CI Examples - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.16 - options: --user root - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: CI Examples Linux - shell: bash - run: | - ./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t linux" - - chef_esp32: - name: Chef - ESP32 CI Examples - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-esp32:0.7.16 - options: --user root - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform esp32 - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: CI Examples ESP32 - shell: bash - run: | - ./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t esp32" - - chef_nrfconnect: - name: Chef - NRFConnect CI Examples - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-nrf-platform:0.7.16 - options: --user root - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform nrfconnect - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: CI Examples NRFConnect - shell: bash - run: | - ./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t nrfconnect" diff --git a/.github/workflows/cherry-picks.yaml b/.github/workflows/cherry-picks.yaml deleted file mode 100644 index 0fd7802dc461f4..00000000000000 --- a/.github/workflows/cherry-picks.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Cherry-Pick Merges - -on: - pull_request_target: - branches: - - master - types: ["closed"] - -jobs: - cherry_pick_release_v1_0: - runs-on: ubuntu-latest - name: Cherry-Pick into SVE - if: | - (github.event.pull_request.merged == true) - && ( - (contains(github.event.pull_request.labels.*.name, 'sve')) - || (contains(github.event.pull_request.labels.*.name, 'spec')) - || (contains(github.event.pull_request.labels.*.name, 'request sve')) - || (contains(github.event.pull_request.labels.*.name, 'cert blocker')) - ) - steps: - - name: Checkout - uses: actions/checkout@v3.5.2 - with: - fetch-depth: 0 - - name: Cherry-Pick into sve branch - uses: carloscastrojumo/github-cherry-pick-action@v1.0.9 - with: - token: ${{ secrets.MATTER_PAT }} - branch: sve-2 - labels: | - sve cherry pick - reviewers: | - woody-apple - andy31415 -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/cirque.yaml b/.github/workflows/cirque.yaml deleted file mode 100644 index 98baf36f6d61f3..00000000000000 --- a/.github/workflows/cirque.yaml +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright (c) 2020 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. - -name: Cirque - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - cirque: - name: Cirque - timeout-minutes: 90 - - env: - DOCKER_RUN_VERSION: 0.7.3 - GITHUB_CACHE_PATH: /tmp/cirque-cache - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - # need to run with privilege, which isn't supported by job.XXX.contaner - # https://github.com/actions/container-action/issues/2 - # container: - # image: connectedhomeip/chip-build-cirque:0.7.3 - # volumes: - # - "/tmp:/tmp" - # - "/dev/pts:/dev/pts" - # env: - # LOG_DIR: /tmp/cirque_test_output/ - # CLEANUP_DOCKER_FOR_CI: 1 - # options: "--privileged" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - if: ${{ !env.ACT }} - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 15 - run: | - integrations/docker/images/chip-build-cirque/run.sh \ - -- sh -c " \ - git config --global --add safe.directory '*' \ - && bash scripts/bootstrap.sh \ - && chown -R $(id -u):$(id -g) .environment \ - " - - - name: Get Cirque Bootstrap cache key - id: cirque-bootstrap-cache-key - run: echo "val=$(scripts/tests/cirque_tests.sh cachekeyhash)" >> $GITHUB_OUTPUT - - name: Cirque Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - if: ${{ !env.ACT }} - with: - key: ${{ runner.os }}-cirque-${{ steps.cirque-bootstrap-cache-key.outputs.val }} - restore-keys: ${{ runner.os }}-cirque- - path: ${{ env.GITHUB_CACHE_PATH }} - - name: Cirque Bootstrap - timeout-minutes: 15 - run: | - integrations/docker/images/chip-build-cirque/run.sh \ - --env GITHUB_ACTION_RUN=1 \ - --env GITHUB_CACHE_PATH=${{ env.GITHUB_CACHE_PATH }} \ - --volume /tmp:/tmp \ - -- scripts/tests/cirque_tests.sh bootstrap - - - name: Artifact suffix - id: outsuffix - uses: haya14busa/action-cond@v1 - if: ${{ !env.ACT }} - with: - cond: ${{ github.event.pull_request.number == '' }} - if_true: "${{ github.sha }}" - if_false: "pull-${{ github.event.pull_request.number }}" - - name: Build Binaries - timeout-minutes: 30 - run: | - integrations/docker/images/chip-build-cirque/run.sh \ - -- sh -c " \ - git config --global --add safe.directory '*' \ - && scripts/build/gn_gen_cirque.sh \ - " - - name: Run Tests - timeout-minutes: 45 - run: | - integrations/docker/images/chip-build-cirque/run.sh \ - --env LOG_DIR=/tmp/cirque_test_output \ - --env CLEANUP_DOCKER_FOR_CI=1 \ - --env GITHUB_ACTION_RUN=1 \ - --privileged \ - --volume /tmp:/tmp \ - --volume /dev/pts:/dev/pts \ - -- scripts/tests/cirque_tests.sh run_all_tests - - - name: Uploading Binaries - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: cirque_log-${{steps.outsuffix.outputs.value}}-logs - path: /tmp/cirque_test_output/ diff --git a/.github/workflows/darwin-tests.yaml b/.github/workflows/darwin-tests.yaml deleted file mode 100644 index 29f34356e5f607..00000000000000 --- a/.github/workflows/darwin-tests.yaml +++ /dev/null @@ -1,160 +0,0 @@ -# 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. - -name: Darwin Tests - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == - 'pull_request' && github.event.number) || (github.event_name == - 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - test_suites_chip_tool_darwin: - name: Test Suites - Darwin - timeout-minutes: 150 - - strategy: - matrix: - build_variant: [no-ble-asan-clang] - env: - BUILD_VARIANT: ${{matrix.build_variant}} - LSAN_OPTIONS: detect_leaks=1 malloc_context_size=40 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt - - if: github.actor != 'restyled-io[bot]' - runs-on: macos-latest - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin - - name: Setup Environment - # coreutils for stdbuf - run: brew install coreutils - - name: - Try to ensure the directories for core dumping and diagnostic - log collection exist and we can write them. - run: | - sudo chown ${USER} /cores || true - mkdir -p ~/Library/Logs/DiagnosticReports || true - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Delete Defaults - run: defaults delete com.apple.dt.xctest.tool - continue-on-error: true - - name: Build Apps - timeout-minutes: 90 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target darwin-x64-darwin-framework-tool-${BUILD_VARIANT} \ - --target darwin-x64-all-clusters-${BUILD_VARIANT} \ - --target darwin-x64-lock-${BUILD_VARIANT} \ - --target darwin-x64-ota-provider-${BUILD_VARIANT} \ - --target darwin-x64-ota-requestor-${BUILD_VARIANT} \ - --target darwin-x64-tv-app-${BUILD_VARIANT} \ - --target darwin-x64-bridge-${BUILD_VARIANT} \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Run Tests - timeout-minutes: 65 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --chip-tool ./out/darwin-x64-darwin-framework-tool-${BUILD_VARIANT}/darwin-framework-tool \ - --target-skip-glob '{TestAccessControlConstraints}' \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/darwin-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/darwin-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/darwin-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/darwin-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/darwin-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/darwin-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - name: Run OTA Test - timeout-minutes: 5 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_darwin_framework_ota_test.py \ - run \ - --darwin-framework-tool ./out/darwin-x64-darwin-framework-tool-${BUILD_VARIANT}/darwin-framework-tool \ - --ota-requestor-app ./out/darwin-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --ota-data-file /tmp/rawImage \ - --ota-image-file /tmp/otaImage \ - --ota-destination-file /tmp/downloadedImage \ - --ota-candidate-file /tmp/otaCandidateJSON \ - " - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: /cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - - name: Uploading diagnostic logs - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-log-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: ~/Library/Logs/DiagnosticReports/ - - name: Uploading objdir for debugging - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-objdir-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 diff --git a/.github/workflows/darwin.yaml b/.github/workflows/darwin.yaml deleted file mode 100644 index a78ab07cf02b68..00000000000000 --- a/.github/workflows/darwin.yaml +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Darwin - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - darwin: - name: Build Darwin - timeout-minutes: 210 - - if: github.actor != 'restyled-io[bot]' - runs-on: macos-latest - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin - - name: Setup Environment - run: brew install python@3.9 - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Block zap-cli from being used - # xcodebuild is NOT expected to require zap-cli - run: scripts/run_in_build_env.sh 'D=$(dirname $(which zap-cli)) && mv $D/zap-cli $D/zap-cli.moved' - - name: Validate zap-cli is NOT available - # run_in_build_env.sh is used to ensure PATH is set to something that would otherwise find zap-cli - run: scripts/run_in_build_env.sh '(zap-cli --version && exit 1) || exit 0' - - name: Run iOS Build Debug - timeout-minutes: 50 - working-directory: src/darwin/Framework - # For now disable unguarded-availability-new warnings because we - # internally use APIs that we are annotating as only available on - # new enough versions. Maybe we should change out deployment - # target versions instead? - run: xcodebuild -target "Matter" -sdk iphoneos OTHER_CFLAGS='${inherited} -Wno-unguarded-availability-new' - - name: Run iOS Build Release - timeout-minutes: 50 - working-directory: src/darwin/Framework - # For now disable unguarded-availability-new warnings because we - # internally use APIs that we are annotating as only available on - # new enough versions. Maybe we should change out deployment - # target versions instead? - run: xcodebuild -target "Matter" -sdk iphoneos -configuration Release OTHER_CFLAGS='${inherited} -Wno-unguarded-availability-new' - - name: Clean Build - run: xcodebuild clean - working-directory: src/darwin/Framework - - name: Delete Defaults - run: defaults delete com.apple.dt.xctest.tool - continue-on-error: true - - name: Run macOS Build - timeout-minutes: 70 - # Enable -Werror by hand here, because the Xcode config can't - # enable it for various reasons. Keep whatever Xcode settings - # for OTHER_CFLAGS exist by using ${inherited}. - # - # Enable -Wconversion by hand as well, because it seems to not be - # enabled by default in the Xcode config. - # - # Disable -Wunguarded-availability-new because we internally use - # APIs we added after our deployment target version. Maybe we - # should change the deployment target version instead? - run: xcodebuild -target "Matter" -sdk macosx OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-unguarded-availability-new' - working-directory: src/darwin/Framework - - name: Clean Build - run: xcodebuild clean - working-directory: src/darwin/Framework - - name: Make zap-cli work again - run: scripts/run_in_build_env.sh 'D=$(dirname $(which zap-cli.moved)) && mv $D/zap-cli.moved $D/zap-cli' - - name: Validate zap-cli is again available - run: scripts/run_in_build_env.sh 'zap-cli --version' - - name: Build example All Clusters Server - timeout-minutes: 15 - run: | - scripts/examples/gn_build_example.sh examples/all-clusters-app/linux out/debug chip_config_network_layer_ble=false - - name: Build example OTA Provider - timeout-minutes: 10 - run: | - scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false - - name: Build example OTA Requestor - timeout-minutes: 10 - run: | - scripts/examples/gn_build_example.sh examples/ota-requestor-app/linux out/debug chip_config_network_layer_ble=false non_spec_compliant_ota_action_delay_floor=0 - - name: Delete Defaults - run: defaults delete com.apple.dt.xctest.tool - continue-on-error: true - - name: Run Framework Tests - timeout-minutes: 30 - # For now disable unguarded-availability-new warnings because we - # internally use APIs that we are annotating as only available on - # new enough versions. Maybe we should change out deployment - # target versions instead? - run: | - mkdir -p /tmp/darwin/framework-tests - ../../../out/debug/chip-all-clusters-app --interface-id -1 > >(tee /tmp/darwin/framework-tests/all-cluster-app.log) 2> >(tee /tmp/darwin/framework-tests/all-cluster-app-err.log >&2) & - # Make sure each ota-requestor is using a different port, discriminator, and KVS from - # all-clusters-app and from other requestors. - # - # And a different port from the test harness too; the test harness uses port 5541. - ../../../out/debug/chip-ota-requestor-app --interface-id -1 --secured-device-port 5542 --discriminator 1111 --KVS /tmp/chip-ota-requestor-kvs1 --otaDownloadPath /tmp/chip-ota-requestor-downloaded-image1 --autoApplyImage > >(tee /tmp/darwin/framework-tests/ota-requestor-app-1.log) 2> >(tee /tmp/darwin/framework-tests/ota-requestor-app-err-1.log >&2) & - ../../../out/debug/chip-ota-requestor-app --interface-id -1 --secured-device-port 5543 --discriminator 1112 --KVS /tmp/chip-ota-requestor-kvs2 --otaDownloadPath /tmp/chip-ota-requestor-downloaded-image2 --autoApplyImage > >(tee /tmp/darwin/framework-tests/ota-requestor-app-2.log) 2> >(tee /tmp/darwin/framework-tests/ota-requestor-app-err-2.log >&2) & - # -enableUndefinedBehaviorSanitizer instruments the code in Matter.framework, - # but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_UBSAN=YES - TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-incomplete-umbrella -Wno-unguarded-availability-new' CHIP_IS_UBSAN=YES > >(tee /tmp/darwin/framework-tests/darwin-tests-asan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-err.log >&2) - # -enableThreadSanitizer instruments the code in Matter.framework, - # but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_TSAN=YES - xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableThreadSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-incomplete-umbrella -Wno-unguarded-availability-new' CHIP_IS_TSAN=YES > >(tee /tmp/darwin/framework-tests/darwin-tests-tsan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-tsan-err.log >&2) - working-directory: src/darwin/Framework - - name: Uploading log files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: darwin-framework-test-logs - path: /tmp/darwin/framework-tests - retention-days: 5 diff --git a/.github/workflows/docbuild.yaml b/.github/workflows/docbuild.yaml deleted file mode 100644 index ac2a8072c8045e..00000000000000 --- a/.github/workflows/docbuild.yaml +++ /dev/null @@ -1,54 +0,0 @@ -name: Documentation Build - -on: - pull_request: - types: [opened, synchronize, reopened] - branches: - - master - paths: - - '.github/workflows/docbuild.yaml' - - '**.md' - - 'docs/**' - push: - branches: - - master - -permissions: - contents: write - -jobs: - build-and-publish: - runs-on: ubuntu-latest - - steps: - - name: Checkout the code - uses: actions/checkout@v3.5.2 - with: - path: matter - fetch-depth: 0 - - name: Install Python - uses: actions/setup-python@v4 - with: - python-version: 3.8 - cache-dependency-path: matter/docs/requirements.txt - cache: pip - - name: Install base dependencies - working-directory: matter - run: | - sudo pip3 install -U pip - pip3 install -r docs/requirements.txt - - name: Build documentation - working-directory: matter/docs - run: | - mkdir -p _build/src - make html - touch _build/html/.nojekyll - - name: Deploy to gh-pages - if: github.repository == 'project-chip/connectedhomeip' && github.event_name == 'push' && github.ref_name == 'master' - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.DOXYGEN_DEPLOY_KEY }} - external_repository: project-chip/connectedhomeip-doc - publish_dir: matter/docs/_build/html - # Keep only the latest version of the documentation - force_orphan: true diff --git a/.github/workflows/docker_img.yaml b/.github/workflows/docker_img.yaml deleted file mode 100644 index 776a9539579585..00000000000000 --- a/.github/workflows/docker_img.yaml +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Docker CHIP images - -on: - push: - paths: - - "integrations/docker/images/**" - pull_request: - paths: - - "integrations/docker/images/**" - workflow_dispatch: - -jobs: - build_images: - name: Build Docker CHIP Build images - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - strategy: - fail-fast: false - matrix: - img: - - "" - - "-ameba" - - "-android" - - "-cirque" - - "-crosscompile" - - "-doxygen" - - "-efr32" - - "-esp32" - - "-esp32-qemu" - - "-infineon" - # NOTE: imx image requires too much space for GitHub-hosted runners. It fails with: - # ``` - # .... - # ApplyLayer exit status 1 stdout: stderr: write /opt/fsl-imx-xwayland/5.15-kirkstone/sysroots/armv8a-poky-linux/opt/ltp/testcases/bin/fanotify15: no space left on device - # ``` - # - "-imx" - - "-k32w" - - "-mbed-os" - - "-nrf-platform" - - "-telink" - - "-ti" - - "-tizen" - - "-tizen-qemu" - - "-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" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Build All images using project bash script - run: | - cd integrations/docker/images/chip-build${{ matrix.img }} - ./build.sh --latest diff --git a/.github/workflows/doxygen.yaml b/.github/workflows/doxygen.yaml deleted file mode 100644 index 15c5477c848c57..00000000000000 --- a/.github/workflows/doxygen.yaml +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright (c) 2020 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. - -name: Doxygen - -on: - push: - paths: - - "**.do[xc]" - - "**.c[cs]?" - - "**.cxx" - - "**.cpp" - - "**.c\\+\\+" - - "**.ii" - - "**.ixx" - - "**.ipp" - - "**.i\\+\\+" - - "**.inl" - - "**.[hH]" - - "**.hh" - - "**.HH" - - "**.hxx" - - "**.hpp" - - "**.h\\+\\+" - - "**.mm" - - "**.txt" - - "**.[ido]dl" - - "**.java" - - "**.d" - - "**.php[45]?" - - "**.inc" - - "**.phtml" - - "**.[mM]" - pull_request: - paths: - - "**.do[xc]" - - "**.c[cs]?" - - "**.cxx" - - "**.cpp" - - "**.c\\+\\+" - - "**.ii" - - "**.ixx" - - "**.ipp" - - "**.i\\+\\+" - - "**.inl" - - "**.[hH]" - - "**.hh" - - "**.HH" - - "**.hxx" - - "**.hpp" - - "**.h\\+\\+" - - "**.mm" - - "**.txt" - - "**.[ido]dl" - - "**.java" - - "**.d" - - "**.php[45]?" - - "**.inc" - - "**.phtml" - - "**.[mM]" - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -jobs: - doxygen: - name: Build Doxygen - timeout-minutes: 5 - - runs-on: ubuntu-latest - container: - image: connectedhomeip/chip-build-doxygen:0.7.3 - - if: github.actor != 'restyled-io[bot]' - - steps: - - name: "Print Actor" - run: echo ${{github.actor}} - - name: Checkout - uses: actions/checkout@v3.5.2 - - name: Generate - run: scripts/helpers/doxygen.sh - - name: Extract branch name - shell: bash - run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})" - id: extract_branch - - name: Deploy if master - if: steps.extract_branch.outputs.branch == 'master' && github.repository == 'project-chip/connectedhomeip' - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.DOXYGEN_DEPLOY_KEY }} - external_repository: project-chip/connectedhomeip-doc - publish_dir: ./docs/html - # Keep only the latest version of the documentation - force_orphan: true diff --git a/.github/workflows/examples-ameba.yaml b/.github/workflows/examples-ameba.yaml deleted file mode 100644 index e188826740668f..00000000000000 --- a/.github/workflows/examples-ameba.yaml +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - Ameba - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - ameba: - name: Ameba - env: - BUILD_TYPE: ameba - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-ameba:0.7.3 - options: --user root - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform ameba - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - run: bash scripts/bootstrap.sh - - name: Build example Ameba All Clusters App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target ameba-amebad-all-clusters \ - --target ameba-amebad-all-clusters-minimal \ - --target ameba-amebad-light \ - --target ameba-amebad-pigweed \ - build \ - " diff --git a/.github/workflows/examples-asr.yaml b/.github/workflows/examples-asr.yaml deleted file mode 100644 index a8fd72fc3bfe28..00000000000000 --- a/.github/workflows/examples-asr.yaml +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (c) 2023 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. - -name: Build example - ASR - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - asr: - name: ASR - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-asr:0.7.14 - options: --user root - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform asr - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - run: bash scripts/bootstrap.sh - - name: Build all ASR582X examples - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target asr-asr582x-all-clusters \ - --target asr-asr582x-all-clusters-minimal \ - --target asr-asr582x-lighting \ - --target asr-asr582x-light-switch \ - --target asr-asr582x-lock \ - --target asr-asr582x-ota-requestor \ - --target asr-asr582x-bridge \ - --target asr-asr582x-temperature-measurement \ - --target asr-asr582x-thermostat \ - build \ - " \ No newline at end of file diff --git a/.github/workflows/examples-bouffalolab.yaml b/.github/workflows/examples-bouffalolab.yaml deleted file mode 100644 index 3441ad51d2bc2a..00000000000000 --- a/.github/workflows/examples-bouffalolab.yaml +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build example - BouffaloLab - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - bouffalolab: - name: Bouffalo Lab - timeout-minutes: 90 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-bouffalolab:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform bouffalolab --recursive - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build example BL602 Lighting App - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target bouffalolab-bl602-iot-matter-v1-light \ - --target bouffalolab-bl602-iot-matter-v1-light-115200-rpc \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Prepare some bloat report from the previous builds - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - bl602 bl602 lighting-app \ - out/artifacts/bouffalolab-bl602-iot-matter-v1-light/chip-bl602-lighting-example.out \ - /tmp/bloat_reports/ - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - bl602 bl602+rpc lighting-app \ - out/artifacts/bouffalolab-bl602-iot-matter-v1-light-115200-rpc/chip-bl602-lighting-example.out \ - /tmp/bloat_reports/ - - name: Clean out build output - run: rm -rf ./out - - - name: Build example BL702 Lighting App - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target bouffalolab-xt-zb6-devkit-light \ - --target bouffalolab-xt-zb6-devkit-light-115200-rpc \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Prepare some bloat report from the previous builds - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - bl702 bl702 lighting-app \ - out/artifacts/bouffalolab-xt-zb6-devkit-light/chip-bl702-lighting-example.out \ - /tmp/bloat_reports/ - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - bl702 bl702+rpc lighting-app \ - out/artifacts/bouffalolab-xt-zb6-devkit-light-115200-rpc/chip-bl702-lighting-example.out \ - /tmp/bloat_reports/ - - name: Clean out build output - run: rm -rf ./out - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,BouffaloLab-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-cc13x2x7_26x2x7.yaml b/.github/workflows/examples-cc13x2x7_26x2x7.yaml deleted file mode 100644 index 0ebe1b067dbd49..00000000000000 --- a/.github/workflows/examples-cc13x2x7_26x2x7.yaml +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - TI CC26X2X7 - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - cc26x2x7: - name: cc26x2x7 - timeout-minutes: 120 - - env: - BUILD_TYPE: gn_cc26x2x7 - - runs-on: ubuntu-latest - # This CI is disabled because running out of flash and a solution was not found in time, see https://github.com/project-chip/connectedhomeip/pull/26186 - # An issue was opened at https://github.com/project-chip/connectedhomeip/issues/26957 - # TODO : Enable this once we have a way to run without out of flash failure or remove platform if it cannot support the SDK - if: github.actor != 'restyled-io[bot]' && false - - container: - image: connectedhomeip/chip-build-ti:0.7.14 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform cc13xx_26xx - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build examples - timeout-minutes: 100 - run: | - scripts/run_in_build_env.sh "\ - ./scripts/build/build_examples.py \ - --target ti-cc13x2x7_26x2x7-lock-mtd \ - --target ti-cc13x2x7_26x2x7-pump-mtd \ - --target ti-cc13x2x7_26x2x7-lighting \ - --target ti-cc13x2x7_26x2x7-pump-controller-mtd \ - --target ti-cc13x4_26x4-lighting \ - --target ti-cc13x4_26x4-lock-ftd \ - --target ti-cc13x4_26x4-lock-mtd \ - --target ti-cc13x4_26x4-pump-mtd \ - --target ti-cc13x4_26x4-pump-ftd \ - --target ti-cc13x4_26x4-pump-controller-mtd \ - --target ti-cc13x4_26x4-pump-controller-ftd \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Get lock MTD size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x2_26x2 LP_CC2652R7 lock-mtd \ - out/artifacts/ti-cc13x2x7_26x2x7-lock-mtd/chip-LP_CC2652R7-lock-example.out \ - /tmp/bloat_reports/ - - name: Get Pump App size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x2_26x2 LP_CC2652R7 pump-app \ - out/artifacts/ti-cc13x2x7_26x2x7-pump-mtd/chip-LP_CC2652R7-pump-example.out \ - /tmp/bloat_reports/ - - name: Get Pump Controller App size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x2_26x2 LP_CC2652R7 pump-controller-app \ - out/artifacts/ti-cc13x2x7_26x2x7-pump-controller-mtd/chip-LP_CC2652R7-pump-controller-example.out \ - /tmp/bloat_reports/ - - name: Get lock FTD size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x4_26x4 LP_EM_CC1354P10_6 lock-ftd \ - out/artifacts/ti-cc13x4_26x4-lock-ftd/chip-LP_EM_CC1354P10_6-lock-example.out \ - /tmp/bloat_reports/ - - name: Get lock MTD size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x4_26x4 LP_EM_CC1354P10_6 lock-mtd \ - out/artifacts/ti-cc13x4_26x4-lock-mtd/chip-LP_EM_CC1354P10_6-lock-example.out \ - /tmp/bloat_reports/ - - name: Get Pump App size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x4_26x4 LP_EM_CC1354P10_6 pump-app \ - out/artifacts/ti-cc13x4_26x4-pump-mtd/chip-LP_EM_CC1354P10_6-pump-example.out \ - /tmp/bloat_reports/ - - name: Get Pump Controller App size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x4_26x4 LP_EM_CC1354P10_6 pump-controller-app \ - out/artifacts/ti-cc13x4_26x4-pump-controller-mtd/chip-LP_EM_CC1354P10_6-pump-controller-example.out \ - /tmp/bloat_reports/ - - name: Get Lighting App size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc13x4_26x4 LP_EM_CC1354P10_6 lighting-app \ - out/artifacts/ti-cc13x4_26x4-lighting/chip-LP_EM_CC1354P10_6-lighting-example.out \ - /tmp/bloat_reports/ - - name: Uploading Size Reports - uses: actions/upload-artifact@v2 - if: ${{ !env.ACT }} - with: - name: Size,cc13x2x7_26x2x7-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ - - name: Uploading Size Reports - uses: actions/upload-artifact@v2 - if: ${{ !env.ACT }} - with: - name: Size,cc13x4_26x4-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-cc32xx.yaml b/.github/workflows/examples-cc32xx.yaml deleted file mode 100644 index 712648d99870fe..00000000000000 --- a/.github/workflows/examples-cc32xx.yaml +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - TI CC32XX - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - cc32xx: - name: cc32xx - timeout-minutes: 100 - - env: - BUILD_TYPE: gn_cc32xx - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-ti:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform cc32xx - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build examples - timeout-minutes: 60 - run: | - scripts/run_in_build_env.sh "\ - ./scripts/build/build_examples.py \ - --target cc32xx-lock build \ - --copy-artifacts-to out/artifacts \ - " - - name: Get lock app size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cc32xx CC3235SF_LAUNCHXL lock \ - out/artifacts/cc32xx-lock/chip-CC3235SF_LAUNCHXL-lock-example.out \ - /tmp/bloat_reports/ - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,cc32xx-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml deleted file mode 100644 index 0f5db5783411e4..00000000000000 --- a/.github/workflows/examples-efr32.yaml +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build example - EFR32 - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - efr32: - name: EFR32 - timeout-minutes: 110 - - env: - SILABS_BOARD: BRD4161A - BUILD_TYPE: gn_efr32 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-efr32:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform silabs_docker - - # - name: Out of Tree verification - # run: third_party/silabs/out_of_tree_verification.sh - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - name: Test SLC gen - timeout-minutes: 30 - run: | - scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs ./out/light-app BRD4187C --slc_generate --docker - rm -rf ./out/ - - name: Build some BRD4187C variants - timeout-minutes: 90 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --enable-flashbundle \ - --target efr32-brd4187c-window-covering-additional_data_advertising \ - --target efr32-brd4187c-thermostat-openthread_mtd \ - --target efr32-brd4187c-switch-sed-shell-use_ot_coap_lib \ - --target efr32-brd4187c-unit-test \ - --target efr32-brd4187c-light-use_ot_lib \ - --target efr32-brd4187c-light-rpc \ - --target efr32-brd4187c-lock-rpc-shell-enable_heap_monitoring \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Prepare some bloat report from the previous builds - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - efr32 BRD4187C lighting-app \ - out/efr32-brd4187c-light-rpc/matter-silabs-lighting-example.out \ - /tmp/bloat_reports/ - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - efr32 BRD4187C window-app \ - out/efr32-brd4187c-window-covering-additional_data_advertising/matter-silabs-window-example.out \ - /tmp/bloat_reports/ - - name: Clean out build output - run: rm -rf ./out - - name: Build example EFR32+WF200 WiFi Lock app for BRD4161A - timeout-minutes: 15 - run: | - scripts/examples/gn_silabs_example.sh examples/lock-app/silabs out/lock_app_wifi_wf200 BRD4161A is_debug=false chip_logging=false --wifi wf200 --docker - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py efr32 BRD4161A+wf200 lock-app \ - out/lock_app_wifi_wf200/BRD4161A/matter-silabs-lock-example.out /tmp/bloat_reports/ - - name: Clean out build output - run: rm -rf ./out - - name: Build example EFR32+RS9116 WiFi Lighting app for BRD4161A - timeout-minutes: 15 - run: | - scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs out/lighting_app_wifi_rs9116 BRD4161A --wifi rs9116 --docker - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py efr32 BRD4161A+rs9116 lighting-app \ - out/lighting_app_wifi_rs9116/BRD4161A/matter-silabs-lighting-example.out /tmp/bloat_reports/ - - name: Clean out build output - run: rm -rf ./out - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,EFR32-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-esp32.yaml b/.github/workflows/examples-esp32.yaml deleted file mode 100644 index 5d36782b23f599..00000000000000 --- a/.github/workflows/examples-esp32.yaml +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build example - ESP32 - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - esp32: - name: ESP32 - timeout-minutes: 120 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-esp32:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform esp32 - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build some M5Stack variations - timeout-minutes: 60 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --enable-flashbundle \ - --target esp32-m5stack-all-clusters \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Prepare bloat report - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - esp32 m5stack all-clusters-app \ - out/esp32-m5stack-all-clusters/chip-all-clusters-app.elf \ - /tmp/bloat_reports/ - - name: Prepare code pregen and ensure compile time pregen not possible - run: | - ./scripts/run_in_build_env.sh "./scripts/codepregen.py ./zzz_pregenerated" - mv scripts/codegen.py scripts/codegen.py.renamed - - name: Clean output - run: rm -rf ./out - - name: Build some M5Stack variations with pregen - timeout-minutes: 60 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --enable-flashbundle \ - --target esp32-m5stack-all-clusters-minimal \ - --target esp32-m5stack-all-clusters-rpc-ipv6only \ - --pregen-dir ./zzz_pregenerated \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Check no code generation in output - run: | - CNT=$(find out -name "CHIPClusters.h" | wc -l) - if [ "${CNT}" != "0" ]; then - echo "ERROR: found unexpected generated files:" - find out -name "CHIPClusters.h" - exit 1 - fi - - name: Undo code pregeneration changes - run: | - rm -rf ./zzz_pregenerated - mv scripts/codegen.py.renamed scripts/codegen.py - - name: Build example All Clusters App C3 - timeout-minutes: 15 - run: scripts/examples/esp_example.sh all-clusters-app sdkconfig_c3devkit.defaults - - name: Copy aside build products - run: | - mkdir -p example_binaries/esp32-build - cp examples/all-clusters-app/esp32/build/chip-all-clusters-app.elf \ - example_binaries/esp32-build/chip-all-clusters-app.elf - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - esp32 c3devkit all-clusters-app \ - example_binaries/esp32-build/chip-all-clusters-app.elf \ - /tmp/bloat_reports/ - - name: Build example Pigweed App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh pigweed-app sdkconfig.defaults - - name: Build example Lighting App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh lighting-app sdkconfig.defaults - - name: Build example Lock App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh lock-app sdkconfig.defaults - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,ESP32-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: /tmp/bloat_reports/ - - esp32_1: - name: ESP32_1 - timeout-minutes: 90 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-esp32:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform esp32 - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build example Bridge App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh bridge-app - - - name: Build example Persistent Storage App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh persistent-storage sdkconfig.defaults - - - name: Build example Shell App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh shell sdkconfig.defaults - - - name: Build example Temperature Measurement App - timeout-minutes: 15 - run: scripts/examples/esp_example.sh temperature-measurement-app sdkconfig.optimize.defaults - - - name: Build example OTA Requestor App - run: scripts/examples/esp_example.sh ota-requestor-app sdkconfig.defaults - timeout-minutes: 15 - - - name: Build example OTA Provider App - run: scripts/examples/esp_example.sh ota-provider-app sdkconfig.defaults - timeout-minutes: 15 diff --git a/.github/workflows/examples-infineon.yaml b/.github/workflows/examples-infineon.yaml deleted file mode 100644 index e05a56b215a693..00000000000000 --- a/.github/workflows/examples-infineon.yaml +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - Infineon - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - infineon: - name: Infineon examples building - timeout-minutes: 140 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-infineon:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform infineon - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build PSoC6 lock-app example - timeout-minutes: 15 - run: | - scripts/run_in_build_env.sh \ - "scripts/build/build_examples.py \ - --enable-flashbundle \ - --target infineon-psoc6-lock \ - build \ - --copy-artifacts-to out/artifacts \ - " - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - psoc6 cy8ckit_062s2_43012 lock \ - out/artifacts/infineon-psoc6-lock/chip-psoc6-lock-example.out \ - /tmp/bloat_reports/ - - name: Build PSoC6 all-clusters-app example - timeout-minutes: 20 - run: | - scripts/run_in_build_env.sh \ - "scripts/build/build_examples.py \ - --enable-flashbundle \ - --target infineon-psoc6-all-clusters \ - build \ - --copy-artifacts-to out/artifacts \ - " - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - psoc6 cy8ckit_062s2_43012 all-clusters \ - out/artifacts/infineon-psoc6-all-clusters/chip-psoc6-clusters-example.out \ - /tmp/bloat_reports/ - - name: Build PSoC6 all-clusters-minimal-app example - timeout-minutes: 20 - run: | - scripts/run_in_build_env.sh \ - "scripts/build/build_examples.py \ - --enable-flashbundle \ - --target infineon-psoc6-all-clusters-minimal \ - build \ - --copy-artifacts-to out/artifacts \ - " - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - psoc6 cy8ckit_062s2_43012 all-clusters-minimal \ - out/artifacts/infineon-psoc6-all-clusters-minimal/chip-psoc6-clusters-minimal-example.out \ - /tmp/bloat_reports/ - - name: Build PSoC6 lighting-app example - timeout-minutes: 15 - run: | - scripts/run_in_build_env.sh \ - "scripts/build/build_examples.py \ - --enable-flashbundle \ - --target infineon-psoc6-light \ - build \ - --copy-artifacts-to out/artifacts \ - " - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - psoc6 cy8ckit_062s2_43012 light \ - out/artifacts/infineon-psoc6-light/chip-psoc6-lighting-example.out \ - /tmp/bloat_reports/ - - - name: Build example CYW30739 Apps - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target cyw30739-cyw930739m2evb_01-light \ - --target cyw30739-cyw930739m2evb_01-lock \ - --target cyw30739-cyw930739m2evb_01-ota-requestor \ - --target cyw30739-cyw930739m2evb_01-switch \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Get light size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cyw30739 cyw930739m2evb_01 light \ - out/artifacts/cyw30739-cyw930739m2evb_01-light/chip-cyw30739-lighting-example.elf \ - /tmp/bloat_reports/ - - name: Get lock size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cyw30739 cyw930739m2evb_01 lock \ - out/artifacts/cyw30739-cyw930739m2evb_01-lock/chip-cyw30739-lock-example.elf \ - /tmp/bloat_reports/ - - name: Get ota-requestor size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cyw30739 cyw930739m2evb_01 ota-requestor \ - out/artifacts/cyw30739-cyw930739m2evb_01-ota-requestor/chip-cyw30739-ota-requestor-example.elf \ - /tmp/bloat_reports/ - - name: Get switch size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - cyw30739 cyw930739m2evb_01 switch \ - out/artifacts/cyw30739-cyw930739m2evb_01-switch/chip-cyw30739-light-switch-example.elf \ - /tmp/bloat_reports/ - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,Infineon-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-k32w.yaml b/.github/workflows/examples-k32w.yaml deleted file mode 100644 index 855f0ea88fa34b..00000000000000 --- a/.github/workflows/examples-k32w.yaml +++ /dev/null @@ -1,126 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - K32W with SE051 - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - k32w: - name: K32W - timeout-minutes: 90 - - env: - BUILD_TYPE: gn_k32w - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-k32w:0.7.14 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform k32w0 - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build examples - timeout-minutes: 70 - run: | - scripts/run_in_build_env.sh "\ - ./scripts/build/build_examples.py \ - --target k32w-light-no-ble-se05x \ - --target k32w-light-crypto-platform-tokenizer \ - --target k32w-lock-crypto-platform-tokenizer \ - --target k32w-lock-crypto-platform-low-power-nologs \ - --target k32w-contact-crypto-platform-tokenizer \ - --target k32w-contact-crypto-platform-low-power-nologs \ - --target k32w-shell-crypto-platform \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Get light size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - k32w k32w0+release light \ - out/artifacts/k32w-light-crypto-platform-tokenizer/chip-k32w0x-light-example \ - /tmp/bloat_reports/ - - name: Get lock size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - k32w k32w0+release lock \ - out/artifacts/k32w-lock-crypto-platform-tokenizer/chip-k32w0x-lock-example \ - /tmp/bloat_reports/ - - name: Get contact size stats - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - k32w k32w0+release contact \ - out/artifacts/k32w-contact-crypto-platform-tokenizer/chip-k32w0x-contact-example \ - /tmp/bloat_reports/ - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,K32W-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-linux-arm.yaml b/.github/workflows/examples-linux-arm.yaml deleted file mode 100644 index 3b293599b00787..00000000000000 --- a/.github/workflows/examples-linux-arm.yaml +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build example - Linux ARM - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - arm_crosscompile: - name: Linux ARM Cross compile - timeout-minutes: 70 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-crosscompile:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Some samples - timeout-minutes: 45 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-arm64-chip-cert-clang \ - --target linux-arm64-all-clusters-clang \ - --target linux-arm64-chip-tool-ipv6only-clang \ - --target linux-arm64-lock-clang \ - --target linux-arm64-minmdns-clang \ - --target linux-arm64-light-rpc-ipv6only-clang \ - --target linux-arm64-thermostat-no-ble-clang \ - build \ - " - - name: Bloat report - chip-tool - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux arm64 chip-tool-ipv6only \ - out/linux-arm64-chip-tool-ipv6only-clang/chip-tool \ - /tmp/bloat_reports/ - - name: Bloat report - thermostat - timeout-minutes: 5 - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux arm64 thermostat-no-ble \ - out/linux-arm64-thermostat-no-ble-clang/thermostat-app \ - /tmp/bloat_reports/ - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,Linux-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-linux-imx.yaml b/.github/workflows/examples-linux-imx.yaml deleted file mode 100644 index bb633d23f9ad8c..00000000000000 --- a/.github/workflows/examples-linux-imx.yaml +++ /dev/null @@ -1,118 +0,0 @@ -# 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. - -name: Build example - i.MX Linux - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - imx: - name: Linux i.MX Build - timeout-minutes: 70 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-imx:0.7.3 - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - run: bash scripts/bootstrap.sh - - - name: Build lighting-app - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target imx-lighting-app \ - build" - - name: Clean out build output - run: rm -rf ./out - - name: Build chip-tool - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target imx-chip-tool \ - build" - - name: Clean out build output - run: rm -rf ./out - - name: Build thermostat - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target imx-thermostat \ - build" - - name: Clean out build output - run: rm -rf ./out - - name: Build all-cluster - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target imx-all-clusters-app \ - build" - - name: Clean out build output - run: rm -rf ./out - - name: Build all-cluster-minimal - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target imx-all-clusters-minimal-app \ - build" - - name: Clean out build output - run: rm -rf ./out - - name: Build ota-provider-app - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target imx-ota-provider-app \ - build" - - name: Clean out build output - run: rm -rf ./out diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml deleted file mode 100644 index 8504087a83455e..00000000000000 --- a/.github/workflows/examples-linux-standalone.yaml +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build example - Linux Standalone - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - linux_standalone: - name: Linux Standalone - timeout-minutes: 90 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Standalone cert tool - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-chip-cert \ - build" - - name: Build minmdns example with platform dns - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-address-resolve-tool-platform-mdns-ipv6only \ - build" - - name: Build example Standalone Echo Client - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-chip-tool \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug chip-tool \ - out/linux-x64-chip-tool/chip-tool \ - /tmp/bloat_reports/ - - name: Build example Standalone Shell - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-shell \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug shell \ - out/linux-x64-shell/chip-shell \ - /tmp/bloat_reports/ - - name: Build example Standalone All Clusters Server - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-all-clusters \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug all-clusters-app \ - out/linux-x64-all-clusters/chip-all-clusters-app \ - /tmp/bloat_reports/ - - name: Build example Standalone All Clusters Minimal Server - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-all-clusters-minimal \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug all-clusters-minimal-app \ - out/linux-x64-all-clusters-minimal/chip-all-clusters-minimal-app \ - /tmp/bloat_reports/ - - name: Build example TV app - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-tv-app \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug tv-app \ - out/linux-x64-tv-app/chip-tv-app \ - /tmp/bloat_reports/ - - name: Build example Standalone TV Casting App - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-tv-casting-app \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug tv-casting-app \ - out/linux-x64-tv-casting-app/chip-tv-casting-app \ - /tmp/bloat_reports/ - - name: Build example lighting app with RPCs and UI - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-light-rpc-with-ui \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug+rpc+ui lighting-app \ - out/linux-x64-light-rpc-with-ui/chip-lighting-app \ - /tmp/bloat_reports/ - - name: Build example Standalone Bridge - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-bridge \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug bridge-app \ - out/linux-x64-bridge/chip-bridge-app \ - /tmp/bloat_reports/ - - name: Build example OTA Provider - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-ota-provider \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug ota-provider-app \ - out/linux-x64-ota-provider/chip-ota-provider-app \ - /tmp/bloat_reports/ - - name: Build example OTA Requestor - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-ota-requestor \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug ota-requestor-app \ - out/linux-x64-ota-requestor/chip-ota-requestor-app \ - /tmp/bloat_reports/ - - name: Build example Standalone Lock App - timeout-minutes: 10 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-lock-no-thread \ - build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - linux debug lock-app \ - out/linux-x64-lock-no-thread/chip-lock-app \ - /tmp/bloat_reports/ - - name: Build example contact sensor with UI - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-contact-sensor-no-ble-with-ui \ - build" - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,Linux-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-mbed.yaml b/.github/workflows/examples-mbed.yaml deleted file mode 100644 index e32c75300ec63a..00000000000000 --- a/.github/workflows/examples-mbed.yaml +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - Mbed OS - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - mbedos: - name: Mbed OS examples building - timeout-minutes: 200 - - env: - BUILD_TYPE: mbedos - APP_PROFILE: release - APP_TARGET: CY8CPROTO_062_4343W - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-mbed-os:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform mbed - - - name: Detect changed paths - uses: dorny/paths-filter@v2 - id: changed_paths - with: - filters: | - mbed: - - '**/mbed/**' - pigweedapp: - - 'examples/pigweed-app/mbed/**' - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build lock-app example - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=lock-app -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE lock-app \ - examples/lock-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-lock-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build lighting-app example - if: github.event_name == 'push' || steps.changed_paths.outputs.mbed == 'true' - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=lighting-app -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE lighting-app \ - examples/lighting-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-lighting-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build pigweed-app example - if: github.event_name == 'push' || steps.changed_paths.outputs.pigweedapp == 'true' - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=pigweed-app -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE pigweed-app \ - examples/pigweed-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-pigweed-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build all-clusters-app example - if: github.event_name == 'push' || steps.changed_paths.outputs.mbed == 'true' - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=all-clusters-app -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE all-clusters-app \ - examples/all-clusters-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-all-clusters-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build all-clusters-minimal-app example - if: github.event_name == 'push' || steps.changed_paths.outputs.mbed == 'true' - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=all-clusters-minimal-app -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE all-clusters-minimal-app \ - examples/all-clusters-minimal-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-all-clusters-minimal-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build shell example - if: github.event_name == 'push' || steps.changed_paths.outputs.mbed == 'true' - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=shell -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE shell \ - examples/shell/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-shell-example.elf \ - /tmp/bloat_reports/ - - - name: Build ota-requestor-app example - if: github.event_name == 'push' || steps.changed_paths.outputs.mbed == 'true' - timeout-minutes: 20 - run: | - scripts/examples/mbed_example.sh -a=ota-requestor-app -b=$APP_TARGET -p=$APP_PROFILE - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed $APP_TARGET+$APP_PROFILE shell \ - examples/ota-requestor-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-ota-requestor-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build unit tests - # Temporarily disable build due to running out of flash space - if: false - timeout-minutes: 20 - run: scripts/tests/mbed/mbed_unit_tests.sh -b=$APP_TARGET -p=$APP_PROFILE - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,Mbed-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-mw320.yaml b/.github/workflows/examples-mw320.yaml deleted file mode 100755 index 0d1a285f0de841..00000000000000 --- a/.github/workflows/examples-mw320.yaml +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Build example - MW320 - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - mw320: - name: MW320 - timeout-minutes: 60 - - env: - BUILD_TYPE: gn_mw320 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform mw320 - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build MW320 all clusters example app - timeout-minutes: 20 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target 'mw320-all-clusters-app' \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,MW320-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-nrfconnect.yaml b/.github/workflows/examples-nrfconnect.yaml deleted file mode 100644 index 034a532a93f25d..00000000000000 --- a/.github/workflows/examples-nrfconnect.yaml +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build example - nRF Connect SDK - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - nrfconnect: - name: nRF Connect SDK - timeout-minutes: 140 - - env: - BUILD_TYPE: nrfconnect - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-nrf-platform:0.7.16 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform nrfconnect - - name: Detect changed paths - uses: dorny/paths-filter@v2 - id: changed_paths - with: - filters: | - nrfconnect: - - '**/nrfconnect/**' - - '**/Zephyr/**' - - '**/zephyr/**' - tests: - - '**/tests/**' - shell: - - 'examples/shell/nrfconnect/**' - pigweed-app: - - 'examples/pigweed-app/nrfconnect/**' - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Check nRF Connect SDK revision. - timeout-minutes: 15 - run: scripts/run_in_build_env.sh "python3 scripts/setup/nrfconnect/update_ncs.py --check" - - name: Run unit tests of factory data generation script - timeout-minutes: 15 - run: | - scripts/run_in_build_env.sh 'pip3 install -r scripts/setup/requirements.nrfconnect.txt' - scripts/run_in_build_env.sh "./scripts/tools/nrfconnect/tests/test_generate_factory_data.py" - - name: Build example nRF Connect SDK Lock App on nRF52840 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh lock-app nrf52840dk_nrf52840 - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 lock-app \ - examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Lighting App on nRF52840 Dongle - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh lighting-app nrf52840dongle_nrf52840 -DCONF_FILE=prj_no_dfu.conf -DCONFIG_CHIP_ROTATING_DEVICE_ID=y - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dongle_nrf52840 lighting-app \ - examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Lighting App on nRF52840 DK with RPC - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh lighting-app nrf52840dk_nrf52840 -DOVERLAY_CONFIG=rpc.overlay - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840+rpc lighting-app \ - examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Light Switch App on nRF52840 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh light-switch-app nrf52840dk_nrf52840 - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 light-switch-app \ - examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Shell on nRF52840 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.shell == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh shell nrf52840dk_nrf52840 - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 shell \ - examples/shell/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Pigweed on nRF52840 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.pigweed-app == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh pigweed-app nrf52840dk_nrf52840 - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 pigweed-app \ - examples/pigweed-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Pump App on nRF52840 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh pump-app nrf52840dk_nrf52840 - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 pump-app \ - examples/pump-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Pump Controller App on nRF52840 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh pump-controller-app nrf52840dk_nrf52840 - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 pump-controller-app \ - examples/pump-controller-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK All Clusters App on nRF52840 DK - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh all-clusters-app nrf52840dk_nrf52840 -DCONF_FILE=prj_dfu.conf - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 all-clusters-app \ - examples/all-clusters-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK All Clusters Minimal App on nRF52840 DK - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh all-clusters-minimal-app nrf52840dk_nrf52840 -DCONF_FILE=prj_dfu.conf - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf52840dk_nrf52840 all-clusters-minimal-app \ - examples/all-clusters-minimal-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Lock App on nRF5340 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh lock-app nrf5340dk_nrf5340_cpuapp - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf5340dk_nrf5340_cpuapp lock-app \ - examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Lighting App on nRF5340 DK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/examples/nrfconnect_example.sh lighting-app nrf5340dk_nrf5340_cpuapp - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf5340dk_nrf5340_cpuapp lighting-app \ - examples/lighting-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Lock App on nRF7002 PDK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh lock-app nrf7002dk_nrf5340_cpuapp - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf7002dk_nrf5340_cpuapp lock-app \ - examples/lock-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Light Switch App on nRF7002 PDK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh light-switch-app nrf7002dk_nrf5340_cpuapp - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf7002dk_nrf5340_cpuapp light-switch-app \ - examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK Lighting App on nRF7002 PDK - if: github.event_name == 'push' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh lighting-app nrf7002dk_nrf5340_cpuapp - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf7002dk_nrf5340_cpuapp lighting-app \ - examples/light-switch-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Build example nRF Connect SDK All Clusters App on nRF7002 PDK - timeout-minutes: 20 - run: | - scripts/examples/nrfconnect_example.sh all-clusters-app nrf7002dk_nrf5340_cpuapp -DCONF_FILE=prj_release.conf - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - nrfconnect nrf7002dk_nrf5340_cpuapp all-clusters-app \ - examples/all-clusters-app/nrfconnect/build/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - name: Run unit tests for Zephyr native_posix_64 platform - if: github.event_name == 'push' || steps.changed_paths.outputs.tests == 'true' || steps.changed_paths.outputs.nrfconnect == 'true' - timeout-minutes: 15 - run: | - scripts/run_in_build_env.sh "./scripts/build/build_examples.py --target nrf-native-posix-64-tests build" - - name: Uploading Failed Test Logs - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: test-log - path: | - src/test_driver/nrfconnect/build/Testing/Temporary/LastTest.log - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,nRFConnect-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-openiotsdk.yaml b/.github/workflows/examples-openiotsdk.yaml deleted file mode 100644 index 08f46969daee9b..00000000000000 --- a/.github/workflows/examples-openiotsdk.yaml +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - Open IoT SDK - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - openiotsdk: - name: Open IoT SDK examples building - timeout-minutes: 90 - - env: - TEST_NETWORK_NAME: OIStest - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-openiotsdk:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - options: --privileged - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --recursive --platform openiotsdk - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - - name: Build and install Python controller - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env' - - - name: Build shell example - id: build_shell - timeout-minutes: 10 - run: | - scripts/examples/openiotsdk_example.sh shell - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - openiotsdk release shell \ - examples/shell/openiotsdk/build/chip-openiotsdk-shell-example.elf \ - /tmp/bloat_reports/ - - - name: Build lock-app example - id: build_lock_app - timeout-minutes: 10 - run: | - scripts/examples/openiotsdk_example.sh lock-app - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - openiotsdk release lock-app \ - examples/lock-app/openiotsdk/build/chip-openiotsdk-lock-app-example.elf \ - /tmp/bloat_reports/ - - - name: Build unit tests - id: build_unit_tests - timeout-minutes: 10 - run: | - scripts/examples/openiotsdk_example.sh unit-tests - - - name: "Test: shell example" - if: steps.build_shell.outcome == 'success' - timeout-minutes: 5 - run: | - scripts/examples/openiotsdk_example.sh -C test shell - - - name: "Test: lock-app example" - if: steps.build_lock_app.outcome == 'success' - timeout-minutes: 5 - run: | - scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up - scripts/run_in_ns.sh ${TEST_NETWORK_NAME}ns scripts/examples/openiotsdk_example.sh -C test -n ${TEST_NETWORK_NAME}tap lock-app - scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME down - - - name: "Test: unit-tests" - if: steps.build_unit_tests.outcome == 'success' - timeout-minutes: 40 - run: | - scripts/examples/openiotsdk_example.sh -C test unit-tests diff --git a/.github/workflows/examples-qpg.yaml b/.github/workflows/examples-qpg.yaml deleted file mode 100644 index ab7d33b5ccab90..00000000000000 --- a/.github/workflows/examples-qpg.yaml +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Build example - QPG - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - qpg: - name: QPG - timeout-minutes: 60 - - env: - BUILD_TYPE: gn_qpg - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform qpg - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build QPG6105 example apps - timeout-minutes: 30 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --enable-flashbundle \ - --target qpg-qpg6105-lock \ - --target qpg-qpg6105-light \ - --target qpg-qpg6105-shell \ - --target qpg-qpg6105-persistent-storage \ - build \ - --copy-artifacts-to out/artifacts \ - " - - name: Build Matter SDK library - timeout-minutes: 10 - run: | - config/qpg/chip-gn/build.sh - - - name: Prepare some bloat report from the previous builds - run: | - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - qpg qpg6105+debug lighting-app \ - out/qpg-qpg6105-light/chip-qpg6105-lighting-example.out \ - /tmp/bloat_reports/ - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - qpg qpg6105+debug lock-app \ - out/qpg-qpg6105-lock/chip-qpg6105-lock-example.out \ - /tmp/bloat_reports/ - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,QPG-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-telink.yaml b/.github/workflows/examples-telink.yaml deleted file mode 100644 index 74e050bb05f438..00000000000000 --- a/.github/workflows/examples-telink.yaml +++ /dev/null @@ -1,276 +0,0 @@ -# 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. - -name: Build example - Telink - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - telink: - name: Telink - env: - BUILD_TYPE: telink - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-telink:0.7.14 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform telink - - - name: Set up environment for size reports - if: ${{ !env.ACT }} - env: - GH_CONTEXT: ${{ toJson(github) }} - run: scripts/tools/memory/gh_sizes_environment.py "${GH_CONTEXT}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - - name: Build example Telink All Clusters App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-all-clusters' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d all-clusters-app \ - out/telink-tlsr9518adk80d-all-clusters/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink All Clusters Minimal App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-all-clusters-minimal' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d all-clusters-minimal-app \ - out/telink-tlsr9518adk80d-all-clusters-minimal/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Bridge App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-bridge' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d bridge-app \ - out/telink-tlsr9518adk80d-bridge/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Contact Sensor App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-contact-sensor' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d contact-sensor-app \ - out/telink-tlsr9518adk80d-contact-sensor/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Lighting App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d lighting-app \ - out/telink-tlsr9518adk80d-light/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Lighting App with RPC - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-rpc' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d lighting-app-rpc \ - out/telink-tlsr9518adk80d-light-rpc/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Lighting App with Shell - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-shell' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d lighting-app-shell \ - out/telink-tlsr9518adk80d-light-shell/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Lighting App with Factory Data - run: | - ./scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - ./scripts/build/gn_gen.sh - ./scripts/run_in_build_env.sh "ninja -C ./out/$BUILD_TYPE chip-cert chip-tool spake2p" - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-factory-data' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d lighting-app-factory-data \ - out/telink-tlsr9518adk80d-light-factory-data/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Light Switch App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-switch' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d light-switch-app \ - out/telink-tlsr9518adk80d-light-switch/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Lock App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-lock' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d lock-app \ - out/telink-tlsr9518adk80d-lock/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink OTA Requestor App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-ota-requestor' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d ota-requestor-app \ - out/telink-tlsr9518adk80d-ota-requestor/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Pump App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-pump' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d pump-app \ - out/telink-tlsr9518adk80d-pump/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Pump Controller App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-pump-controller' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d pump-controller-app \ - out/telink-tlsr9518adk80d-pump-controller/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Temperature Measurement App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-temperature-measurement' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d temperature-measurement-app \ - out/telink-tlsr9518adk80d-temperature-measurement/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Thermostat App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-thermostat' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d thermostat \ - out/telink-tlsr9518adk80d-thermostat/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Build example Telink Window Covering App - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-window-covering' build" - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - telink tlsr9518adk80d window-covering \ - out/telink-tlsr9518adk80d-window-covering/zephyr/zephyr.elf \ - /tmp/bloat_reports/ - - - name: clean out build output - run: rm -rf ./out - - - name: Uploading Size Reports - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: Size,Telink-Examples,${{ env.GH_EVENT_PR }},${{ env.GH_EVENT_HASH }},${{ env.GH_EVENT_PARENT }},${{ github.event_name }} - path: | - /tmp/bloat_reports/ diff --git a/.github/workflows/examples-tizen.yaml b/.github/workflows/examples-tizen.yaml deleted file mode 100644 index a0f33c521040cd..00000000000000 --- a/.github/workflows/examples-tizen.yaml +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright (c) 2021 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. - -name: Build example - Tizen - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - tizen: - name: Tizen - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-tizen:0.7.3 - options: --user root - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - "/tmp/output_binaries:/tmp/output_binaries" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform tizen - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - run: bash scripts/bootstrap.sh - - - name: Build Tizen examples - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --enable-flashbundle \ - --target tizen-arm-all-clusters \ - --target tizen-arm-all-clusters-minimal-no-wifi \ - --target tizen-arm-chip-tool-ubsan \ - --target tizen-arm-light \ - --target tizen-arm-light-no-ble-no-wifi \ - build \ - --copy-artifacts-to out/artifacts \ - " diff --git a/.github/workflows/fixit_rotation.yaml b/.github/workflows/fixit_rotation.yaml deleted file mode 100644 index c7ffed5302fae3..00000000000000 --- a/.github/workflows/fixit_rotation.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (c) 2021 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. - -name: Pick Fixit Rotation - -on: - workflow_dispatch: - -jobs: - shuffle_names: - name: Shuffle names - runs-on: ubuntu-latest - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Pick fixit rotation order - run: scripts/fixit_rotation.py diff --git a/.github/workflows/full-android.yaml b/.github/workflows/full-android.yaml deleted file mode 100644 index 3b39c71b58a836..00000000000000 --- a/.github/workflows/full-android.yaml +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright (c) 2020 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. - -name: Full builds - Android - -on: - push: - workflow_dispatch: - -concurrency: - group: full-${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - full_android: - name: Run - timeout-minutes: 120 - - env: - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64/ - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-android:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - if: ${{ !env.ACT }} - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - # To use act like: - # act -j full_android - # - # Note you likely still need to have non submodules setup for the - # local machine, like: - # git submodule deinit --all - - uses: actions/checkout@v3.5.2 - if: ${{ env.ACT }} - name: Checkout (ACT for local build) - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform android - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Android arm-chip-tool - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm-chip-tool build" - - name: Clean out build output - run: rm -rf ./out - - name: Build Android arm-tv-casting-app - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm-tv-casting-app build" - - name: Clean out build output - run: rm -rf ./out - - name: Build Android arm-tv-server - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm-tv-server build" - - name: Clean out build output - run: rm -rf ./out - - name: Build Android arm64-tv-casting-app - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm64-tv-casting-app build" - - name: Clean out build output - run: rm -rf ./out - - name: Build Android arm64-tv-server - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm64-tv-server build" - - name: Clean out build output - run: rm -rf ./out - - name: Build Android arm64-chip-tool - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm64-chip-tool build" - - name: Run Android build rule tests - run: | - ./scripts/run_in_build_env.sh \ - "ninja -C out/android-arm64-chip-tool build/chip/java/tests:java_build_test" - - name: Clean out build output - run: rm -rf ./out - # - name: Build Android Studio build (arm64 only) - # run: | - # ./scripts/run_in_build_env.sh \ - # "./scripts/build/build_examples.py --target android-androidstudio-arm64-chip-tool build" diff --git a/.github/workflows/fuzzing-build.yaml b/.github/workflows/fuzzing-build.yaml deleted file mode 100644 index 4e589a98460b2b..00000000000000 --- a/.github/workflows/fuzzing-build.yaml +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright (c) 2021 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. - -name: Fuzzing Builds - -on: - # For now, only manual triggers. - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - build_linux_fuzzing: - name: Build on Linux - timeout-minutes: 90 - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - run: apt-get update - - run: apt-get install --fix-missing llvm-10 clang-10 - - name: Try to ensure the objdir-clone dir exists - run: | - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build all-clusters-app - timeout-minutes: 20 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-all-clusters-no-ble-libfuzzer \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Uploading binaries - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: objdir-linux - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 - - build_darwin_fuzzing: - name: Build on Darwin - timeout-minutes: 90 - runs-on: macos-latest - if: github.actor != 'restyled-io[bot]' - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Setup Environment - run: brew install llvm - - name: Try to ensure the objdir-clone dir exists - run: | - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build all-clusters-app - timeout-minutes: 20 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target darwin-x64-all-clusters-no-ble-asan-libfuzzer-clang \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Uploading binaries - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: crash-darwin - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml deleted file mode 100644 index 913c5672e3c09e..00000000000000 --- a/.github/workflows/gradle-wrapper-validation.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: "Validate Gradle Wrapper" -on: [push, pull_request] - -jobs: - validation: - name: "Validation" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3.5.2 - - uses: gradle/wrapper-validation-action@v1 diff --git a/.github/workflows/java-tests.yaml b/.github/workflows/java-tests.yaml deleted file mode 100644 index 37ebeeea0a01fa..00000000000000 --- a/.github/workflows/java-tests.yaml +++ /dev/null @@ -1,251 +0,0 @@ -# Copyright (c) 2023 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. - -name: Java Tests - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == - 'pull_request' && github.event.number) || (github.event_name == - 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - java_tests_linux: - name: Linux - timeout-minutes: 130 - - env: - TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt" - - if: github.actor != 'restyled-io[bot]' - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build-java:0.7.15 - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0" - - steps: - - name: Checkout - uses: actions/checkout@v3.5.2 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Try to ensure the directories for core dumping exist and we - can write them. - run: | - mkdir /tmp/cores || true - sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - name: Generate unit tests - timeout-minutes: 1 - run: | - scripts/run_in_build_env.sh \ - './scripts/build/build_examples.py \ - --target linux-x64-tests \ - gen \ - ' - - name: Build unit tests - timeout-minutes: 25 - run: scripts/run_in_build_env.sh 'ninja -C out/linux-x64-tests src:java_controller_tests' - - - name: Run unit tests - timeout-minutes: 10 - # TODO: this direct path loading is not maintainable. Our build system should define and - # support test classes. - run: | - $JAVA_PATH/bin/java \ - -cp 'third_party/java_deps/artifacts/*:out/linux-x64-tests/lib/src/controller/java/*' \ - org.junit.runner.JUnitCore \ - chip.tlv.TlvWriterTest \ - chip.tlv.TlvReadWriteTest \ - chip.tlv.TlvReaderTest \ - chip.jsontlv.JsonToTlvToJsonTest - - name: Build Java Matter Controller and all clusters app - timeout-minutes: 50 - run: | - scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env' - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test \ - --target linux-x64-java-matter-controller \ - build \ - " - - name: Run Discover Commissionables Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "discover" \ - --tool-args "commissionables" \ - --factoryreset \ - ' - - name: Run Pairing Onnetwork Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "pairing" \ - --tool-args "onnetwork-long --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \ - --factoryreset \ - ' - - name: Run IM Invoke Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "im" \ - --tool-args "onnetwork-long-im-invoke --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \ - --factoryreset \ - ' - - name: Run IM Read Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "im" \ - --tool-args "onnetwork-long-im-read --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \ - --factoryreset \ - ' - - name: Run IM Write Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "im" \ - --tool-args "onnetwork-long-im-write --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \ - --factoryreset \ - ' - - name: Run IM Subscribe Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "im" \ - --tool-args "onnetwork-long-im-subscribe --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \ - --factoryreset \ - ' - - name: Run Pairing AlreadyDiscovered Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "pairing" \ - --tool-args "already-discovered --nodeid 1 --setup-pin-code 20202021 --address ::1 --port 5540 -t 1000" \ - --factoryreset \ - ' - - name: Run Pairing Address-PaseOnly Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "pairing" \ - --tool-args "address-paseonly --nodeid 1 --setup-pin-code 20202021 --address ::1 --port 5540 -t 1000" \ - --factoryreset \ - ' - - name: Run Pairing SetupQRCode Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "pairing" \ - --tool-args "code --nodeid 1 --setup-payload MT:-24J0AFN00KA0648G00 --discover-once 1 --use-only-onnetwork-discovery 0 -t 1000" \ - --factoryreset \ - ' - - name: Run Pairing ManualCode Test - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh \ - './scripts/tests/run_java_test.py \ - --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app \ - --app-args "--discriminator 3840 --interface-id -1" \ - --tool-path out/linux-x64-java-matter-controller \ - --tool-cluster "pairing" \ - --tool-args "code --nodeid 1 --setup-payload 34970112332 --discover-once 1 --use-only-onnetwork-discovery 0 -t 1000" \ - --factoryreset \ - ' - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-linux-java-controller - path: /tmp/cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - - name: Uploading objdir for debugging - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-objdir-linux-java-controller - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 - diff --git a/.github/workflows/labeler.yaml b/.github/workflows/labeler.yaml deleted file mode 100644 index 057208eda328d2..00000000000000 --- a/.github/workflows/labeler.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: "Pull Request Labeler" -on: -- pull_request_target - -jobs: - triage: - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - steps: - - uses: actions/labeler@v4 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index da846e5939ea0a..00000000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Lint Code Base -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - code-lints: - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build:0.6.47 - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - if: ${{ !env.ACT }} - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - # To use act like: - # act -j code-lints - # - # Note you likely still need to have non submodules setup for the - # local machine, like: - # git submodule deinit --all - - uses: actions/checkout@v3.5.2 - if: ${{ env.ACT }} - name: Checkout (ACT for local build) - - # Bootstrap and checkout for internal scripts (like idl_lint) - # to run - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - - name: Check for matter lint errors - if: always() - run: | - for idl_file in $(find . -name '*.matter'); do - # TODO: all these conformance failures should be fixed - # Issues exist for most of them: - # https://github.com/project-chip/connectedhomeip/issues/19176 - # https://github.com/project-chip/connectedhomeip/issues/19175 - # https://github.com/project-chip/connectedhomeip/issues/19173 - # https://github.com/project-chip/connectedhomeip/issues/19169 - # https://github.com/project-chip/connectedhomeip/issues/22640 - if [ "$idl_file" = './examples/all-clusters-app/all-clusters-common/all-clusters-app.matter' ]; then continue; fi - if [ "$idl_file" = './examples/log-source-app/log-source-common/log-source-app.matter' ]; then continue; fi - if [ "$idl_file" = './examples/placeholder/linux/apps/app1/config.matter' ]; then continue; fi - if [ "$idl_file" = './examples/placeholder/linux/apps/app2/config.matter' ]; then continue; fi - if [ "$idl_file" = './examples/thermostat/thermostat-common/thermostat.matter' ]; then continue; fi - if [ "$idl_file" = './examples/window-app/common/window-app.matter' ]; then continue; fi - - # Test files are intentionally small and not spec-compilant, just parse-compliant - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/cluster_struct_attribute.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/global_struct_attribute.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/optional_argument.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/several_clusters.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/simple_attribute.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/large_lighting_app.matter" ]; then continue; fi - if [ "$idl_file" = "./scripts/py_matter_idl/matter_idl/tests/inputs/large_all_clusters_app.matter" ]; then continue; fi - - ./scripts/run_in_build_env.sh "./scripts/idl_lint.py --log-level warn $idl_file" >/dev/null || exit 1 - done - - - name: Check broken links - # On-push disabled until the job can run fully green - # At that point the step should be enabled. - if: github.event_name == 'workflow_dispatch' - uses: gaurav-nelson/github-action-markdown-link-check@v1 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for incorrect error use in VerifyOrExit - if: always() - run: | - git grep -n "VerifyOrExit(.*, [A-Za-z]*_ERROR" -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of PRI*8, which are not supported on some libcs. - if: always() - run: | - git grep -n "PRI.8" -- './*' ':(exclude).github/workflows/lint.yml' ':(exclude)third_party/lwip/repo/lwip/src/include/lwip/arch.h' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of PRI*16, which are not supported on some libcs. - if: always() - run: | - git grep -n "PRI.16" -- './*' ':(exclude).github/workflows/lint.yml' ':(exclude)third_party/lwip/repo/lwip/src/include/lwip/arch.h' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of %zu, which are not supported on some libcs. - if: always() - run: | - git grep -n "%zu" -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0 - - # Comments like '{{! ... }}' should be used in zap files - - name: Do not allow TODO in generated files - if: always() - run: | - git grep -n 'TODO:' -- ./zzz_generated './*/zap-generated/*' && exit 1 || exit 0 - - - name: Check for disallowed include files - if: always() - run: scripts/tools/check_includes.sh - - - name: Check for zcl.json and extension sync status - if: always() - run: scripts/tools/check_zcl_file_sync.py . - - - name: Ensure all PICS are set for tests (to true or false) - if: always() - run: | - scripts/tools/check_test_pics.py src/app/tests/suites/certification/ci-pics-values src/app/tests/suites/certification/PICS.yaml - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of 0x%u and the like, which lead to misleading output. - if: always() - run: | - git grep -n '0x%[0-9l.-]*[^0-9lxX".-]' -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of '"0x" PRIu*' and the like, which lead to misleading output. - if: always() - run: | - git grep -n '0x%[0-9-]*" *PRI[^xX]' -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. - - name: Check for use of NSLog instead of Matter logging in Matter framework - if: always() - run: | - git grep -n 'NSLog(' -- src/darwin/Framework/CHIP && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself, as well as excluding the files - # that implement the type-safe accessors - - name: Check for use of 'emberAfReadAttribute' instead of the type-safe getters - if: always() - run: | - git grep -n 'emberAfReadAttribute' -- './*' ':(exclude).github/workflows/lint.yml' ':(exclude)src/app/util/af.h' ':(exclude)zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp' ':(exclude)src/app/zap-templates/templates/app/attributes/Accessors-src.zapt' ':(exclude)src/app/util/attribute-table.cpp' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself, as well as excluding the files - # that implement the type-safe accessors, attribute writing from the wire, and some - # Pigweed RPC code that seems hard to update. - - name: Check for use of 'emberAfWriteAttribute' instead of the type-safe setters - if: always() - run: | - git grep -n 'emberAfWriteAttribute' -- './*' ':(exclude).github/workflows/lint.yml' ':(exclude)src/app/util/af.h' ':(exclude)zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp' ':(exclude)src/app/zap-templates/templates/app/attributes/Accessors-src.zapt' ':(exclude)src/app/util/attribute-table.cpp' ':(exclude)examples/common/pigweed/rpc_services/Attributes.h' ':(exclude)src/app/util/attribute-table.h' ':(exclude)src/app/util/ember-compatibility-functions.cpp' && exit 1 || exit 0 - - # Run python Linter (flake8) and verify python files - # ignore some style errors, restyler should do that - - name: Check for errors using flake8 Python linter - if: always() - run: | - flake8 --extend-ignore=E501,W391 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of "SuccessOrExit(CHIP_ERROR_*)", which should probably be "SuccessOrExit(err = CHIP_ERROR_*)" - if: always() - run: | - git grep -n 'SuccessOrExit(CHIP_ERROR' -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0 - - # git grep exits with 0 if it finds a match, but we want - # to fail (exit nonzero) on match. And we want to exclude this file, - # to avoid our grep regexp matching itself. - - name: Check for use of "SuccessOrExit(something-without-assignment(", which should probably be "SuccessOrExit(err = something(" - if: always() - run: | - git grep -n 'SuccessOrExit([^=)]*(' -- './*' ':(exclude).github/workflows/lint.yml' && exit 1 || exit 0 - diff --git a/.github/workflows/minimal-build.yaml b/.github/workflows/minimal-build.yaml deleted file mode 100644 index 77b801a749fb3a..00000000000000 --- a/.github/workflows/minimal-build.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright (c) 2023 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. - -name: Minimal Build (Linux / configure) - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -jobs: - minimal: - name: Linux / configure build of all-clusters-app - timeout-minutes: 60 - - if: github.actor != 'restyled-io[bot]' - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build-minimal:0.7.3 - - steps: - - name: Checkout - uses: actions/checkout@v3.5.2 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Configure and build All Clusters App - timeout-minutes: 10 - run: | - CC=gcc CXX=g++ scripts/configure --project=examples/all-clusters-app/linux && ./ninja-build diff --git a/.github/workflows/qemu.yaml b/.github/workflows/qemu.yaml deleted file mode 100644 index 2459ecbcaa5576..00000000000000 --- a/.github/workflows/qemu.yaml +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (c) 2020 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. - -name: QEMU - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - - qemu-esp32: - name: ESP32 - timeout-minutes: 85 - - env: - BUILD_TYPE: esp32-qemu - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-esp32-qemu:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform esp32 - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build ESP32 QEMU test images - timeout-minutes: 20 - run: | - scripts/run_in_build_env.sh " \ - ./scripts/build/build_examples.py \ - --target esp32-qemu-tests \ - build \ - " - - name: Run all tests - timeout-minutes: 40 - run: | - src/test_driver/esp32/run_qemu_image.py \ - --verbose \ - --file-image-list ./out/esp32-qemu-tests/test_images.txt - - name: Uploading Logs - uses: actions/upload-artifact@v3 - if: ${{ !env.ACT }} - with: - name: qemu-esp32-logs - path: /tmp/log_output - - qemu-tizen: - name: Tizen - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-tizen-qemu:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform tizen - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - - name: Build and run tests - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target tizen-arm-tests-no-ble-no-thread \ - build - " diff --git a/.github/workflows/release_artifacts.yaml b/.github/workflows/release_artifacts.yaml deleted file mode 100644 index a525a97db0742d..00000000000000 --- a/.github/workflows/release_artifacts.yaml +++ /dev/null @@ -1,138 +0,0 @@ -# Copyright (c) 2020 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. - -name: Build release artifacts - -on: - workflow_dispatch: - inputs: - releaseTag: - description: Release Tag - required: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - esp32: - name: ESP32 - env: - BUILD_DIRECTORY: examples/all-clusters-app/esp32/build - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build-esp32:0.7.3 - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - ref: "${{ github.event.inputs.releaseTag }}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build - run: scripts/examples/esp_example.sh all-clusters-app - - - name: Upload artifact - run: | - scripts/helpers/upload_release_asset.py \ - --github-repository project-chip/connectedhomeip \ - --github-api-token "${{ secrets.GITHUB_TOKEN }}" \ - --release-tag "${{ github.event.inputs.releaseTag }}" \ - --bundle-files $BUILD_DIRECTORY/chip-all-clusters-app.flashbundle.txt \ - --working-directory $BUILD_DIRECTORY \ - --bundle-name esp32-chip-all-clusters-app - - efr32: - name: EFR32 - env: - SILABS_BOARD: BRD4161A - BUILD_DIRECTORY: out/lock_app_debug/BRD4161A - - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build-efr32:0.7.3 - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - ref: "${{ github.event.inputs.releaseTag }}" - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build example EFR32 Lock App - run: scripts/examples/gn_silabs_example.sh examples/lock-app/efr32/ - out/lock_app_debug $SILABS_BOARD - - - name: Upload artifact - run: | - scripts/helpers/upload_release_asset.py \ - --github-repository project-chip/connectedhomeip \ - --github-api-token "${{ secrets.GITHUB_TOKEN }}" \ - --release-tag "${{ github.event.inputs.releaseTag }}" \ - --bundle-files $BUILD_DIRECTORY/lock_app.flashbundle.txt \ - --working-directory $BUILD_DIRECTORY \ - --bundle-name efr32-$SILABS_BOARD-chip-lock-example diff --git a/.github/workflows/smoketest-android.yaml b/.github/workflows/smoketest-android.yaml deleted file mode 100644 index cce15a04079562..00000000000000 --- a/.github/workflows/smoketest-android.yaml +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright (c) 2020 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. - -name: Smoke test - Android - -on: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: smoke-${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - android: - name: Smoke Run - Android - timeout-minutes: 60 - - env: - JAVA_HOME: /usr/lib/jvm/java-8-openjdk-amd64/ - - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-android:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform android - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Android CHIPTool and CHIPTest (ARM64) - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm64-chip-tool build" - - name: Run Android build rule tests - run: | - ./scripts/run_in_build_env.sh \ - "ninja -C out/android-arm64-chip-tool build/chip/java/tests:java_build_test" - - name: Build Android arm64-tv-casting-app - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm64-tv-casting-app build" - - name: Build Android arm64-tv-server - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py --target android-arm64-tv-server build" diff --git a/.github/workflows/smoketest-darwin.yaml b/.github/workflows/smoketest-darwin.yaml deleted file mode 100644 index 13f328b02988e8..00000000000000 --- a/.github/workflows/smoketest-darwin.yaml +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright (c) 2023 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. - -name: Smoke Test - Darwin - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - darwin: - name: Smoke Run - Darwin - timeout-minutes: 60 - - if: github.actor != 'restyled-io[bot]' - runs-on: macos-latest - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin - - name: Setup Environment - run: brew install python@3.9 - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - name: Build Matter TV Casting Bridge - timeout-minutes: 45 - run: | - xcodebuild -target "MatterTvCastingBridge" -sdk iphoneos - working-directory: examples/tv-casting-app/darwin/MatterTvCastingBridge diff --git a/.github/workflows/spell.yml b/.github/workflows/spell.yml deleted file mode 100644 index 3de0afa566469d..00000000000000 --- a/.github/workflows/spell.yml +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Run misspell - -on: - push: - paths: - - "**.md" - - ".github/.wordlist.txt" - pull_request: - paths: - - "**.md" - - ".github/.wordlist.txt" - -jobs: - check-reviewdog: - name: Check Spelling - reviewdog - runs-on: ubuntu-latest - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - uses: reviewdog/action-misspell@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - check-spellcheck: - name: Check Spelling - pyspelling - runs-on: ubuntu-latest - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - uses: igsekor/pyspelling-any@v1.0.4 diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml deleted file mode 100644 index 2d641bb21a0e53..00000000000000 --- a/.github/workflows/tests.yaml +++ /dev/null @@ -1,623 +0,0 @@ -# Copyright (c) 2020-2021 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. - -name: Tests - -on: - push: - pull_request: - merge_group: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == - 'pull_request' && github.event.number) || (github.event_name == - 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - test_suites_linux: - name: Test Suites - Linux - timeout-minutes: 180 - - strategy: - matrix: - build_variant: [no-ble-tsan-clang] - chip_tool: [""] - env: - BUILD_VARIANT: ${{matrix.build_variant}} - CHIP_TOOL_VARIANT: ${{matrix.chip_tool}} - TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt" - LSAN_OPTIONS: detect_leaks=1 - - if: github.actor != 'restyled-io[bot]' - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build:0.7.3 - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - if: ${{ !env.ACT }} - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - # To use act like: - # act -j test_suites_linux - # - # Note you likely still need to have non submodules setup for the - # local machine, like: - # git submodule deinit --all - - uses: actions/checkout@v3.5.2 - if: ${{ env.ACT }} - name: Checkout (ACT for local build) - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Try to ensure the directories for core dumping exist and we - can write them. - run: | - mkdir /tmp/cores || true - sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Validate that xml are parsable - timeout-minutes: 10 - # The sub-items being run here are the same as the input XMLs listed - # at src/app/zap-templates/zcl/zcl.json - # - # This ensures that the syntax of the XML can always be parsed/validated, however it - # does not enforce that the content is understood (that part is covered by parser - # unit tests) - # - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/py_matter_idl/matter_idl/xml_parser.py \ - --no-print \ - --log-level info \ - src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \ - src/app/zap-templates/zcl/data-model/chip/access-control-definitions.xml \ - src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/account-login-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/administrator-commissioning-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/air-quality-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/application-basic-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/application-launcher-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/audio-output-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/ballast-configuration-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml \ - src/app/zap-templates/zcl/data-model/chip/chip-ota.xml \ - src/app/zap-templates/zcl/data-model/chip/chip-types.xml \ - src/app/zap-templates/zcl/data-model/chip/channel-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/clusters-extensions.xml \ - src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/concentration-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/content-launch-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/descriptor-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/dishwasher-mode-select-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/fault-injection-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/fixed-label-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/flow-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/general-commissioning-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/general-diagnostics-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/global-attributes.xml \ - src/app/zap-templates/zcl/data-model/chip/groups-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/group-key-mgmt-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/identify-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/illuminance-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/keypad-input-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/laundry-washer-mode-select-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/level-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/localization-configuration-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/low-power-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/media-input-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/onoff-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/operational-credentials-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/operational-state-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/pressure-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/power-source-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/power-source-configuration-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/proxy-configuration-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/proxy-discovery-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/proxy-valid-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/pump-configuration-and-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/pwm-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/refrigerator-and-temperature-controlled-cabinet-mode-select-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/refrigerator-alarm.xml \ - src/app/zap-templates/zcl/data-model/chip/relative-humidity-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/rvc-clean-mode-select-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/rvc-run-mode-select-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/scene.xml \ - src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/test-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/thermostat-user-interface-configuration-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/window-covering.xml \ - src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/matter-devices.xml \ - src/app/zap-templates/zcl/data-model/draft/barrier-control-cluster.xml \ - src/app/zap-templates/zcl/data-model/draft/electrical-measurement-cluster.xml \ - src/app/zap-templates/zcl/data-model/draft/input-output-value-clusters.xml \ - src/app/zap-templates/zcl/data-model/draft/onoff-switch-configuration-cluster.xml \ - src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml \ - " - - name: Build Apps - timeout-minutes: 60 - run: | - scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env --include_yamltests' - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT} \ - --target linux-x64-all-clusters-${BUILD_VARIANT} \ - --target linux-x64-lock-${BUILD_VARIANT} \ - --target linux-x64-ota-provider-${BUILD_VARIANT} \ - --target linux-x64-ota-requestor-${BUILD_VARIANT} \ - --target linux-x64-tv-app-${BUILD_VARIANT} \ - --target linux-x64-bridge-${BUILD_VARIANT} \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Run Tests - timeout-minutes: 65 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --chip-tool ./out/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - - name: Run Tests using the python parser sending commands to chip-tool - timeout-minutes: 65 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --runner chip_tool_python \ - --chip-tool ./out/linux-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - - name: Run Tests using chip-repl (skip slow) - timeout-minutes: 45 - if: github.event_name == 'pull_request' - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --runner chip_repl_python \ - --exclude-tags MANUAL \ - --exclude-tags FLAKY \ - --exclude-tags IN_DEVELOPMENT \ - --exclude-tags SLOW \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - name: Run Tests using chip-repl (including slow) - timeout-minutes: 45 - if: github.event_name == 'push' - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --runner chip_repl_python \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/linux-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/linux-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/linux-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/linux-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/linux-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/linux-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: /tmp/cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - - name: Uploading objdir for debugging - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-objdir-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 - - test_suites_darwin: - name: Test Suites - Darwin - timeout-minutes: 180 - - strategy: - matrix: - build_variant: [no-ble-tsan-clang, no-ble-asan-clang] - chip_tool: [""] - env: - BUILD_VARIANT: ${{matrix.build_variant}} - CHIP_TOOL_VARIANT: ${{matrix.chip_tool}} - TSAN_OPTIONS: "halt_on_error=1" - LSAN_OPTIONS: detect_leaks=1 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt - - if: github.actor != 'restyled-io[bot]' - runs-on: macos-latest - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin - - name: Setup Environment - # coreutils for stdbuf - run: brew install coreutils - - name: - Try to ensure the directories for core dumping and diagnostic - log collection exist and we can write them. - run: | - sudo chown ${USER} /cores || true - mkdir -p ~/Library/Logs/DiagnosticReports || true - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Apps - timeout-minutes: 90 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target darwin-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT} \ - --target darwin-x64-all-clusters-${BUILD_VARIANT} \ - --target darwin-x64-lock-${BUILD_VARIANT} \ - --target darwin-x64-ota-provider-${BUILD_VARIANT} \ - --target darwin-x64-ota-requestor-${BUILD_VARIANT} \ - --target darwin-x64-tv-app-${BUILD_VARIANT} \ - --target darwin-x64-bridge-${BUILD_VARIANT} \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Run Tests - timeout-minutes: 80 - if: matrix.build_variant != 'no-ble-tsan-clang' - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --chip-tool ./out/darwin-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \ - --target-skip-glob '{Test_TC_DGTHREAD_2_1,Test_TC_DGTHREAD_2_2,Test_TC_DGTHREAD_2_3,Test_TC_DGTHREAD_2_4}' \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/darwin-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/darwin-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/darwin-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/darwin-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/darwin-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/darwin-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - - name: Run Tests using the python parser sending commands to chip-tool - timeout-minutes: 80 - run: | - ./scripts/run_in_build_env.sh \ - "./scripts/tests/run_test_suite.py \ - --runner chip_tool_python \ - --chip-tool ./out/darwin-x64-chip-tool${CHIP_TOOL_VARIANT}-${BUILD_VARIANT}/chip-tool \ - --target-skip-glob '{Test_TC_DGTHREAD_2_1,Test_TC_DGTHREAD_2_2,Test_TC_DGTHREAD_2_3,Test_TC_DGTHREAD_2_4}' \ - run \ - --iterations 1 \ - --test-timeout-seconds 120 \ - --all-clusters-app ./out/darwin-x64-all-clusters-${BUILD_VARIANT}/chip-all-clusters-app \ - --lock-app ./out/darwin-x64-lock-${BUILD_VARIANT}/chip-lock-app \ - --ota-provider-app ./out/darwin-x64-ota-provider-${BUILD_VARIANT}/chip-ota-provider-app \ - --ota-requestor-app ./out/darwin-x64-ota-requestor-${BUILD_VARIANT}/chip-ota-requestor-app \ - --tv-app ./out/darwin-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \ - --bridge-app ./out/darwin-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \ - " - - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: /cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - - name: Uploading diagnostic logs - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-log-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: ~/Library/Logs/DiagnosticReports/ - - name: Uploading objdir for debugging - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-objdir-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 - - repl_tests_linux: - name: REPL Tests - Linux - timeout-minutes: 130 - - env: - TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt" - - if: github.actor != 'restyled-io[bot]' - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build:0.7.3 - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 - net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0" - - steps: - - name: Checkout - uses: actions/checkout@v3.5.2 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Try to ensure the directories for core dumping exist and we - can write them. - run: | - mkdir /tmp/cores || true - sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Python REPL and example apps - timeout-minutes: 50 - run: | - scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env --extra_packages "mobly"' - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test \ - --target linux-x64-python-bindings \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Run Tests - timeout-minutes: 10 - run: | - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --script-args "--log-level INFO -t 3600 --disable-test ClusterObjectTests.TestTimedRequestTimeout"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_RR_1_1.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_SC_3_6.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_DA_1_7.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --bool-arg allow_sdk_dac:true"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1 --enable-key 000102030405060708090a0b0c0d0e0f" --script "src/python_testing/TC_TestEventTrigger.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --bool-arg allow_sdk_dac:true"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_ACE_1_4.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --int-arg PIXIT.ACE.APPENDPOINT:1 PIXIT.ACE.APPDEVTYPEID:0x0100 --string-arg PIXIT.ACE.APPCLUSTER:OnOff PIXIT.ACE.APPATTRIBUTE:OnOff"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_ACE_1_3.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_CGEN_2_4.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_DA_1_2.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 1234 --KVS kvs1 --trace_decode 1" --script "src/python_testing/TC_DA_1_5.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values"' - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --script "src/python_testing/TestMatterTestingSupport.py"' - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-linux-python-repl - path: /tmp/cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - - name: Uploading objdir for debugging - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-objdir-linux-python-repl - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 - - repl_tests_darwin: - name: REPL Tests - Darwin - timeout-minutes: 120 - - strategy: - matrix: - build_variant: [no-ble-no-wifi-tsan-clang] - env: - BUILD_VARIANT: ${{matrix.build_variant}} - TSAN_OPTIONS: "halt_on_error=1" - - if: github.actor != 'restyled-io[bot]' && false - runs-on: macos-latest - - steps: - - name: Checkout - uses: actions/checkout@v3.5.2 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform darwin - - name: Setup Environment - # coreutils for stdbuf - run: brew install coreutils - - name: - Try to ensure the directories for core dumping and diagnostic - log collection exist and we can write them. - run: | - sudo chown ${USER} /cores || true - mkdir -p ~/Library/Logs/DiagnosticReports || true - mkdir objdir-clone || true - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 25 - run: bash scripts/bootstrap.sh - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }} - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - - name: Build Python REPL and example apps - timeout-minutes: 50 - run: | - scripts/run_in_build_env.sh './scripts/build_python.sh --install_wheel build-env' - ./scripts/run_in_build_env.sh \ - "./scripts/build/build_examples.py \ - --target darwin-x64-all-clusters-${BUILD_VARIANT}-test \ - build \ - --copy-artifacts-to objdir-clone \ - " - - name: Run Tests - timeout-minutes: 30 - run: | - scripts/run_in_build_env.sh './scripts/tests/run_python_test.py --app out/darwin-x64-all-clusters-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --app-args "--discriminator 3840 --interface-id -1" --script-args "-t 3600 --disable-test ClusterObjectTests.TestTimedRequestTimeout"' - - name: Uploading core files - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-core-darwin-python-repl - path: /cores/ - # Cores are big; don't hold on to them too long. - retention-days: 5 - - name: Uploading diagnostic logs - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-log-darwin-python-repl - path: ~/Library/Logs/DiagnosticReports/ - - name: Uploading objdir for debugging - uses: actions/upload-artifact@v3 - if: ${{ failure() && !env.ACT }} - with: - name: crash-objdir-darwin-python-repl - path: objdir-clone/ - # objdirs are big; don't hold on to them too long. - retention-days: 5 diff --git a/.github/workflows/todos.yaml b/.github/workflows/todos.yaml deleted file mode 100644 index f7e82d5f217eca..00000000000000 --- a/.github/workflows/todos.yaml +++ /dev/null @@ -1,44 +0,0 @@ -name: Create issues from To-Dos - -on: - workflow_dispatch: - inputs: - importAll: - default: "false" - required: false - type: boolean - description: Enable, if you want to import all TODOs. Runs on checked out branch! Only use if you're sure what you are doing. -# push: Will move this to a cadence -# branches: -# - master - -permissions: - issues: write - repository-projects: read - contents: read - -jobs: - todos: - name: Scan for To-Dos - runs-on: ubuntu-latest - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Run Issue Bot - uses: derjuulsn/todo-issue@main - with: - # autoAssign: false - reopenClosed: false - # label: "todo" - # disabled until this works: https://github.com/DerJuulsn/todo-issue/issues/9 - keywords: "todo,fixme,bug,TODO,FIXME,BUG" - excludePattern: "^(node_modules/|third_party/|zzz_generated/|docs/|.vscode/)" - env: - GITHUB_TOKEN: ${{ secrets.MATTER_PAT }} diff --git a/.github/workflows/unit_integration_test.yaml b/.github/workflows/unit_integration_test.yaml deleted file mode 100644 index 9a22f6bc0d6d71..00000000000000 --- a/.github/workflows/unit_integration_test.yaml +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright (c) 2020 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. - -name: Unit / Integration Tests - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -jobs: - unit_tests: - name: Unit / Integration Tests - timeout-minutes: 60 - if: github.actor != 'restyled-io[bot]' - - strategy: - matrix: - type: [main, clang, mbedtls, rotating_device_id] - env: - BUILD_TYPE: ${{ matrix.type }} - - runs-on: ubuntu-latest - - container: - image: connectedhomeip/chip-build:0.7.3 - volumes: - - "/tmp/log_output:/tmp/test_logs" - options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - name: Bootstrap - timeout-minutes: 10 - run: | - mkdir -p /tmp/log_output ; - bash scripts/bootstrap.sh ; - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v3 - if: ${{ always() && !env.ACT }} - with: - name: bootstrap-logs - path: | - .environment/gn_out/.ninja_log - .environment/pigweed-venv/*.log - - name: Artifact suffix - id: outsuffix - uses: haya14busa/action-cond@v1 - if: ${{ !env.ACT }} - with: - cond: ${{ github.event.pull_request.number == '' }} - if_true: "${{ github.sha }}" - if_false: "pull-${{ github.event.pull_request.number }}" - - name: Setup Build - # TODO: If rotating_device_id is ever removed/combined, we have to cover boringssl otherwise - run: | - case $BUILD_TYPE in - "main") GN_ARGS='';; - "clang") GN_ARGS='is_clang=true';; - "mbedtls") GN_ARGS='chip_crypto="mbedtls"';; - "rotating_device_id") GN_ARGS='chip_crypto="boringssl" chip_enable_rotating_device_id=true';; - *) ;; - esac - - scripts/build/gn_gen.sh --args="$GN_ARGS" - - name: Run Build - timeout-minutes: 30 - run: scripts/run_in_build_env.sh "ninja -C out/$BUILD_TYPE" - - name: Run Tests - timeout-minutes: 30 - run: scripts/tests/gn_tests.sh - # TODO Log Upload https://github.com/project-chip/connectedhomeip/issues/2227 - # TODO https://github.com/project-chip/connectedhomeip/issues/1512 - # - name: Run Code Coverage - # if: ${{ contains('main', env.BUILD_TYPE) }} - # run: scripts/tools/codecoverage.sh - # - name: Upload Code Coverage - # if: ${{ contains('main', env.BUILD_TYPE) }} - # run: bash <(curl -s https://codecov.io/bash) diff --git a/.github/workflows/zap_regeneration.yaml b/.github/workflows/zap_regeneration.yaml deleted file mode 100644 index f30714c2a6bf65..00000000000000 --- a/.github/workflows/zap_regeneration.yaml +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (c) 2020 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. - -name: ZAP - Regenerate - -on: - workflow_dispatch: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - zap_regeneration: - name: ZAP Regeneration - timeout-minutes: 60 - - runs-on: ubuntu-20.04 - container: - image: connectedhomeip/chip-build:0.7.3 - defaults: - run: - shell: sh - if: github.actor != 'restyled-io[bot]' - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - - name: Generate all - timeout-minutes: 5 - run: ./scripts/run_in_build_env.sh scripts/tools/zap_regen_all.py - - name: Ensure git works in current working directory - run: git config --global --add safe.directory `pwd` - - name: Add uncommitted changes - run: git add . - - name: Fix upstream - run: | - git remote set-url origin https://x-access-token:$COMMITTER_TOKEN@github.com/$GITHUB_REPOSITORY.git - git config --global user.email "$USER_EMAIL" - git config --global user.name "$USER_NAME" - env: - COMMITTER_TOKEN: ${{ secrets.MATTER_PAT }} - USER_EMAIL: ${{ secrets.MATTER_PAT_EMAIL }} - USER_NAME: ${{ secrets.MATTER_PAT_NAME }} - GITHUB_REPOSITORY: ${{ github.GITHUB_REPOSITORY }} - - name: Commit - run: git commit -a -m "Regenerating ZAP" - - name: Push - run: git push diff --git a/.github/workflows/zap_templates.yaml b/.github/workflows/zap_templates.yaml deleted file mode 100644 index 04cb6b8990af72..00000000000000 --- a/.github/workflows/zap_templates.yaml +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright (c) 2020 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. - -name: ZAP - -on: - push: - pull_request: - merge_group: - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.event.number) || (github.event_name == 'workflow_dispatch' && github.run_number) || github.sha }} - cancel-in-progress: true - -env: - CHIP_NO_LOG_TIMESTAMPS: true - # XXX: Workaround for https://github.com/actions/cache/issues/1141 - SEGMENT_DOWNLOAD_TIMEOUT_MINS: 3 - -jobs: - zap_templates: - name: ZAP templates generation - timeout-minutes: 90 - - runs-on: ubuntu-20.04 - container: - image: connectedhomeip/chip-build:0.7.3 - defaults: - run: - shell: sh - if: github.actor != 'restyled-io[bot]' - - steps: - - uses: Wandalen/wretry.action@v1.0.36 - name: Checkout - with: - action: actions/checkout@v3.5.2 - with: | - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - name: Checkout submodules - run: scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux - - - name: Bootstrap cache - uses: actions/cache@v3 - timeout-minutes: 10 - with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni - - name: Bootstrap - timeout-minutes: 10 - run: bash scripts/bootstrap.sh - - - name: Generate all - run: ./scripts/run_in_build_env.sh scripts/tools/zap_regen_all.py - - name: Ensure git works in current working directory - run: git config --global --add safe.directory `pwd` - - name: Check for uncommited changes - run: | - git add . - # Show the full diff - git diff-index -p HEAD -- - # Also show just the files that are different, to make it easy - # to tell at a glance what might be going on. And throw in - # --exit-code to make this job fail if there is a difference. - git diff-index --exit-code HEAD --