[Fabric-Bridge] Put fabric sync logic into namespace 'bridge' (#36362) #93227
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (c) 2022-2024 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 - Telink | |
on: | |
push: | |
branches: | |
- master | |
- 'v*-branch' | |
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 }} | |
cancel-in-progress: true | |
env: | |
CHIP_NO_LOG_TIMESTAMPS: true | |
jobs: | |
telink: | |
name: Telink | |
env: | |
BUILD_TYPE: telink | |
runs-on: ubuntu-latest | |
if: github.actor != 'restyled-io[bot]' | |
container: | |
image: ghcr.io/project-chip/chip-build-telink:81 | |
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: telink | |
- name: Set up environment for size reports | |
uses: ./.github/actions/setup-size-reports | |
if: ${{ !env.ACT }} | |
with: | |
gh-context: ${{ toJson(github) }} | |
# - name: Update Zephyr to specific revision (for developers purpose) | |
# run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py 3ed7686a9378de6be1368c912f9a42f998bbfb18" | |
- name: Build example Telink (B92 retention) Air Quality Sensor App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9528a_retention-air-quality-sensor' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9528a_retention air-quality-sensor-app \ | |
out/telink-tlsr9528a_retention-air-quality-sensor/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (W91) All Clusters App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
continue-on-error: true | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9118bdk40d-all-clusters' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9118bdk40d all-clusters-app \ | |
out/telink-tlsr9118bdk40d-all-clusters/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B92) All Clusters Minimal App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9528a-all-clusters-minimal' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9528a all-clusters-minimal-app \ | |
out/telink-tlsr9528a-all-clusters-minimal/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B95) Bridge App | |
# Run test for master and all PRs | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9258a-bridge' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9258a bridge-app \ | |
out/telink-tlsr9258a-bridge/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B92 retention) Contact Sensor App | |
# Run test for master and all PRs | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9528a_retention-contact-sensor' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9528a_retention contact-sensor-app \ | |
out/telink-tlsr9528a_retention-contact-sensor/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build tools required for Factory Data | |
# Run test for master and all PRs | |
run: | | |
./scripts/checkout_submodules.py --allow-changing-global-git-config --shallow --platform linux | |
./scripts/build/gn_gen.sh | |
./scripts/run_in_build_env.sh "ninja -C ./out/$BUILD_TYPE chip-cert chip-tool spake2p" | |
mv ./out/$BUILD_TYPE/chip-cert ./out/$BUILD_TYPE/chip-tool ./out/$BUILD_TYPE/spake2p ./out | |
- name: clean out build output (keep tools) | |
run: rm -rf ./out/telink* | |
- name: Build example Telink (W91) Lighting App with OTA, Factory Data | |
# Run test for master and all PRs | |
continue-on-error: true | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9118bdk40d-light-ota-factory-data' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9118bdk40d lighting-app-ota-factory-data \ | |
out/telink-tlsr9118bdk40d-light-ota-factory-data/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output (keep tools) | |
run: rm -rf ./out/telink* | |
- name: Build example Telink (B91) Lighting App with OTA, RPC, Factory Data and 4Mb flash | |
# Run test for master and all PRs | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-ota-rpc-factory-data-4mb' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9518adk80d lighting-app-ota-rpc-factory-data-4mb \ | |
out/telink-tlsr9518adk80d-light-ota-rpc-factory-data-4mb/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output (keep tools) | |
run: rm -rf ./out/telink* | |
- name: Build example Telink (B92) Light Switch App with OTA, Shell, Factory Data | |
# Run test for master and all PRs | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9528a-light-switch-ota-shell-factory-data' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9528a light-switch-app-ota-shell-factory-data \ | |
out/telink-tlsr9528a-light-switch-ota-shell-factory-data/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B92) Lock App with DFU | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9528a-lock-dfu' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9528a lock-app-dfu \ | |
out/telink-tlsr9528a-lock-dfu/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B95) OTA Requestor App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9258a-ota-requestor' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9258a ota-requestor-app \ | |
out/telink-tlsr9258a-ota-requestor/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B91 USB) Pump App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-pump-usb' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9518adk80d pump-app-usb \ | |
out/telink-tlsr9518adk80d-pump-usb/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B91) Pump Controller App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-pump-controller' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9518adk80d pump-controller-app \ | |
out/telink-tlsr9518adk80d-pump-controller/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B91) Shell App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-shell' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9518adk80d shell \ | |
out/telink-tlsr9518adk80d-shell/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B92 retention) Smoke CO Alarm App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9528a_retention-smoke-co-alarm' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9528a_retention smoke_co_alarm-app \ | |
out/telink-tlsr9528a_retention-smoke-co-alarm/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B91 Mars) Temperature Measurement App with OTA | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-temperature-measurement-mars-ota' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9518adk80d temperature-measurement-app-mars-ota \ | |
out/telink-tlsr9518adk80d-temperature-measurement-mars-ota/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (B91) Thermostat App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-thermostat' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9518adk80d thermostat \ | |
out/telink-tlsr9518adk80d-thermostat/zephyr/zephyr.elf \ | |
/tmp/bloat_reports/ | |
- name: clean out build output | |
run: rm -rf ./out | |
- name: Build example Telink (W91) Window Covering App | |
# Run test for master and s07641069 PRs | |
if: github.event.pull_request.number == null || github.event.pull_request.head.repo.full_name == 's07641069/connectedhomeip' | |
continue-on-error: true | |
run: | | |
./scripts/run_in_build_env.sh \ | |
"./scripts/build/build_examples.py --target 'telink-tlsr9118bdk40d-window-covering' build" | |
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \ | |
telink tlsr9118bdk40d window-covering \ | |
out/telink-tlsr9118bdk40d-window-covering/zephyr/zephyr.elf \ | |
/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: Telink |