Build EmberZNet for E2202 Rodret #11
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
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\" }" |