Skip to content

Commit d76dba4

Browse files
committed
zephyr: rework zephyr workflow
Drop usage of docker-run.sh in favor of using runs-on: container: image: which is the correct approach for github workflows. Signed-off-by: Mateusz Redzynia <mateuszx.redzynia@intel.com>
1 parent 081c728 commit d76dba4

File tree

1 file changed

+49
-57
lines changed

1 file changed

+49
-57
lines changed

.github/workflows/zephyr.yml

Lines changed: 49 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,22 @@ concurrency:
1515
cancel-in-progress: true
1616

1717
jobs:
18-
1918
manifest-check:
2019
runs-on: ubuntu-latest
20+
defaults:
21+
run:
22+
shell: bash
23+
container:
24+
image: thesofproject/zephyr-lite:v0.28.4-rc3
2125
steps:
2226
- uses: actions/checkout@v4
2327
with:
24-
path: ./workspace/sof
28+
path: sof
2529
filter: 'tree:0'
2630

2731
- name: plain west update
32+
working-directory: sof
2833
run: |
29-
3034
: This plain 'west update' does not provide 100% certainty that
3135
: all the manifest revisions make sense but it is quick and
3236
: will catch many revision problems. Other jobs typically
@@ -35,8 +39,6 @@ jobs:
3539
: is useful for testing unmerged Zephyr commits but risks
3640
: accepting "invalid" ones, this will not.
3741
38-
pip3 install west
39-
cd workspace/sof/
4042
west init -l
4143
west update --fetch-opt=--filter=tree:0
4244
@@ -45,9 +47,8 @@ jobs:
4547
# XTOS submodules and... temporarily break every CI, which is why
4648
# it hasn't been done yet.
4749
- name: git submodules consistency
50+
working-directory: sof
4851
run: |
49-
50-
cd workspace/sof
5152
git submodule update --init --recursive
5253
5354
west update
@@ -66,40 +67,42 @@ jobs:
6667
# job will be disappear, folded back in the regular build-* jobs below.
6768
LP64-WIP:
6869
runs-on: ubuntu-22.04
70+
defaults:
71+
run:
72+
shell: bash
73+
container:
74+
image: thesofproject/zephyr-lite:v0.28.4
6975

7076
steps:
7177
- uses: actions/checkout@v4
7278
with:
73-
path: ./workspace/sof
79+
path: sof
7480
filter: 'tree:0'
7581

76-
- name: free space
82+
- name: west update
83+
working-directory: sof
7784
run: |
78-
sudo rm -rf /usr/share/dotnet
79-
sudo rm -rf /opt/ghc
80-
81-
- name: west clones
82-
run: pip3 install west && cd workspace/sof/ && west init -l &&
83-
west update --narrow --fetch-opt=--filter=tree:0
85+
west init -l
86+
west update --narrow --fetch-opt=--filter=tree:0
8487
85-
# Not strictly necessary but saves a lot of scrolling in the next step
86-
# Caching a 12G image is unfortunately not possible:
87-
# https://github.com/ScribeMD/docker-cache/issues/304
88-
# For faster builds we would have to pay for some persistent runners.
89-
- name: Download docker image && ls /opt/toolchains/
90-
run: cd workspace && ./sof/zephyr/docker-run.sh ls -l /opt/toolchains/
88+
- name: print all available sdks in /opt/toolchains/
89+
run: |
90+
ls -l /opt/toolchains/
9191
9292
- name: 64 bits build
9393
run: |
94-
cd workspace && ./sof/zephyr/docker-run.sh /bin/sh -c \
95-
'ln -s /opt/toolchains/zephyr-sdk-* ~/;
96-
west build --board imx93_evk/mimx9352/a55 sof/app \
97-
-- -DEXTRA_CFLAGS=-Werror -DEXTRA_CXXFLAGS=-Werror \
98-
-DEXTRA_AFLAGS=-Werror'
99-
94+
ln -s /opt/toolchains/zephyr-sdk-* ~/
95+
west build --board imx93_evk/mimx9352/a55 sof/app \
96+
-- -DEXTRA_CFLAGS=-Werror -DEXTRA_CXXFLAGS=-Werror \
97+
-DEXTRA_AFLAGS=-Werror
10098
10199
build-linux:
102100
runs-on: ubuntu-22.04
101+
defaults:
102+
run:
103+
shell: bash
104+
container:
105+
image: thesofproject/zephyr-lite:v0.28.4-rc3
103106
strategy:
104107
fail-fast: false
105108
matrix:
@@ -143,20 +146,15 @@ jobs:
143146
with:
144147
fetch-depth: 0
145148
filter: 'tree:0'
146-
path: ./workspace/sof
149+
path: sof
147150

