Skip to content

Commit 9d0db48

Browse files
[SL-TEMP] Add custom silabs worklfows to build sample apps (#178) (#225)
1 parent c8371e1 commit 9d0db48

11 files changed

+186
-0
lines changed

.github/silabs-builds-mg24.json

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"default": [
3+
{
4+
"boards": ["BRD4186C", "BRD4187C", "BRD2601B", "BRD2703A"],
5+
"arguments": ["--docker"]
6+
},
7+
{
8+
"boards": ["BRD4187C"],
9+
"arguments": ["--docker", "--wifi wf200"]
10+
},
11+
{
12+
"boards": ["BRD4187C"],
13+
"arguments": ["--docker", "--wifi rs9116"]
14+
},
15+
{
16+
"boards": ["BRD4187C"],
17+
"arguments": ["--docker", "--wifi SiWx917"]
18+
}
19+
]
20+
}

.github/silabs-builds-mg26.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"default": [
3+
{
4+
"boards": ["BRD4116A", "BRD4117A", "BRD4118A", "BRD2608A"],
5+
"arguments": ["--docker"]
6+
}
7+
]
8+
}

.github/silabs-builds-mgm24.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"default": [
3+
{
4+
"boards": ["BRD4316A", "BRD4317A", "BRD4318A", "BRD4319A", "BRD2704A"],
5+
"arguments": ["--docker"]
6+
}
7+
]
8+
}

.github/silabs-builds-siwx.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"default": [
3+
{
4+
"boards": ["BRD4338A", "BRD2605A", "BRD4343A"],
5+
"arguments": ["--docker", "use_rps_extension=false"]
6+
}
7+
]
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: Build Silabs Examples apps
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- "release_*"
8+
pull_request:
9+
branches:
10+
- main
11+
- "release_*"
12+
13+
jobs:
14+
build-lighting-app:
15+
name: Build Lighting-App variations
16+
uses: ./.github/workflows/silabs-common-build.yaml
17+
with:
18+
example-app: "lighting-app"
19+
output-directory: "./out/lighting-app"
20+
21+
build-air-quality-sensor-app:
22+
name: Build Air-Quality-Sensor-App variations
23+
uses: ./.github/workflows/silabs-common-build.yaml
24+
with:
25+
example-app: "air-quality-sensor-app"
26+
output-directory: "./out/air-quality-sensor-app"
27+
28+
build-light-switch-app:
29+
name: Build Light-Switch-App variations
30+
uses: ./.github/workflows/silabs-common-build.yaml
31+
with:
32+
example-app: "light-switch-app"
33+
output-directory: "./out/light-switch-app"
34+
35+
build-lock-app:
36+
name: Build Lock-App variations
37+
uses: ./.github/workflows/silabs-common-build.yaml
38+
with:
39+
example-app: "lock-app"
40+
output-directory: "./out/lock-app"
41+
42+
build-thermostat:
43+
name: Build Thermostat variations
44+
uses: ./.github/workflows/silabs-common-build.yaml
45+
with:
46+
example-app: "thermostat"
47+
output-directory: "./out/thermostat"
48+
49+
build-pump-app:
50+
name: Build Pump-App variations
51+
uses: ./.github/workflows/silabs-common-build.yaml
52+
with:
53+
example-app: "pump-app"
54+
output-directory: "./out/pump-app"
55+
56+
build-window-app:
57+
name: Build Window-App variations
58+
uses: ./.github/workflows/silabs-common-build.yaml
59+
with:
60+
example-app: "window-app"
61+
output-directory: "./out/window-app"
62+
63+
build-smoke-co-alarm:
64+
name: Build Smoke-CO-Alarm variations
65+
uses: ./.github/workflows/silabs-common-build.yaml
66+
with:
67+
example-app: "smoke-co-alarm-app"
68+
output-directory: "./out/smoke-co-alarm-app"
69+
70+
build-lit-icd-app:
71+
name: Build Lit-ICD-App variations
72+
uses: ./.github/workflows/silabs-common-build.yaml
73+
with:
74+
example-app: "lit-icd-app"
75+
output-directory: "./out/lit-icd-app"
76+
77+
build-refrigerator-app:
78+
name: Build Refrigerator-App variations
79+
uses: ./.github/workflows/silabs-common-build.yaml
80+
with:
81+
example-app: "refrigerator-app"
82+
output-directory: "./out/refrigerator-app"
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Common Build
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
example-app:
7+
required: true
8+
type: string
9+
output-directory:
10+
required: true
11+
type: string
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
17+
container:
18+
image: ghcr.io/project-chip/chip-build-efr32:89
19+
20+
strategy:
21+
matrix:
22+
platform: [mg24, mgm24, mg26, siwx]
23+
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Checkout submodules & Bootstrap
29+
uses: ./.github/actions/checkout-submodules-and-bootstrap
30+
with:
31+
platform: silabs_docker
32+
bootstrap-log-name: bootstrap-logs-${{ inputs.example-app }}-${{ matrix.platform }}
33+
34+
- name: Build ${{ inputs.example-app }} configurations
35+
uses: SiliconLabsSoftware/matter-gn-build-action@v1.1.2
36+
with:
37+
json-file-path: >
38+
${{ matrix.platform == 'mg24' && './.github/silabs-builds-mg24.json' ||
39+
matrix.platform == 'mgm24' && './.github/silabs-builds-mgm24.json' ||
40+
matrix.platform == 'mg26' && './.github/silabs-builds-mg26.json' ||
41+
matrix.platform == 'siwx' && './.github/silabs-builds-siwx.json' }}
42+
example-app: ${{ inputs.example-app }}
43+
build-script: "./scripts/examples/gn_silabs_example.sh"
44+
output-directory: ${{ inputs.output-directory }}

examples/air-quality-sensor-app/silabs/BUILD.gn

+12
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,18 @@ if (wifi_soc) {
9191
"${examples_common_plat_dir}",
9292
]
9393

94+
if (use_wf200) {
95+
# TODO efr32_sdk should not need a header from this location
96+
include_dirs += [ "${examples_plat_dir}/wf200" ]
97+
}
98+
99+
if (chip_enable_ble_rs911x) {
100+
# TODO efr32_sdk should not need a header from this location
101+
include_dirs += [
102+
"${examples_plat_dir}/rs911x",
103+
"${examples_plat_dir}/rs911x/hal",
104+
]
105+
}
94106
defines = []
95107
if (chip_enable_pw_rpc) {
96108
defines += [

examples/air-quality-sensor-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ default_args = {
2424
target_cpu = "arm"
2525
target_os = "freertos"
2626
chip_enable_wifi = true
27+
chip_device_platform = "SiWx917"
2728
import("//build_for_wifi_args.gni")
2829
}

examples/lit-icd-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ default_args = {
2525
target_cpu = "arm"
2626
target_os = "freertos"
2727
chip_enable_wifi = true
28+
chip_device_platform = "SiWx917"
2829
import("//build_for_wifi_args.gni")
2930
}

examples/pump-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ default_args = {
2424
target_cpu = "arm"
2525
target_os = "freertos"
2626
chip_enable_wifi = true
27+
chip_device_platform = "SiWx917"
2728
import("//build_for_wifi_args.gni")
2829
}

examples/smoke-co-alarm-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ default_args = {
2424
target_cpu = "arm"
2525
target_os = "freertos"
2626
chip_enable_wifi = true
27+
chip_device_platform = "SiWx917"
2728
import("//build_for_wifi_args.gni")
2829
}

0 commit comments

Comments
 (0)