blob: 77487fc32f81c9012c9a7122c6ba3cdd8afa9ee9 [file] [log] [blame]
# Copyright (c) 2021-2025 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: Chef CI
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:
chef_linux_all_devices:
name: Chef - Linux CI Examples (All chef devices)
timeout-minutes: 120
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
image: ghcr.io/project-chip/chip-build:153
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: linux
- name: CI Examples Linux
shell: bash
run: |
./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci_linux"
chef_device_functional_test:
name: Chef - Device functional tests (Linux)
if: github.actor != 'restyled-io[bot]'
timeout-minutes: 90
runs-on: ubuntu-latest
container:
image: ghcr.io/project-chip/chip-build:153
options: >-
--privileged
--sysctl net.ipv6.conf.all.disable_ipv6=0
--sysctl net.ipv4.conf.all.forwarding=0
--sysctl net.ipv6.conf.all.forwarding=0
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: linux
- name: Try to ensure the directories for core dumping exist and we
can write them.
run: |
mkdir /tmp/cores || true
sysctl -w kernel.core_pattern=/tmp/cores/core.%u.%p.%t || true
mkdir objdir-clone || true
- name: Set up a IPV6 known envionment
uses: ./.github/actions/add-ipv6
- name: Build python env
run: scripts/run_in_build_env.sh './scripts/build_python.sh --install_virtual_env out/python_env -pw true'
- name: Dimmablelight tests
run: |
./examples/chef/chef.py -br -d rootnode_dimmablelight_bCwGYSDpoe -t linux
scripts/run_in_python_env.sh out/python_env './scripts/tests/run_python_test.py --app examples/chef/linux/out/rootnode_dimmablelight_bCwGYSDpoe --factory-reset --script ./examples/chef/tests/dimmablelight_test.py --script-args "--commissioning-method on-network --discriminator 3840 --passcode 20202021" --app-stdin-pipe /tmp/chef_stdin.txt'
chef_esp32:
name: Chef - ESP32 CI Examples
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
image: ghcr.io/project-chip/chip-build-esp32:153
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout submodules
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: esp32
- name: CI Examples ESP32
shell: bash
run: |
./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t esp32"
chef_nrfconnect:
name: Chef - NRFConnect CI Examples
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
image: ghcr.io/project-chip/chip-build-nrf-platform:153
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: nrfconnect
- name: CI Examples NRFConnect
shell: bash
run: |
./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t nrfconnect"
chef_telink:
name: Chef - Telink CI Examples
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
image: ghcr.io/project-chip/chip-build-telink:153
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: telink
# - name: Update Zephyr to specific revision (for developers purpose)
# shell: bash
# run: scripts/run_in_build_env.sh "python3 scripts/tools/telink/update_zephyr.py 522ce11c5ddfd004b5640a1f51a5fce2e0f14c35"
- name: CI Examples Telink
shell: bash
run: |
./scripts/run_in_build_env.sh "./examples/chef/chef.py --ci -t telink"