@@ -56,72 +56,48 @@ permissions:
5656
5757jobs :
5858 smoke_test :
59- runs-on : ubuntu-latest
59+ runs-on : ubuntu-22.04
60+ container :
61+ # For Zephyr 3.7 LTS, use the v0.26-branch or the latest v0.26.x release Docker image.
62+ # ci require a larger runner to avoid "no space left on device"
63+ image : ghcr.io/zephyrproject-rtos/ci-base:v0.26-branch
64+ options : --user root
65+
6066 steps :
67+ # https://docs.zephyrproject.org/latest/develop/application/index.html#zephyr-workspace-application
68+ # zephyrproject/ --> CI ROOT
69+ # ├─── .west/
70+ # │ └─── config
71+ # ├─── bootloader/
72+ # ├─── zephyr/ --> Zephyr source code
73+ # ├─── zephyr-sdk/
74+ # ├─── modules/
75+ # │ |─── wasm-micro-runtime --> WAMR source code
76+ # ├─── tools/
77+ # ├─── vendor/
78+ # └─── application/ --> DUMMY. keep west_lite.yml here
79+
6180 - name : Checkout code
6281 uses : actions/checkout@v3
82+ with :
83+ path : modules/wasm-micro-runtime
6384
64- - name : Install dependencies for Zephyr
65- shell : bash
66- run : |
67- sudo apt-get update
68- sudo apt-get install -y --no-install-recommends git cmake ninja-build gperf \
69- ccache dfu-util device-tree-compiler wget \
70- python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
71- make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1
72- sudo apt-get clean -y
73-
74- - name : Download Zephyr SDK
75- shell : bash
76- run : |
77- cd /opt
78- sudo wget --progress=dot:giga https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${{ env.ZEPHYR_SDK_VERSION }}/zephyr-sdk-${{ env.ZEPHYR_SDK_VERSION }}_linux-x86_64.tar.xz
79- sudo wget --progress=dot:giga -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${{ env.ZEPHYR_SDK_VERSION }}/sha256.sum | shasum --check --ignore-missing
80- sudo tar xf zephyr-sdk-${{ env.ZEPHYR_SDK_VERSION }}_linux-x86_64.tar.xz
81- working-directory : /opt
82-
83- - name : Install Zephyr SDK. host tools and Zephyr SDK CMake package
84- shell : bash
85- run : |
86- sudo ./setup.sh -h -c
87- working-directory : /opt/zephyr-sdk-${{ env.ZEPHYR_SDK_VERSION }}
88-
89- - name : Setup Zephyr
90- shell : bash
91- run : |
92- pip3 install west
93-
94- - name : Generate a minimum Zephyr project
85+ - name : Prepare Zephyr environment
9586 shell : bash
9687 run : |
97- mkdir -p ./zephyrproject/modules/zephyr
98- mkdir -p ./zephyrproject/smoke-test
99- cp product-mini/platforms/zephyr/simple/west_lite.yml ./zephyrproject/smoke-test/west.yml
88+ mkdir -p application
89+ cp modules/wasm-micro-runtime/product-mini/platforms/zephyr/simple/west_lite.yml application/west_lite.yml
10090
101- - name : Initialize west
102- shell : bash
103- run : |
104- west init -l .
105- working-directory : ./zephyrproject/smoke-test
106-
107- - name : Update west to fetch the Zephyr project
108- shell : bash
109- run : west update --stats
110- working-directory : ./zephyrproject
111-
112- - name : Export Zephyr environment
113- shell : bash
114- run : |
115- west zephyr-export
116- pip3 install -r ./scripts/requirements.txt
117- working-directory : ./zephyrproject/modules/zephyr
118-
119- - name : Set Environment Variables
120- shell : bash
121- run : |
122- echo "ZEPHYR_BASE=$(realpath ./zephyrproject/modules/zephyr)" >> $GITHUB_ENV
91+ - name : Setup Zephyr project
92+ uses : zephyrproject-rtos/action-zephyr-setup@v1
93+ with :
94+ app-path : application
95+ manifest-file-name : west_lite.yml
96+ sdk-version : ${{ env.ZEPHYR_SDK_VERSION }}
97+ toolchains : arc-zephyr-elf:arc64-zephyr-elf
12398
12499 - name : Build a sample application(simple)
100+ shell : bash
125101 run : |
126102 pushd product-mini/platforms/zephyr/simple
127103 west build . -b qemu_arc/qemu_arc_hs -p always -- -DWAMR_BUILD_TARGET=ARC
@@ -130,12 +106,14 @@ jobs:
130106 # west build -t run will fork several processes, which will cause the job to hang.
131107 # run in the background and kill it after 5 seconds
132108 .github/scripts/run_qemu_arc.sh \
133- /opt /zephyr-sdk-${{ env.ZEPHYR_SDK_VERSION }} \
109+ ../.. /zephyr-sdk \
134110 product-mini/platforms/zephyr/simple/build/zephyr/zephyr.elf &
135111 sleep 5
136112 pkill qemu-system-arc
113+ working-directory : modules/wasm-micro-runtime
137114
138115 - name : Build a sample application(user-mode)
116+ shell : bash
139117 run : |
140118 pushd product-mini/platforms/zephyr/user-mode
141119 west build . -b qemu_arc/qemu_arc_hs -p always -- -DWAMR_BUILD_TARGET=ARC
@@ -144,7 +122,8 @@ jobs:
144122 # west build -t run will fork several processes, which will cause the job to hang.
145123 # run in the background and kill it after 5 seconds
146124 .github/scripts/run_qemu_arc.sh \
147- /opt /zephyr-sdk-${{ env.ZEPHYR_SDK_VERSION }} \
125+ ../.. /zephyr-sdk \
148126 product-mini/platforms/zephyr/user-mode/build/zephyr/zephyr.elf &
149127 sleep 5
150128 pkill qemu-system-arc
129+ working-directory : modules/wasm-micro-runtime
0 commit comments