diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 49e7e515b00b19..340984b3f6e1be 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -17,6 +17,7 @@ name: Builds on: push: pull_request: + merge_group: workflow_dispatch: concurrency: @@ -27,7 +28,6 @@ env: CHIP_NO_LOG_TIMESTAMPS: true jobs: - build_linux_gcc_debug: name: Build on Linux (gcc_debug) timeout-minutes: 85 @@ -221,18 +221,18 @@ jobs: 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 + 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: | @@ -370,9 +370,9 @@ jobs: - 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' + 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) diff --git a/.github/workflows/chef.yaml b/.github/workflows/chef.yaml index fd5e1a9a7abfb6..91d331e24cc941 100644 --- a/.github/workflows/chef.yaml +++ b/.github/workflows/chef.yaml @@ -17,6 +17,7 @@ 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 }} @@ -126,4 +127,4 @@ jobs: - name: CI Examples NRFConnect shell: bash run: | - ./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t nrfconnect" + ./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t nrfconnect" diff --git a/.github/workflows/cirque.yaml b/.github/workflows/cirque.yaml index ec999e2170b7e8..b758c4beb38a18 100644 --- a/.github/workflows/cirque.yaml +++ b/.github/workflows/cirque.yaml @@ -17,6 +17,7 @@ name: Cirque on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/darwin-tests.yaml b/.github/workflows/darwin-tests.yaml index 0861d0bc54185a..9db5102570a1cb 100644 --- a/.github/workflows/darwin-tests.yaml +++ b/.github/workflows/darwin-tests.yaml @@ -17,6 +17,7 @@ name: Darwin Tests on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/darwin.yaml b/.github/workflows/darwin.yaml index 76f728d3a99bb1..645ba8f7ff6082 100644 --- a/.github/workflows/darwin.yaml +++ b/.github/workflows/darwin.yaml @@ -17,6 +17,7 @@ name: Darwin on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/examples-ameba.yaml b/.github/workflows/examples-ameba.yaml index 093bf386b627e7..90882d391b2c24 100644 --- a/.github/workflows/examples-ameba.yaml +++ b/.github/workflows/examples-ameba.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-bouffalolab.yaml b/.github/workflows/examples-bouffalolab.yaml index d1d6d618bd9dba..5f967cd9598408 100644 --- a/.github/workflows/examples-bouffalolab.yaml +++ b/.github/workflows/examples-bouffalolab.yaml @@ -17,6 +17,7 @@ name: Build example - BouffaloLab on: push: pull_request: + merge_group: workflow_dispatch: concurrency: @@ -59,10 +60,10 @@ jobs: - name: Bootstrap cache uses: actions/cache@v3 with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni + key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} + path: | + .environment + build_overrides/pigweed_environment.gni - name: Bootstrap timeout-minutes: 25 run: scripts/build/gn_bootstrap.sh diff --git a/.github/workflows/examples-cc13x2x7_26x2x7.yaml b/.github/workflows/examples-cc13x2x7_26x2x7.yaml index 3c73dadc17dd1c..ae8fb5a7673ae9 100644 --- a/.github/workflows/examples-cc13x2x7_26x2x7.yaml +++ b/.github/workflows/examples-cc13x2x7_26x2x7.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-cc32xx.yaml b/.github/workflows/examples-cc32xx.yaml index ffd01cc97713f1..b7f31f715a2889 100644 --- a/.github/workflows/examples-cc32xx.yaml +++ b/.github/workflows/examples-cc32xx.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml index e9dc5647bc6241..2d790d42015d3e 100644 --- a/.github/workflows/examples-efr32.yaml +++ b/.github/workflows/examples-efr32.yaml @@ -17,6 +17,7 @@ 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 }} @@ -65,10 +66,10 @@ jobs: - name: Bootstrap cache uses: actions/cache@v3 with: - key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} - path: | - .environment - build_overrides/pigweed_environment.gni + key: ${{ runner.os }}-env-${{ hashFiles('scripts/setup/*', 'third_party/pigweed/**') }} + path: | + .environment + build_overrides/pigweed_environment.gni - name: Bootstrap timeout-minutes: 25 run: scripts/build/gn_bootstrap.sh diff --git a/.github/workflows/examples-esp32.yaml b/.github/workflows/examples-esp32.yaml index a265b7daa543e3..52e7d89f8bd6c4 100644 --- a/.github/workflows/examples-esp32.yaml +++ b/.github/workflows/examples-esp32.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-infineon.yaml b/.github/workflows/examples-infineon.yaml index cab3b162beec71..9594911faf0d36 100644 --- a/.github/workflows/examples-infineon.yaml +++ b/.github/workflows/examples-infineon.yaml @@ -17,6 +17,7 @@ name: Build example - Infineon on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/examples-k32w.yaml b/.github/workflows/examples-k32w.yaml index 8781b1a874d55d..d4ae15ad3cfbac 100644 --- a/.github/workflows/examples-k32w.yaml +++ b/.github/workflows/examples-k32w.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-linux-arm.yaml b/.github/workflows/examples-linux-arm.yaml index eb85b7d57cdfa2..667a46374ba7b0 100644 --- a/.github/workflows/examples-linux-arm.yaml +++ b/.github/workflows/examples-linux-arm.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-linux-imx.yaml b/.github/workflows/examples-linux-imx.yaml index 9936e100a584d0..e16fea4460c0a8 100644 --- a/.github/workflows/examples-linux-imx.yaml +++ b/.github/workflows/examples-linux-imx.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml index 543c1c804953ee..d4e1a18a925755 100644 --- a/.github/workflows/examples-linux-standalone.yaml +++ b/.github/workflows/examples-linux-standalone.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-mbed.yaml b/.github/workflows/examples-mbed.yaml index f4b311ddf844bf..bae9b976434e18 100644 --- a/.github/workflows/examples-mbed.yaml +++ b/.github/workflows/examples-mbed.yaml @@ -17,6 +17,7 @@ name: Build example - Mbed OS on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/examples-mw320.yaml b/.github/workflows/examples-mw320.yaml index 2a1416a0d34f79..1b1fe8ad199ac8 100755 --- a/.github/workflows/examples-mw320.yaml +++ b/.github/workflows/examples-mw320.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-nrfconnect.yaml b/.github/workflows/examples-nrfconnect.yaml index 2b34283f698e14..bbd3b007eefe73 100644 --- a/.github/workflows/examples-nrfconnect.yaml +++ b/.github/workflows/examples-nrfconnect.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-openiotsdk.yaml b/.github/workflows/examples-openiotsdk.yaml index 646cb280983dd0..21bacd1881c958 100644 --- a/.github/workflows/examples-openiotsdk.yaml +++ b/.github/workflows/examples-openiotsdk.yaml @@ -17,6 +17,7 @@ name: Build example - Open IoT SDK on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/examples-qpg.yaml b/.github/workflows/examples-qpg.yaml index e4c5d536f81884..7eb25912d80098 100644 --- a/.github/workflows/examples-qpg.yaml +++ b/.github/workflows/examples-qpg.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-telink.yaml b/.github/workflows/examples-telink.yaml index e8a8723b6759f6..d462f539b25dcf 100644 --- a/.github/workflows/examples-telink.yaml +++ b/.github/workflows/examples-telink.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/examples-tizen.yaml b/.github/workflows/examples-tizen.yaml index 886670662d397f..f075eb605d6fd1 100644 --- a/.github/workflows/examples-tizen.yaml +++ b/.github/workflows/examples-tizen.yaml @@ -17,6 +17,7 @@ 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 }} @@ -63,14 +64,14 @@ jobs: - 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 \ - " + ./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/lint.yml b/.github/workflows/lint.yml index 103262f917236f..2cf3c61a1efa63 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -16,6 +16,7 @@ name: Lint Code Base on: push: pull_request: + merge_group: workflow_dispatch: concurrency: @@ -68,51 +69,51 @@ jobs: - 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/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter' ]; then continue; fi - if [ "$idl_file" = './examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.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 + 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/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter' ]; then continue; fi + if [ "$idl_file" = './examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.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 diff --git a/.github/workflows/qemu.yaml b/.github/workflows/qemu.yaml index f9e5be4bba2e63..aa6fa207572426 100644 --- a/.github/workflows/qemu.yaml +++ b/.github/workflows/qemu.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/smoketest-android.yaml b/.github/workflows/smoketest-android.yaml index bdc5255bf0f651..72db641b8e7a08 100644 --- a/.github/workflows/smoketest-android.yaml +++ b/.github/workflows/smoketest-android.yaml @@ -16,6 +16,7 @@ name: Smoke test - Android on: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 4b2205f33e1e5a..ae86fe217ee5cf 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -17,6 +17,7 @@ name: Tests on: push: pull_request: + merge_group: workflow_dispatch: concurrency: diff --git a/.github/workflows/unit_integration_test.yaml b/.github/workflows/unit_integration_test.yaml index d01552761f847e..2447a656c84400 100644 --- a/.github/workflows/unit_integration_test.yaml +++ b/.github/workflows/unit_integration_test.yaml @@ -17,6 +17,7 @@ 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 }} diff --git a/.github/workflows/zap_templates.yaml b/.github/workflows/zap_templates.yaml index 2cba44480285cf..992fa98c4c1da2 100644 --- a/.github/workflows/zap_templates.yaml +++ b/.github/workflows/zap_templates.yaml @@ -17,6 +17,7 @@ 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 }}