From bd49aa36e326d90ae35ee5ca3427f317da86a4fd Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Fri, 25 Feb 2022 17:56:59 -0500 Subject: [PATCH] CI split between master (full) and PR (smoke) for MbedOS (#15587) * Split mbed examples into smoke test and full test * Update naming * Update smoke test to 0.5.56 --- .../{examples-mbed.yaml => full-mbed.yaml} | 10 +-- .github/workflows/smoketest-mbed.yaml | 77 +++++++++++++++++++ 2 files changed, 81 insertions(+), 6 deletions(-) rename .github/workflows/{examples-mbed.yaml => full-mbed.yaml} (94%) create mode 100644 .github/workflows/smoketest-mbed.yaml diff --git a/.github/workflows/examples-mbed.yaml b/.github/workflows/full-mbed.yaml similarity index 94% rename from .github/workflows/examples-mbed.yaml rename to .github/workflows/full-mbed.yaml index 6e6477364936dd..45b154eeb2e93a 100644 --- a/.github/workflows/examples-mbed.yaml +++ b/.github/workflows/full-mbed.yaml @@ -12,24 +12,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: Build example - Mbed OS +name: Full builds - Mbed OS on: push: - pull_request: 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 }} + 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 jobs: mbedos: - name: Mbed OS examples building + name: Run timeout-minutes: 200 env: - BUILD_TYPE: mbedos APP_PROFILE: release APP_TARGET: CY8CPROTO_062_4343W @@ -119,7 +117,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 timeout-minutes: 20 run: scripts/tests/mbed/mbed_unit_tests.sh -b=$APP_TARGET -p=$APP_PROFILE diff --git a/.github/workflows/smoketest-mbed.yaml b/.github/workflows/smoketest-mbed.yaml new file mode 100644 index 00000000000000..d5df405dc1ad31 --- /dev/null +++ b/.github/workflows/smoketest-mbed.yaml @@ -0,0 +1,77 @@ +# 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: Run + 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: + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: true + + - 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/