# 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: branches-ignore: - 'dependabot/**' 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 jobs: bouffalolab: name: Bouffalo Lab runs-on: ubuntu-latest if: github.actor != 'restyled-io[bot]' container: image: ghcr.io/project-chip/chip-build-bouffalolab:53 volumes: - "/tmp/bloat_reports:/tmp/bloat_reports" steps: - name: Checkout uses: actions/checkout@v4 - name: Checkout submodules & Bootstrap uses: ./.github/actions/checkout-submodules-and-bootstrap with: platform: bouffalolab extra-submodule-parameters: " --recursive" - name: Set up environment for size reports uses: ./.github/actions/setup-size-reports if: ${{ !env.ACT }} with: gh-context: ${{ toJson(github) }} - name: Build example BL602 Lighting App run: | ./scripts/run_in_build_env.sh \ "./scripts/build/build_examples.py \ --target bouffalolab-bl602-night-light-light \ --target bouffalolab-bl602-night-light-light-mfd \ --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-night-light-light/chip-bl602-lighting-example.out \ /tmp/bloat_reports/ .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ bl602 bl602+mfd lighting-app \ out/artifacts/bouffalolab-bl602-night-light-light-mfd/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 run: | ./scripts/run_in_build_env.sh \ "./scripts/build/build_examples.py \ --target bouffalolab-bl706-night-light-light \ --target bouffalolab-bl706-night-light-light-mfd \ --target bouffalolab-bl706dk-light-ethernet \ --target bouffalolab-bl706dk-light-wifi-fp \ --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-bl706-night-light-light/chip-bl702-lighting-example.out \ /tmp/bloat_reports/ .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ bl702 bl702+mfd lighting-app \ out/artifacts/bouffalolab-bl706-night-light-light-mfd/chip-bl702-lighting-example.out \ /tmp/bloat_reports/ .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ bl702 bl706-eth lighting-app \ out/artifacts/bouffalolab-bl706dk-light-ethernet/chip-bl702-lighting-example.out \ /tmp/bloat_reports/ .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ bl702 bl706-wifi lighting-app \ out/artifacts/bouffalolab-bl706dk-light-wifi-fp/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: Build example BL702L Lighting App timeout-minutes: 30 run: | ./scripts/run_in_build_env.sh \ "./scripts/build/build_examples.py \ --target bouffalolab-bl704ldk-light \ --target bouffalolab-bl704ldk-light-mfd \ 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 \ bl702l bl702l lighting-app \ out/artifacts/bouffalolab-bl704ldk-light/chip-bl702l-lighting-example.out \ /tmp/bloat_reports/ .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ bl702l bl702l+mfd lighting-app \ out/artifacts/bouffalolab-bl704ldk-light-mfd/chip-bl702l-lighting-example.out \ /tmp/bloat_reports/ - name: Clean out build output run: rm -rf ./out - name: Uploading Size Reports uses: ./.github/actions/upload-size-reports if: ${{ !env.ACT }} with: platform-name: BouffaloLab