Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ on:
platform:
required: true
type: string
head-sha:
required: false
type: string
default: ''
head-branch:
required: false
type: string
default: ''

jobs:
build:
Expand All @@ -29,6 +37,7 @@ jobs:
uses: actions/checkout@v6
with:
submodules: "true"
ref: ${{ inputs.head-sha || github.sha }}
- name: Cache tools
uses: ./.github/actions/cache-tools
- name: Build ${{ inputs.example-app }}
Expand All @@ -43,7 +52,7 @@ jobs:
build-type: ${{ inputs.build-type }}

- name: Create asset files
if: startsWith(github.ref_name, 'release_')
if: startsWith(inputs.head-branch || github.ref_name, 'release_')
run: |
find out -type f \( -name "*.s37" -o -name "*.rps" \) | while read file; do
echo '<?xml version="1.0" encoding="UTF-8"?>' > "${file}.asset"
Expand Down
19 changes: 2 additions & 17 deletions .github/workflows/dev-apps-builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
branches:
- main
- "release_*"
- "**/**" # TODO : remove this after testing
schedule:
- cron: "5 0 * * 5" # Thursday at 8:05 PM EDT
workflow_dispatch:
Expand Down Expand Up @@ -242,25 +243,9 @@ jobs:
delete-merged: true
pattern: "*-${{ needs.set-build-type.outputs.build-type }}"

wait-for-test-results:
name: Wait for Test Results
needs: merge-apps
uses: ./.github/workflows/sqa-sanity-tests.yaml
secrets:
SILABSSW_MATTER_CI_BOT_APP_PRIVATE_KEY: ${{ secrets.SILABSSW_MATTER_CI_BOT_APP_PRIVATE_KEY }}

build-sqa-apps:
name: Build SQA apps
needs: wait-for-test-results
if: ${{ github.ref_name == 'main' || startsWith(github.ref_name, 'release_') }}
permissions:
contents: read
actions: write
uses: ./.github/workflows/sqa-apps-builder.yaml

delete-cache:
name: Delete tools cache
needs: [build-sqa-apps, cache-tools]
needs: [merge-apps, cache-tools]
if: always()
runs-on: ubuntu-latest
permissions:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/platform-builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ on:
required: false
type: boolean
default: false
head-sha:
required: false
type: string
default: ''
head-branch:
required: false
type: string
default: ''

jobs:
mg24-build-job:
Expand All @@ -72,6 +80,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mg24
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mg24-internal-build-job:
if: ${{ inputs.thread-support && inputs.mg24-internal-support }}
Expand All @@ -82,6 +92,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mg24-internal
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mg24-trustzone-build-job:
if: ${{ inputs.thread-support && inputs.mg24-support && inputs.trustzone-support }}
Expand All @@ -92,6 +104,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mg24-trustzone
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mgm24-build-job:
if: ${{ inputs.thread-support && inputs.mgm24-support }}
Expand All @@ -102,6 +116,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mgm24
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mgm24-internal-build-job:
if: ${{ inputs.thread-support && inputs.mgm24-internal-support }}
Expand All @@ -112,6 +128,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mgm24-internal
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mg26-build-job:
if: ${{ inputs.thread-support && inputs.mg26-support }}
Expand All @@ -122,6 +140,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mg26
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mg26-internal-build-job:
if: ${{ inputs.thread-support && inputs.mg26-internal-support }}
Expand All @@ -132,6 +152,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mg26-internal
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

mgm26-internal-build-job:
if: ${{ inputs.thread-support && inputs.mgm26-internal-support }}
Expand All @@ -142,6 +164,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: mgm26-internal
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

ncp-917-build-job:
if: ${{ inputs.ncp-917-support }}
Expand All @@ -152,6 +176,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: ncp-917
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

siwx-soc-build-job:
if: ${{ inputs.wifi-soc-support }}
Expand All @@ -162,6 +188,8 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: siwx-soc
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

sixg301-build-job:
if: ${{ inputs.thread-support && inputs.sixg301-support }}
Expand All @@ -172,3 +200,5 @@ jobs:
example-app: ${{ inputs.example-app }}
build-type: ${{ inputs.build-type }}
platform: sixg301
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}
27 changes: 27 additions & 0 deletions .github/workflows/sqa-apps-builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@ name: Build SQA apps

on:
workflow_call:
inputs:
head-sha:
required: false
type: string
default: ''
head-branch:
required: false
type: string
default: ''

jobs:
build-lock-app:
Expand All @@ -15,6 +24,8 @@ jobs:
mgm24-internal-support: false
mg26-internal-support: false
mgm26-internal-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-lighting-app:
name: Build Lighting App
Expand All @@ -26,6 +37,8 @@ jobs:
mgm24-internal-support: false
mg26-internal-support: false
mgm26-internal-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-window-app:
name: Build Window App
Expand All @@ -41,6 +54,8 @@ jobs:
mgm26-internal-support: false
wifi-soc-support: false
sixg301-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

