diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml index e763b0429c605a..aa231f651a60fa 100644 --- a/.github/workflows/android.yaml +++ b/.github/workflows/android.yaml @@ -21,6 +21,8 @@ on: jobs: android: name: Build Android + timeout-minutes: 60 + strategy: matrix: type: [arm, arm64, x64] @@ -44,11 +46,14 @@ jobs: with: submodules: true - name: Bootstrap + timeout-minutes: 3 run: scripts/build/gn_bootstrap.sh - name: Build libs + timeout-minutes: 2 run: | ./scripts/examples/android_app.sh - name: Build App + timeout-minutes: 5 run: | yes | "$ANDROID_HOME"/tools/bin/sdkmanager --licenses cd src/android/CHIPTool diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 498af0787fde0c..c20255015843ae 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,6 +21,7 @@ on: jobs: build: name: Build + timeout-minutes: 60 strategy: matrix: @@ -50,6 +51,7 @@ jobs: languages: "cpp" - name: Bootstrap + timeout-minutes: 3 run: scripts/build/gn_bootstrap.sh - name: Setup Build run: | @@ -64,8 +66,10 @@ jobs: scripts/build/gn_gen.sh --args="$GN_ARGS" - name: Run Build + timeout-minutes: 10 run: scripts/build/gn_build.sh - name: Run Tests + timeout-minutes: 2 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 diff --git a/.github/workflows/cirque.yaml b/.github/workflows/cirque.yaml index 6401e8b4972aec..7775d932fc4f26 100644 --- a/.github/workflows/cirque.yaml +++ b/.github/workflows/cirque.yaml @@ -19,7 +19,8 @@ on: workflow_dispatch jobs: cirque: name: Cirque - + timeout-minutes: 60 + env: DOCKER_RUN_VERSION: 0.4.21 GITHUB_CACHE_PATH: /tmp/cirque-cache/ @@ -58,6 +59,7 @@ jobs: key: ${{ runner.os }}-cirque-${{ steps.cirque-key.outputs.val }} - name: Bootstrap + timeout-minutes: 10 run: | integrations/docker/images/chip-build-cirque/run.sh \ --env GITHUB_ACTION_RUN=1 \ @@ -72,6 +74,7 @@ jobs: if_true: "${{ github.sha }}" if_false: "pull-${{ github.event.pull_request.number }}" - name: Run Tests + timeout-minutes: 15 run: | integrations/docker/images/chip-build-cirque/run.sh \ --env LOG_DIR=/tmp/cirque_test_output \ diff --git a/.github/workflows/darwin.yaml b/.github/workflows/darwin.yaml index aaee7d62ee2181..e75519cfbbd50c 100644 --- a/.github/workflows/darwin.yaml +++ b/.github/workflows/darwin.yaml @@ -19,8 +19,9 @@ on: pull_request: jobs: - darwin_build: - name: Build + darwin: + name: Build Darwin + timeout-minutes: 60 runs-on: macos-latest @@ -40,12 +41,14 @@ jobs: OPEN_SSL_VERSION=`ls -la /usr/local/Cellar/openssl@1.1 | cat | tail -n1 | awk '{print $NF}'` ln -s /usr/local/Cellar/openssl@1.1/$OPEN_SSL_VERSION/lib/pkgconfig/* . - name: Run iOS Build + timeout-minutes: 5 working-directory: src/darwin/Framework run: xcodebuild -target "CHIP" -sdk iphoneos - name: Clean Build run: xcodebuild clean working-directory: src/darwin/Framework - name: Run macOS Build + timeout-minutes: 5 # 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}. @@ -68,11 +71,14 @@ jobs: run: xcodebuild clean working-directory: src/darwin/Framework - name: Bootstrap + timeout-minutes: 3 run: scripts/build/gn_bootstrap.sh - name: Run Build Test Server + timeout-minutes: 5 run: | scripts/examples/gn_build_example.sh examples/all-clusters-app/linux out/debug chip_config_network_layer_ble=false - name: Run Tests + timeout-minutes: 5 run: | ../../../out/debug/chip-all-clusters-app & xcodebuild test -target "CHIP" -scheme "CHIP Framework Tests" -sdk macosx diff --git a/.github/workflows/doxygen.yaml b/.github/workflows/doxygen.yaml index a8e7136dd74be4..1ef097fbcdd156 100644 --- a/.github/workflows/doxygen.yaml +++ b/.github/workflows/doxygen.yaml @@ -22,6 +22,8 @@ on: jobs: doxygen: name: Build Doxygen + timeout-minutes: 5 + runs-on: ubuntu-20.04 if: github.actor != 'restyled-io[bot]' diff --git a/.github/workflows/examples-efr32.yaml b/.github/workflows/examples-efr32.yaml index b6e249c43701c6..ae40d98ad1a930 100644 --- a/.github/workflows/examples-efr32.yaml +++ b/.github/workflows/examples-efr32.yaml @@ -21,6 +21,8 @@ on: jobs: efr32: name: EFR32 + timeout-minutes: 60 + env: EFR32_BOARD: BRD4161A BUILD_TYPE: gn_efr32 @@ -45,19 +47,23 @@ jobs: # with: # languages: "cpp, python" - name: Build example EFR32 Lock App for BRD4161A + timeout-minutes: 5 run: scripts/examples/gn_efr32_example.sh examples/lock-app/efr32/ out/lock_app_debug BRD4161A - name: Build example EFR32 Lighting App for BRD4161A + timeout-minutes: 5 run: scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/lighting_app_debug BRD4161A - name: Build example EFR32 Lighting App for BRD4161A with RPCs + timeout-minutes: 5 run: scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/lighting_app_debug_rpc BRD4161A -args='import("//with_pw_rpc.gni")' - name: Build example EFR32 Window Covering for BRD4161A + timeout-minutes: 5 run: scripts/examples/gn_efr32_example.sh examples/window-app/efr32/ out/window_app_debug BRD4161A diff --git a/.github/workflows/examples-esp32.yaml b/.github/workflows/examples-esp32.yaml index 5932570682a821..3aa2d72296eda7 100644 --- a/.github/workflows/examples-esp32.yaml +++ b/.github/workflows/examples-esp32.yaml @@ -22,6 +22,7 @@ jobs: # TODO ESP32 https://github.com/project-chip/connectedhomeip/issues/1510 esp32: name: ESP32 + timeout-minutes: 60 env: BUILD_TYPE: esp32 @@ -47,6 +48,7 @@ jobs: # with: # languages: "cpp, python" - name: Build example All Clusters App + timeout-minutes: 15 run: scripts/examples/esp_example.sh all-clusters-app - name: Copy aside build products run: | @@ -54,6 +56,7 @@ jobs: cp examples/all-clusters-app/esp32/build/chip-all-clusters-app.elf \ example_binaries/$BUILD_TYPE-build/chip-all-clusters-app.elf - name: Build example Pigweed App + timeout-minutes: 5 run: scripts/examples/esp_example.sh pigweed-app - name: Copy aside build products run: | diff --git a/.github/workflows/examples-k32w.yaml b/.github/workflows/examples-k32w.yaml index aec8f8a9ef2c47..a011afd89e6e20 100644 --- a/.github/workflows/examples-k32w.yaml +++ b/.github/workflows/examples-k32w.yaml @@ -21,6 +21,8 @@ on: jobs: k32w: name: K32W + timeout-minutes: 60 + env: BUILD_TYPE: gn_k32w @@ -45,9 +47,11 @@ jobs: # languages: "cpp" # queries: +security-and-quality - name: Build example K32W Lock App + timeout-minutes: 5 run: scripts/examples/k32w_example.sh examples/lock-app/k32w out/lock_app_debug - name: Build example K32W Lighting App + timeout-minutes: 5 run: scripts/examples/k32w_example.sh examples/lighting-app/k32w out/lighting_app_debug - name: Binary artifact suffix diff --git a/.github/workflows/examples-linux-standalone.yaml b/.github/workflows/examples-linux-standalone.yaml index 0e69275f7c93a5..5d5a872e397773 100644 --- a/.github/workflows/examples-linux-standalone.yaml +++ b/.github/workflows/examples-linux-standalone.yaml @@ -21,6 +21,7 @@ on: jobs: linux_standalone: name: Linux Standalone + timeout-minutes: 60 env: BUILD_TYPE: gn_linux @@ -46,24 +47,30 @@ jobs: # with: # languages: "cpp, python" - name: Bootstrap + timeout-minutes: 3 run: scripts/build/gn_bootstrap.sh - name: Build example Standalone Echo Client + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/chip-tool out/chip_tool_debug - name: Build example Standalone Shell + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/shell/standalone out/shell_debug - name: Build example Standalone All Clusters Server + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/all-clusters-app/linux out/all_clusters_debug chip_bypass_rendezvous=true - name: Build example lighting app with RPCs + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/lighting-app/linux out/lighting_app_debug_rpc 'import("//with_pw_rpc.gni")' - name: Build example Standalone Bridge + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/bridge-app/linux out/bridge_debug - name: Binary artifact suffix diff --git a/.github/workflows/examples-nrfconnect.yaml b/.github/workflows/examples-nrfconnect.yaml index eac957f3980ab5..1ff88039766509 100644 --- a/.github/workflows/examples-nrfconnect.yaml +++ b/.github/workflows/examples-nrfconnect.yaml @@ -21,6 +21,8 @@ on: jobs: nrfconnect: name: nRF Connect SDK + timeout-minutes: 60 + env: BUILD_TYPE: nrfconnect @@ -41,6 +43,7 @@ jobs: fetch-depth: 0 submodules: true - name: Update nRF Connect SDK revision to the currently recommended. + timeout-minutes: 5 run: scripts/run_in_build_env.sh "python3 scripts/setup/nrfconnect/update_ncs.py --update" # https://github.com/project-chip/connectedhomeip/issues/3100 # - name: Initialize CodeQL @@ -49,22 +52,31 @@ jobs: # languages: "cpp, python" # queries: +security-and-quality - name: Build example nRF Connect SDK Lock App on nRF52840 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh lock-app nrf52840dk_nrf52840 - name: Build example nRF Connect SDK Lighting App on nRF52840 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh lighting-app nrf52840dk_nrf52840 - name: Build example nRF Connect SDK Lighting App on nRF52840 DK with RPC + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh lighting-app nrf52840dk_nrf52840 -DOVERLAY_CONFIG=rpc.overlay - name: Build example nRF Connect SDK Shell on nRF52840 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh shell nrf52840dk_nrf52840 - name: Build example nRF Connect SDK Pigweed on nRF52840 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh pigweed-app nrf52840dk_nrf52840 - name: Build example nRF Connect SDK Lock App on nRF5340 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh lock-app nrf5340dk_nrf5340_cpuapp - name: Build example nRF Connect SDK Lighting App on nRF5340 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh lighting-app nrf5340dk_nrf5340_cpuapp - name: Build example nRF Connect SDK Shell on nRF5340 DK + timeout-minutes: 5 run: scripts/examples/nrfconnect_example.sh shell nrf5340dk_nrf5340_cpuapp - name: Run unit tests for Zephyr native_posix_64 platform + timeout-minutes: 5 run: scripts/run_in_build_env.sh "scripts/tests/nrfconnect_native_posix_tests.sh native_posix_64" - name: Copy aside build products diff --git a/.github/workflows/examples-qpg6100.yaml b/.github/workflows/examples-qpg6100.yaml index 7986922162841a..862f5c8e06dfdf 100644 --- a/.github/workflows/examples-qpg6100.yaml +++ b/.github/workflows/examples-qpg6100.yaml @@ -21,6 +21,8 @@ on: jobs: qpg6100: name: QPG6100 + timeout-minutes: 60 + env: BUILD_TYPE: gn_qpg6100 @@ -44,9 +46,11 @@ jobs: # with: # languages: "cpp" - name: Build example QPG6100 Lock App + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/lock-app/qpg6100 out/lock_app_debug - name: Build example QPG6100 Lighting App + timeout-minutes: 5 run: scripts/examples/gn_build_example.sh examples/lighting-app/qpg6100 out/lighting_app_debug - name: Binary artifact suffix diff --git a/.github/workflows/qemu.yaml b/.github/workflows/qemu.yaml index 46127ae0ceb2a6..d28abde1c08769 100644 --- a/.github/workflows/qemu.yaml +++ b/.github/workflows/qemu.yaml @@ -21,6 +21,7 @@ on: jobs: qemu: name: ESP32 + timeout-minutes: 60 env: BUILD_TYPE: esp32-qemu @@ -39,8 +40,10 @@ jobs: with: submodules: true - name: Build example All Clusters App + timeout-minutes: 15 run: scripts/examples/esp_example.sh all-clusters-app - name: Build ESP32 QEMU and Run Tests + timeout-minutes: 15 run: scripts/tests/esp32_qemu_tests.sh /tmp/test_logs - name: Uploading Logs uses: actions/upload-artifact@v1 diff --git a/.github/workflows/unit_integration_test.yaml b/.github/workflows/unit_integration_test.yaml index 8b6316e23beff2..acdba51c592b69 100644 --- a/.github/workflows/unit_integration_test.yaml +++ b/.github/workflows/unit_integration_test.yaml @@ -21,6 +21,8 @@ on: jobs: unit_tests: name: Unit / Interation Tests + timeout-minutes: 60 + if: github.actor != 'restyled-io[bot]' strategy: @@ -45,6 +47,7 @@ jobs: with: submodules: true - name: Bootstrap + timeout-minutes: 3 run: | mkdir -p /tmp/happy_test_logs ; mkdir -p /tmp/log_output ; @@ -69,8 +72,10 @@ jobs: scripts/build/gn_gen.sh --args="$GN_ARGS chip_enable_happy_tests=true" - name: Run Build + timeout-minutes: 5 run: scripts/build/gn_build.sh - name: Run Tests + timeout-minutes: 5 run: RUN_HAPPY_TESTS=1 scripts/tests/gn_tests.sh - name: Uploading Happy Test Log uses: actions/upload-artifact@v1 diff --git a/.github/workflows/zap_templates.yaml b/.github/workflows/zap_templates.yaml index 1dc89e956b67ed..19b266cd62c339 100644 --- a/.github/workflows/zap_templates.yaml +++ b/.github/workflows/zap_templates.yaml @@ -21,6 +21,7 @@ on: jobs: zap_templates: name: ZAP templates generation + timeout-minutes: 60 runs-on: ubuntu-18.04 if: github.actor != 'restyled-io[bot]' @@ -38,6 +39,7 @@ jobs: - run: sudo apt-get update - run: sudo apt-get install --fix-missing libpixman-1-dev libcairo-dev libsdl-pango-dev libjpeg-dev libgif-dev - name: Setup ZAP + timeout-minutes: 5 run: | cd third_party/zap/repo/ npm ci @@ -45,6 +47,7 @@ jobs: npm rebuild canvas --update-binary npm run build-spa - name: Generate all + timeout-minutes: 5 run: scripts/tools/zap_regen_all.py - name: Check for uncommited changes run: |