11
11
12
12
jobs :
13
13
build :
14
+ # Project setup dominates vs. actual per-configuration build times, so
15
+ # just run twister for all boards instead of splitting into separate jobs.
16
+ # strategy:
17
+ # matrix:
18
+ # board:
19
+ # [
20
+ # esp_wrover_kit/esp32/procpu,
21
+ # esp32s3_devkitm/esp32s3/procpu,
22
+ # esp32s3_devkitc/esp32s3/procpu,
23
+ # esp32c3_devkitm,
24
+ # ]
14
25
runs-on : ubuntu-latest
15
- container :
16
- # Zephyr toolchain from here:
17
- # https://github.com/zephyrproject-rtos/docker-image/pkgs/container/ci
18
- image : ghcr.io/zephyrproject-rtos/ci:v0.26.6
19
- env :
20
- # Tell cmake where to find the zephyr sdk
21
- CMAKE_PREFIX_PATH : /opt/toolchains
22
-
23
26
steps :
24
- - name : Checkout code
27
+ - name : ☑️ Checkout
25
28
uses : actions/checkout@v4
26
29
with :
27
- path : zephyr-workspace/zephyr- esp32-example
30
+ path : zephyr-esp32-example
28
31
29
- - name : ♻️ Initialize Zephyr Workspace
30
- # Set up the Zephyr workspace and install the Python dependencies
31
- run : |
32
- cd zephyr-workspace
33
- rm -rf .west
34
- west init -l zephyr-esp32-example
35
- west update --narrow -o=--depth=1
36
- west blobs fetch hal_espressif
32
+ - name : Set up Python
33
+ uses : actions/setup-python@v4
34
+ with :
35
+ python-version : 3.11
36
+
37
+ - name : ♻️ Setup Zephyr project
38
+ uses : zephyrproject-rtos/action-zephyr-setup@v1
39
+ with :
40
+ app-path : zephyr-esp32-example
41
+ toolchains : riscv64-zephyr-elf:xtensa-espressif_esp32_zephyr-elf:xtensa-espressif_esp32s3_zephyr-elf
37
42
38
43
- name : 💾 Cache ~/.cache/ccache
39
44
uses : actions/cache@v3
@@ -43,27 +48,19 @@ jobs:
43
48
restore-keys : |
44
49
ccache-v1-${{ runner.os }}-
45
50
46
- - name : 🔨 Build Project
51
+ - name : 🌪️ Run twister
47
52
run : |
48
- cd zephyr-workspace
49
- ccache -z
50
-
51
- west build --sysbuild \
52
- --pristine=always \
53
- --board=esp32s3_devkitm/esp32s3/procpu zephyr-esp32-example \
54
- -- \
55
- -DCONFIG_MEMFAULT_PROJECT_KEY=\"1234\"
56
-
57
- west build --sysbuild \
58
- --pristine=always \
59
- --board=esp32s3_devkitc/esp32s3/procpu zephyr-esp32-example \
60
- -- \
61
- -DCONFIG_MEMFAULT_PROJECT_KEY=\"1234\"
53
+ # not part of action-zephyr-setup
54
+ west blobs fetch hal_espressif
62
55
63
- west build --sysbuild \
64
- --pristine=always \
65
- --board=esp32c3_devkitm zephyr-esp32-example \
66
- -- \
67
- -DCONFIG_MEMFAULT_PROJECT_KEY=\"1234\"
56
+ zephyr/scripts/twister --testsuite-root zephyr-esp32-example
68
57
69
58
ccache -sv
59
+
60
+ - name : 🎨 Upload artifacts
61
+ uses : actions/upload-artifact@v4
62
+ if : ${{ always() }}
63
+ with :
64
+ name : twister-artifacts
65
+ path : |
66
+ twister-out/**/*.log
0 commit comments