From 9f7dc8181d733da91e951b78d65864e39f9c3f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20Kr=C3=B3lik?= <66667989+Damian-Nordic@users.noreply.github.com> Date: Wed, 9 Mar 2022 17:52:14 +0100 Subject: [PATCH] Fix mbed build on master (#16010) * Revert "CI split between master (full) and PR (smoke) for MbedOS (#15587)" This reverts commit bfa2e6b71513f2f49ab4dc21a9389c9d575befc6. * Skip mbed build steps depending on modified paths * Fix build --- .../{full-mbed.yaml => examples-mbed.yaml} | 25 +++++- .github/workflows/smoketest-mbed.yaml | 82 ------------------- .../platform/mbed/util/include/DFUManager.h | 1 + 3 files changed, 22 insertions(+), 86 deletions(-) rename .github/workflows/{full-mbed.yaml => examples-mbed.yaml} (83%) delete mode 100644 .github/workflows/smoketest-mbed.yaml diff --git a/.github/workflows/full-mbed.yaml b/.github/workflows/examples-mbed.yaml similarity index 83% rename from .github/workflows/full-mbed.yaml rename to .github/workflows/examples-mbed.yaml index d6b723d69f7a1d..27a5a8f34fe54f 100644 --- a/.github/workflows/full-mbed.yaml +++ b/.github/workflows/examples-mbed.yaml @@ -12,22 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Full builds - Mbed OS +name: Build example - Mbed OS on: push: + pull_request: 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 }} + 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: mbedos: - name: Run + name: Mbed OS examples building timeout-minutes: 200 env: + BUILD_TYPE: mbedos APP_PROFILE: release APP_TARGET: CY8CPROTO_062_4343W @@ -50,6 +52,16 @@ jobs: attempt_limit: 3 attempt_delay: 2000 + - 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: @@ -79,6 +91,7 @@ jobs: /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 @@ -88,6 +101,7 @@ jobs: /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 @@ -97,6 +111,7 @@ jobs: /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 @@ -106,6 +121,7 @@ jobs: /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 @@ -115,6 +131,7 @@ jobs: /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 @@ -122,7 +139,7 @@ jobs: 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 diff --git a/.github/workflows/smoketest-mbed.yaml b/.github/workflows/smoketest-mbed.yaml deleted file mode 100644 index 70f359e0f1a869..00000000000000 --- a/.github/workflows/smoketest-mbed.yaml +++ /dev/null @@ -1,82 +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: Smoke test - Mbed OS - -on: - pull_request: - 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 - -jobs: - mbedos: - name: Smoke Run - MbedOS - timeout-minutes: 30 - runs-on: ubuntu-latest - if: github.actor != 'restyled-io[bot]' - - container: - image: connectedhomeip/chip-build-mbed-os:0.5.56 - volumes: - - "/tmp/bloat_reports:/tmp/bloat_reports" - - steps: - - uses: Wandalen/wretry.action@v1.0.11 - name: Checkout - with: - action: actions/checkout@v3 - with: | - submodules: true - token: ${{ github.token }} - attempt_limit: 3 - attempt_delay: 2000 - - - 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 - timeout-minutes: 10 - run: scripts/build/gn_bootstrap.sh - - - name: Uploading bootstrap logs - uses: actions/upload-artifact@v2 - 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=CY8CPROTO_062_4343W -p=release - .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ - mbed CY8CPROTO_062_4343W+release lock-app \ - examples/lock-app/mbed/build-CY8CPROTO_062_4343W/release/chip-mbed-lock-app-example.elf \ - /tmp/bloat_reports/ - - - name: Uploading Size Reports - uses: actions/upload-artifact@v2 - 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/examples/platform/mbed/util/include/DFUManager.h b/examples/platform/mbed/util/include/DFUManager.h index 5833c59739e39e..07a8d6b64f8501 100644 --- a/examples/platform/mbed/util/include/DFUManager.h +++ b/examples/platform/mbed/util/include/DFUManager.h @@ -28,6 +28,7 @@ #ifdef CHIP_OTA_REQUESTOR #include +#include #include #include #include