| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- # Copyright (c) 2022-2023 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:
- 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:12
- 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: Build example Telink (B91) All Clusters App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-all-clusters' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d all-clusters-app \
- out/telink-tlsr9518adk80d-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: |
- ./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 (B91) Bridge App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-bridge' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d bridge-app \
- out/telink-tlsr9518adk80d-bridge/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B92) Contact Sensor App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9528a-contact-sensor' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9528a contact-sensor-app \
- out/telink-tlsr9528a-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: |
- ./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 (B91) Lighting App with RPC, Shell and Factory Data
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-rpc-shell-factory-data' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d lighting-app-rpc-shell-factory-data \
- out/telink-tlsr9518adk80d-light-rpc-shell-factory-data/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output (keep tools)
- run: rm -rf ./out/telink*
- - name: Build example Telink (B92) Lighting App with RPC, Shell and Factory Data
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9528a-light-rpc-shell-factory-data' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9528a lighting-app-rpc-shell-factory-data \
- out/telink-tlsr9528a-light-rpc-shell-factory-data/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B91) Light Switch App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-light-switch' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d light-switch-app \
- out/telink-tlsr9518adk80d-light-switch/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B92) Lock App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9528a-lock' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9528a lock-app \
- out/telink-tlsr9528a-lock/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B91) OTA Requestor App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-ota-requestor' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d ota-requestor-app \
- out/telink-tlsr9518adk80d-ota-requestor/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B92) Pump App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9528a-pump' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9528a pump-app \
- out/telink-tlsr9528a-pump/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B91) Pump Controller App
- 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) Resource Monitoring App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-resource-monitoring' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d resource-monitoring-app \
- out/telink-tlsr9518adk80d-resource-monitoring/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B91) Shell App
- 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) Smoke CO Alarm App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9528a-smoke-co-alarm' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9528a smoke_co_alarm-app \
- out/telink-tlsr9528a-smoke-co-alarm/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B92) Temperature Measurement App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9528a-temperature-measurement' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9528a temperature-measurement-app \
- out/telink-tlsr9528a-temperature-measurement/zephyr/zephyr.elf \
- /tmp/bloat_reports/
- - name: clean out build output
- run: rm -rf ./out
- - name: Build example Telink (B91) Thermostat App
- 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 (B91) Window Covering App
- run: |
- ./scripts/run_in_build_env.sh \
- "./scripts/build/build_examples.py --target 'telink-tlsr9518adk80d-window-covering' build"
- .environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
- telink tlsr9518adk80d window-covering \
- out/telink-tlsr9518adk80d-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
|