148-
- name: free space
151+
- name: west update
152+
working-directory: sof
149153
run: |
150-
sudo rm -rf /usr/share/dotnet
151-
sudo rm -rf /opt/ghc
152-
153-
- name: west clones
154-
155-
run: pip3 install west && cd workspace/sof/ && west init -l &&
156-
time west update --narrow --fetch-opt=--filter=tree:0
154+
west init -l
155+
west update --narrow --fetch-opt=--filter=tree:0
157156
158157
- name: select zephyr revision
159-
working-directory: ${{ github.workspace }}/workspace
160158
run: |
161159
if [ 'mnfst' = '${{ matrix.zephyr_revision }}' ]; then
162160
rem_rev=$(git -C zephyr rev-parse HEAD)
@@ -175,7 +173,7 @@ jobs:
175173
# Get some tags to fix `git describe` hence BUILD_VERSION, etc.
176174
# Keep in sync with build-windows below
177175
- name: Fetch tags for git describe
178-
working-directory: ${{ github.workspace }}/workspace/zephyr
176+
working-directory: zephyr
179177
run: |
180178
# Because we used git tricks to speed things up, we now have two git
181179
# problems:
@@ -205,25 +203,19 @@ jobs:
205203
git describe --long --always --dirty
206204
git describe --long --always --dirty --tags
207205
208-
# Not strictly necessary but saves a lot of scrolling in the next step
209-
# Caching a 12G image is unfortunately not possible:
210-
# https://github.com/ScribeMD/docker-cache/issues/304
211-
# For faster builds we would have to pay for some persistent runners.
212-
- name: Download docker image && ls /opt/toolchains/
213-
run: cd workspace && ./sof/zephyr/docker-run.sh ls -l /opt/toolchains/
206+
- name: print all available sdks in /opt/toolchains/
207+
run: |
208+
ls -l /opt/toolchains/
214209
215-
# https://github.com/zephyrproject-rtos/docker-image
216-
# Note: env variables can be passed to the container with
217-
# -e https_proxy=...
218210
- name: build
219-
run: cd workspace && ./sof/zephyr/docker-run.sh
220-
./sof/zephyr/docker-build.sh --cmake-args=-DEXTRA_CFLAGS=-Werror
221-
--cmake-args=-DEXTRA_CXXFLAGS=-Werror
222-
--cmake-args=-DEXTRA_AFLAGS='-Werror -Wa,--fatal-warnings'
223-
--cmake-args=--warn-uninitialized
224-
--overlay=sof/app/configs/repro-build.conf
225-
--no-tarball
226-
${{ matrix.build_opts }} ${{ matrix.IPC_platforms }}
211+
run: |
212+
./sof/zephyr/docker-build.sh --cmake-args=-DEXTRA_CFLAGS=-Werror \
213+
--cmake-args=-DEXTRA_CXXFLAGS=-Werror \
214+
--cmake-args=-DEXTRA_AFLAGS='-Werror -Wa,--fatal-warnings' \
215+
--cmake-args=--warn-uninitialized \
216+
--overlay=sof/app/configs/repro-build.conf \
217+
--no-tarball \
218+
${{ matrix.build_opts }} ${{ matrix.IPC_platforms }}
227219
228220
- name: Upload build artifacts
229221
uses: actions/upload-artifact@v4
@@ -232,8 +224,8 @@ jobs:
232224
name: linux-build ${{ matrix.build_opts }} ${{ matrix.IPC_platforms }}
233225
if-no-files-found: error
234226
path: |
235-
${{ github.workspace }}/workspace/build-sof-staging
236-
${{ github.workspace }}/workspace/**/compile_commands.json
227+
build-sof-staging
228+
./**/compile_commands.json
237229
238230
build-windows:
239231
runs-on: windows-latest

0 commit comments

Comments
 (0)