Skip to content

fix: last try for now #14

fix: last try for now

fix: last try for now #14

Workflow file for this run

name: Silicon Labs firmware build
on:
push:
paths:
- Dockerfile
- .github/workflows/build.yaml
- .github/workflows/silabs-firmware-build.yaml
- .github/workflows/silabs-firmware-build-zwave.yaml
# - EmberZNet/**
# - OpenThreadRCP/**
# - RCPMultiPAN/**
- ZWave/**
branches:
- main
tags:
- "*"
workflow_dispatch: {}
env:
sdk_version: 4.3.2
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"
# 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.2.0\" }"
# 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.2.0_GitHub-e6df00dd6\" }"
zwave-firmware-build:
name: Z-Wave Serial API Controller
needs: build-container
strategy:
matrix:
# There are two series of chips, which require different compression and
# signing keys:
# * Series 1 devices (EFR32xG1x) require lz4 compression and the "sample" keys, unless a custom bootloader is installed
# * Series 2 devices (EFR32xG2x) require lzma compression and the "controller" keys
include:
- target: BRD4201A
device: EFR32ZG14P231F256GM32
components: brd4201a
compression: lz4
# patchpath: "RCPMultiPAN/Yellow"
- target: BRD4206A
device: EFR32ZG14P231F256GM32
components: brd4206a
compression: lz4
# patchpath: "RCPMultiPAN/SkyConnect"
uses: ./.github/workflows/silabs-firmware-build-zwave.yaml
with:
image_name: ${{ needs.build-container.outputs.image_name }}
firmware_name: zwave_serial_api_controller_${{ needs.build-container.outputs.sdk_version }}_${{ matrix.target }}
project_file: "/gecko_sdk/protocol/z-wave/Apps/zwave_ncp_serial_api/zwave_ncp_serial_api_controller.slcp"
project_name: "zwave_ncp_serial_api_controller"
device: ${{ matrix.device }}
components: ${{ matrix.components }}
# Fix konw issue 1171840 in Z-Wave SDK
configuration: "ZAF_CONFIG_GENERIC_TYPE:0,ZAF_CONFIG_SPECIFIC_TYPE:0"
# patchpath: ${{ matrix.patchpath }}
sdk_version: ${{ needs.build-container.outputs.sdk_version }}
metadata_fw_type: "zwave"
compression: ${{ matrix.compression }}