# build-dishwasher-app:
# name: Build Dishwasher App
Expand Down Expand Up @@ -73,6 +88,8 @@ jobs:
mgm26-internal-support: false
wifi-soc-support: false
sixg301-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-light-switch-app:
name: Build Light Switch App
Expand All @@ -85,6 +102,8 @@ jobs:
mgm24-internal-support: false
mg26-internal-support: false
mgm26-internal-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-multi-sensor-app:
name: Build Multi Sensor App
Expand All @@ -99,6 +118,8 @@ jobs:
mg26-internal-support: false
mgm26-internal-support: false
sixg301-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-zigbee-matter-light:
name: Build Zigbee Matter Light
Expand All @@ -113,6 +134,8 @@ jobs:
mg26-internal-support: false
mgm26-internal-support: false
wifi-soc-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-closure-app:
name: Build Closure App
Expand All @@ -125,6 +148,8 @@ jobs:
mgm24-internal-support: false
mg26-internal-support: false
mgm26-internal-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

build-platform-template:
name: Build Platform App
Expand All @@ -137,6 +162,8 @@ jobs:
mgm24-internal-support: false
mg26-internal-support: false
mgm26-internal-support: false
head-sha: ${{ inputs.head-sha }}
head-branch: ${{ inputs.head-branch }}

merge-apps:
name: Merge SQA App Artifacts
Expand Down
80 changes: 71 additions & 9 deletions .github/workflows/sqa-sanity-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
name: Wait for Test Results

on:
workflow_call:
secrets:
SILABSSW_MATTER_CI_BOT_APP_PRIVATE_KEY:
required: true
workflow_run:
workflows: ['Build Dev apps']
types: ['completed']

jobs:
wait-for-jenkins-status:
wait-for-jenkins-status:
name: Wait for Jenkins Status
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- name: Generate GitHub App Token
id: generate_app_token
Expand All @@ -27,9 +27,11 @@ jobs:
with:
github-token: ${{ steps.generate_app_token.outputs.token }}
script: |
const headSha = (context.eventName === 'pull_request')
? context.payload.pull_request.head.sha
: context.sha;
const headSha = context.eventName === 'workflow_run'
? context.payload.workflow_run.head_sha
: context.eventName === 'pull_request'
? context.payload.pull_request.head.sha
: context.sha;
const { data } = await github.rest.checks.create({
owner: context.repo.owner,
repo: context.repo.repo,
Expand Down Expand Up @@ -163,4 +165,64 @@ jobs:
core.info('Waiting for check run to complete...');
await new Promise(r => setTimeout(r, pollIntervalSeconds * 1000));
elapsed += pollIntervalSeconds;
}
}

cache-tools:
name: Cache tools
needs: [wait-for-jenkins-status]
runs-on: ubuntu-latest
if: |
github.event.workflow_run.head_repository.full_name == github.repository &&
(github.event.workflow_run.head_branch == 'main' ||
startsWith(github.event.workflow_run.head_branch, 'release_'))
permissions:
contents: read
actions: write
outputs:
cache-key: ${{ steps.cache-tools.outputs.cache-key }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: ${{ github.event.workflow_run.head_sha }}
- uses: ./.github/actions/cache-tools
id: cache-tools

build-sqa-apps:
name: Build SQA apps
needs: [cache-tools]
if: |
github.event.workflow_run.head_repository.full_name == github.repository &&
(github.event.workflow_run.head_branch == 'main' ||
startsWith(github.event.workflow_run.head_branch, 'release_'))
permissions:
contents: read
actions: write
uses: ./.github/workflows/sqa-apps-builder.yaml
with:
head-sha: ${{ github.event.workflow_run.head_sha }}
head-branch: ${{ github.event.workflow_run.head_branch }}

delete-cache:
name: Delete tools cache
needs: [build-sqa-apps, cache-tools]
if: |
always() &&
github.event.workflow_run.head_repository.full_name == github.repository &&
(github.event.workflow_run.head_branch == 'main' ||
startsWith(github.event.workflow_run.head_branch, 'release_'))
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- name: Delete tools cache
uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
await github.rest.actions.deleteActionsCacheByKey({
owner: context.repo.owner,
repo: context.repo.repo,
key: '${{ needs.cache-tools.outputs.cache-key }}',
});

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

# Silicon Labs Matter

TEST
Welcome to the Silicon Labs Matter Extension repo. Matter is an application layer that provides a standardized interface between protocols and devices. With Matter, it is transparent to the underlying device whether the interaction is from a Thread application or a Wi-Fi application. For more information on Matter in general, see the main [Matter Overview](https://www.silabs.com/wireless/matter) page. Silicon Labs supports Matter on both 802.15.4 (Thread) and 802.11 (Wi-Fi) transport protocols.

Silicon Labs supports Matter on several different hardware platforms including the EFR32, and the new SiWx917, which is a Wi-Fi System-on-Chip (SoC).
Expand Down
Loading
Loading