Add a GitHub workflow entry to build with LLEXT enabled, using the
Zephyr toolchain.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
XTOS is going to be deprecated on i.MX8ULP so remove it from
the gcc build test which uses SOF with XTOS.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Fixes a lot of instances of this warning:
Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/cache@v3.0.11. For more information see:
https://github.blog/changelog/
2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes a lot of instances of this warning:
Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/upload-artifact@v3. For more information see:
https://github.blog/changelog/
2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
XTOS will be deprecated on imx8/imx8x and these platforms
will be moved to native Zephyr so remove them from the
QEMU boot test which uses SOF with XTOS.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Force -DCONFIG_OUTPUT_DISASSEMBLY=y when building Zephyr to make sure
the disassembly is compared between the Windows and Linux builds.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This saves time without affecting git describe like fetch depth does.
Also cancel fetch depth when building the firmware.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes the new mass warnings:
Node.js 16 actions are deprecated. Please update the following
actions to use Node.js 20: actions/checkout@v3. For more information
see:
https://github.blog/changelog/
2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
We've used checkout v4 in other places and everything worked fine.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
We want to catch warnings like the incompatible pointer warning fixed by
3f572b8cb6 ("Audio: ASRC: Fix the IPC3 incompatible pointer type")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes commit deed9a8808 ("scripts: fuzz: add support for build and
overlays")
The main issue was the way fuzz.sh was trying to parse the overlay
file. Drop that and just pass it as is to `west` and `cmake` instead,
they know what to do with it.
Also:
- Fix invalid syntax in stub_build_all_ipc4.conf
- Make fuzz.sh shellcheck-clean again. Always use shellcheck.
- Temporarily disable `CONFIG_COMP_SMART_AMP` in
stub_build_all_ipc3.conf because `smart_amp.c` does not compile (in
any configuration)
```
sof/src/audio/smart_amp/smart_amp.c:748:9: error:
no member named 'in_channels' in 'struct smart_amp_data'
sad->in_channels = audio_stream_get_channels(&source_buffer->stream);
```
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes commit 4bc6488b24 (".github/zephyr: de-hardcode the name of the
zephyr remote")
(Yay for duplication)
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
GitHub conveniently times each step but to reduce step proliferation we
sometimes have multiple commands in a single step and lose the ability
to time download commands. Prefix them with `time` to restore the data.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Migrate rimage build and cppcheck workflows from
sof/tools/rimage/.github/workflows/ (where they're ignored) to
sof/.github/workflows/
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
At the beginning, we have two build jobs in github
action to build IPC3 and IPC4 firmware for TGL/TGL-H.
The PR https://github.com/thesofproject/sof/pull/8048
switches cAVS2.5 configs to use IPC4 by default and
empties the cAVS2.5 overlay files. After the change,
the xtensa-build-zephyr.py script is building the
same IPC4 firmware with or without '-i IPC4' option.
So we have two jobs running different build command
but build the same IPC4 firmware.
Recently, commit 5004d0fe1e ("zephyr.yml: remove ipc
option for zephyr build") removes '-i IPC4' option
in github action for TGL/TGL-H IPC4 build. So we have
duplicated jobs to build firmware for TGL and TGL-H
in the end.
This patch removes the duplicated build job which previously
is used to build IPC3 firmware for TGL/TGL-H and obsolete
comments.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Add a sparse-specific workaround for the incompatibility with
picolibc (the new Zephyr default)
https://github.com/zephyrproject-rtos/zephyr/issues/63003
Also fix comment in commit 2a9473a17b ("app/prj.conf: disable PICOLIBC
with CONFIG_MINIMAL_LIBC=y"): we don't need to disable PICOLIBC
_everywhere_; we only need to disable it when using sparse.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
For TGL and TGL-H, IPC4 is the default build config,
remove the '-i IPC4' option as it is not needed
anymore.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
Fixes commit 4286bb3ee1 (".github/zephyr: west update with new, faster
git --filter-tree:0") that accidentally dropped git tags from `git
describe` in Zephyr since April and made the build different from
everyone else.
See detailed explanation added to the source.
To find the output of `git -C zephyr/ describe`, search for
`generated/version.h` in the build logs.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes commit 6f9f2ee28e (".github/zephyr: build with the debug overlay
and CONFIG_ASSERT")
Remove misspelled `zephyr_revsion` matrix variable. It was a hasty
copy/paste in that commit.
It's a harmless no-op because build-windows does not play any git tricks
and always builds from the manifest. However it makes the list of
configurations confusing in the Github interface.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
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>
We no longer use synthetic mimx93_a55_evk_sof board but
rather we customize already existing proper mimx93_a55_evk board.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
A ton of (valid!) warnings but this will make sure the code at least
compiles.
For more context see #7192
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Quoting @andyross in
https://github.com/thesofproject/sof/pull/7668#issuecomment-1561587959
> OK, as it turns out when running native_posix+fuzzing, the fuzzer
> output goes to stderr (and appears here) where the console output goes
> to stdout, and is currently being discarded. For a sanitizer-detected
> failure, that's actually fine as the stack trace will show up in the
> CI logs. But this was just a call to posix_exit(), which is an "error"
> to the fuzzer but not very informative to us without knowing the
> software state that led to it. Most likely this is a Zephyr
> panic (e.g. an assertion failure -- not a trap like SIGSEGV/SIGILL
> that would be caught by the host OS and thus libfuzzer), because the
> default fatal error handler is to tell the arch layer to do a system
> halt, and native_posix implements this by exiting. And it's certainly
> not unlikely to have been triggered by the fuzzing.
> Basically: @marc-hb if we could arrange to save the stdout of the
> offending fuzz process on failure that would be great. Alas this
> particular incident may have been lost, but there will surely be more.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This has bitrotten vs. the newer code upstream at oss-fuzz, involves
an expensive docker container build, and provides little value vs. the
newer fuzz.sh script that runs in the regular CI containers.
Let oss-fuzz handle the deep validation. We should be using fuzzing
as a smoke test via the existing scripts.
Signed-off-by: Andy Ross <andyross@google.com>
This got merged too fast. Turns out it broke the newer fuzz
integration that was in the same YAML file. Also there are some
evolving review comments. Will resubmit.
This reverts commit 11e57f5030.
Signed-off-by: Andy Ross <andyross@google.com>
Fuzzing via the new framework is now integrated at oss-fuzz upstream,
so there's no point to keep this in SOF anymore. The github workflow
has bitrot vs. the newer build.sh, and that docker build is very
heavyweight vs. the newer fuzz.sh smoke test that runs in the regular
build container anyway.
Signed-off-by: Andy Ross <andyross@google.com>
Runner OS for the Zephyr workflow had been updated to Ubuntu 22.04,
so upgrading this workflow too.
Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
New Zephyr Docker container v.26.4 is based on Ubuntu 22.04,
upgrading build-linux job OS to match the one in the container.
Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Installation of new Zephyr SDK 0.16.1 does not require unzip anymore
in the setup.cmd script. This tool had been replaced by 7z that is
by default present on all Github Windows runners.
Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Zephyr main branch requires new Zephyr SDK.
Upgraded version of Zephyr SDK to newest available v0.16.1 in the
build-windows job. New SDK is backward compatible with old Zephyr
revisions so the upgrade is applied to all CI.
Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
This hasn't been required since Zephyr commit 91902c5fd4db ("cmake: add
sparse support to the new SCA infrastructure")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Let's try to fix the error below spotted in
https://github.com/thesofproject/sof/actions/runs/4981366388
I have no idea why this worked before and not anymore but if this makes
apt happy then we're happy.
```
libstdc++-12-dev:i386 :
Depends: libstdc++6:i386 (>= 12.1.0-2ubuntu1~22.04) but it is not
going to be installed
Depends: libc6-dev:i386 (>= 2.13-0ubuntu6) but it is not installable
```
Signed-off-by: Marc Herbert <marc.herbert@intel.com>