Skip to content

Build EmberZNet for E2202 Rodret #11

Build EmberZNet for E2202 Rodret

Build EmberZNet for E2202 Rodret #11

Workflow file for this run

name: Silicon Labs firmware build
on:
push:
paths:
- Dockerfile
- .github/workflows/build.yaml
- .github/workflows/silabs-firmware-build.yaml
- EmberZNet/**
- OpenThreadRCP/**
- RCPMultiPAN/**
branches:
- main
- jl/add_e2201_rodret
tags:
- '*'
env:
sdk_version: 4.3.1
jobs:
build-container:
name: Create build container image
runs-on: ubuntu-latest
permissions:
packages: write
outputs:
sdk_version: ${{ env.sdk_version }}
image_name: ghcr.io/${{ steps.lower.outputs.repository_owner }}/silabs-firmware-builder:${{ env.sdk_version }}
steps:
- name: Repository owner lowercase
id: lower
run: |
echo "repository_owner=$(echo $GITHUB_REPOSITORY_OWNER | tr [:upper:] [:lower:])" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3.3.0
- name: Log in to the GitHub container registry
uses: docker/login-action@v2.1.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2.2.1
- name: Build and Push
uses: docker/build-push-action@v3.3.0
with:
context: .
file: Dockerfile
tags: ghcr.io/${{ steps.lower.outputs.repository_owner }}/silabs-firmware-builder:${{ env.sdk_version }}
cache-from: ghcr.io/${{ steps.lower.outputs.repository_owner }}/silabs-firmware-builder:cache-${{ env.sdk_version }}
cache-to: ghcr.io/${{ steps.lower.outputs.repository_owner }}/silabs-firmware-builder:cache-${{ env.sdk_version }}
push: true
build-args:
"GECKO_SDK_VERSION=v${{ env.sdk_version }}"
ezsp-firmware-build:
name: EmberZNet NCP
needs: build-container
strategy:
matrix:
include:
# - target: yellow
# device: MGM210PA32JIA
# components: simple_led:board_activity,zigbee_token_interface
# patchpath: "EmberZNet/Yellow"
# - target: skyconnect
# device: EFR32MG21A020F512IM32
# components: zigbee_token_interface
# patchpath: "EmberZNet/SkyConnect"
- target: e2201_rodret
device: EFR32MG21A010F1024IM32
patchpath: "EmberZNet/E2201_Rodret"
uses: ./.github/workflows/silabs-firmware-build.yaml
with:
image_name: ${{ needs.build-container.outputs.image_name }}
firmware_name: ncp-uart-hw-${{ matrix.target }}
project_file: "/gecko_sdk/protocol/zigbee/app/ncp/sample-app/ncp-uart-hw/ncp-uart-hw.slcp"
project_name: "ncp-uart-hw"
device: ${{ matrix.device }}
components: ${{ matrix.components }}
configuration: |
SL_IOSTREAM_USART_VCOM_RX_BUFFER_SIZE:64,
EMBER_APS_UNICAST_MESSAGE_COUNT:20,
EMBER_NEIGHBOR_TABLE_SIZE:26,
EMBER_SOURCE_ROUTE_TABLE_SIZE:200,
patchpath: ${{ matrix.patchpath }}
extra_c_defs: "'-DEMBER_ADDRESS_TABLE_SIZE=16' '-DEMBER_MULTICAST_TABLE_SIZE=16'"
sdk_version: ${{ needs.build-container.outputs.sdk_version }}
metadata_fw_type: "ncp-uart-hw"
baudrate: 115200
metadata_extra: "{ \"ezsp_version\": \"7.3.1.0\" }"
ezsp-bootloader-build:
name: UART bootloader for EmberZNet
needs: build-container
strategy:
matrix:
include:
- target: e2201_rodret
device: EFR32MG21A010F1024IM32
patchpath: "EmberZNet/E2201_Rodret/bootloader"
uses: ./.github/workflows/silabs-firmware-build.yaml
with:
image_name: ${{ needs.build-container.outputs.image_name }}
firmware_name: ncp-uart-hw-${{ matrix.target }}
project_file: "/gecko_sdk/platform/bootloader/sample-apps/Series-2/bootloader-uart-xmodem/bootloader-uart-xmodem.slcp"
project_name: "bootloader-uart-xmodem"
device: ${{ matrix.device }}
disable_gbl_build: "Yes"
components: ${{ matrix.components }}
configuration: |
patchpath: ${{ matrix.patchpath }}
extra_c_defs: ""
sdk_version: ${{ needs.build-container.outputs.sdk_version }}
metadata_fw_type: "bootloader-uart-xmodem"
# rcp-multi-pan-firmware-build:
# name: RCP Multi-PAN
# needs: build-container
# strategy:
# matrix:
# include:
# - target: yellow
# device: MGM210PA32JIA
# components: simple_led:board_activity,cpc_security_secondary_none
# patchpath: "RCPMultiPAN/Yellow"
# - target: skyconnect
# device: EFR32MG21A020F512IM32
# components: cpc_security_secondary_none
# patchpath: "RCPMultiPAN/SkyConnect"
# uses: ./.github/workflows/silabs-firmware-build.yaml
# with:
# image_name: ${{ needs.build-container.outputs.image_name }}
# firmware_name: rcp-uart-802154-${{ matrix.target }}
# project_file: "/gecko_sdk/protocol/openthread/sample-apps/ot-ncp/rcp-uart-802154.slcp"
# project_name: "rcp-uart-802154"
# device: ${{ matrix.device }}
# components: ${{ matrix.components }}
# patchpath: ${{ matrix.patchpath }}
# sdk_version: ${{ needs.build-container.outputs.sdk_version }}
# metadata_fw_type: "rcp-uart-802154"
# baudrate: 460800
# ot-rcp-firmware-build:
# name: OpenThread RCP
# needs: build-container
# strategy:
# matrix:
# include:
# - target: yellow
# device: MGM210PA32JIA
# components: simple_led:board_activity,bootloader_interface
# patchpath: "OpenThreadRCP/Yellow"
# - target: skyconnect
# device: EFR32MG21A020F512IM32
# components: bootloader_interface
# patchpath: "OpenThreadRCP/SkyConnect"
# uses: ./.github/workflows/silabs-firmware-build.yaml
# with:
# image_name: ${{ needs.build-container.outputs.image_name }}
# firmware_name: ot-rcp-${{ matrix.target }}
# project_file: "/gecko_sdk/protocol/openthread/sample-apps/ot-ncp/ot-rcp.slcp"
# project_name: "ot-rcp"
# device: ${{ matrix.device }}
# components: ${{ matrix.components }}
# patchpath: ${{ matrix.patchpath }}
# sdkpatchpath: "OpenThreadRCP/GeckoSDK"
# extra_c_defs: "'-DOPENTHREAD_CONFIG_NCP_REBOOT_BOOTLOADER_ENABLE=1'"
# sdk_version: ${{ needs.build-container.outputs.sdk_version }}
# metadata_fw_type: "ot-rcp"
# baudrate: 460800
# metadata_extra: "{ \"ot_rcp_version\": \"SL-OPENTHREAD/2.3.1.0_GitHub-e6df00dd6\" }"