Skip to content

Commit

Permalink
ci: Add build all config
Browse files Browse the repository at this point in the history
Utilize the posix build so that as many components as possible can be
built at once. Also build a bunch of `default n` components as well.

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
  • Loading branch information
cujomalainey authored and lgirdwood committed Jul 26, 2023
1 parent deed9a8 commit 1a89639
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---

name: Build test all components

# 'workflow_dispatch' allows running this workflow manually from the
# 'Actions' tab

# yamllint disable-line rule:truthy
on: [pull_request, workflow_dispatch]

jobs:

stub-build:
runs-on: ubuntu-22.04
strategy:
matrix:
# Keep these names short due to questionable Github UI choices
IPC: [ipc3, ipc4]

steps:
- name: add i386 arch
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
- name: apt-get install i386 packages
run: |
# We don't know why Github requires us to explicit all these i386
# dependencies. On a vanilla Ubuntu 22.04 the last apt-get is
# enough.
# Also, it does not seem possible to download Github images for
# local testing which means trial and error for this requires a
# force-push every time: excruciatingly slow!
sudo apt-get -y install \
libgcc-s1:i386 libc6-dev:i386 libstdc++6:i386 \
libgomp1:i386 libitm1:i386 libatomic1:i386 \
libasan8:i386 libubsan1:i386 libquadmath0:i386 \
sudo apt-get -y install \
libc6-dev-i386 libstdc++-12-dev:i386
- name: apt-get install build tools
run:
sudo apt-get -y install
clang llvm ninja-build device-tree-compiler python3-pyelftools

- uses: actions/checkout@v3
with:
path: ./workspace/sof

- name: west update
run: |
cd workspace/sof
pip3 install west
west init -l
west update --narrow --fetch-opt=--filter=tree:0
- name: build
run: |
cd workspace
clang --verbose
set -x
sof/scripts/fuzz.sh -b -c stub_build_all_${{ matrix.IPC }}.conf -- "$cmake_arg"
14 changes: 14 additions & 0 deletions app/stub_build_all_ipc3.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
CONFIG_COMP_STUBS=y
CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=y
CONFIG_COMP_TONE=y
CONFIG_COMP_CROSSOVER=y
CONFIG_COMP_DRC=y
CONFIG_COMP_MULTIBAND_DRC=y
CONFIG_COMP_SMART_AMP=y
CONFIG_PASSTHROUGH_CODEC=y
CONFIG_WAVES_CODEC=y
CONFIG_DTS_CODEC=y
CONFIG_COMP_IGO_NR=y
CONFIG_COMP_RTNR=y
CONFIG_COMP_SMART_AMP=y
CONFIG_MAXIM_DSM=y
5 changes: 5 additions & 0 deletions app/stub_build_all_ipc4.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-DCONFIG_COMP_STUBS=y
-DCONFIG_COMP_ARIA=y
-DCONFIG_COMP_CHAIN_DMA=y
-DCONFIG_COMP_UP_DOWN_MIXER=y
-DCONFIG_IPC_MAJOR_4=y

0 comments on commit 1a89639

Please sign in to comment.