Commit Graph

79 Commits

Author SHA1 Message Date
Marc Herbert b7708182fb .github: fail on errors and address space warnings in sparse output
sparse does not have a useful exit status so let's use 'grep' instead.

Fixes: #6317

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-01 10:55:58 +00:00
Marc Herbert de90f55657 .github: extract standalone testbench.yml from Main Actions
Divide and Conquer.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-10-24 12:20:11 +01:00
Marc Herbert 6adf9acbad .github/sparse: add MTL
Add the wrong compiler currently expected by the Zephyr build system,
very easy one-line change later, get sparse results for MTL NOW!

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-10-19 16:36:41 +03:00
Marc Herbert d56d8ab01c scripts/build-tools.sh: switch to Ninja because make is too verbose
Make prints a line for every topology that is already up to date and not
rebuilt. It's impossible to see what was done.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-10-10 11:34:11 +01:00
Marc Herbert 77bb169887 .github: de-hardcode zephyr SDK version in sparse build
Also add references documenting sparse's REAL_CC pain.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-10-10 11:29:05 +01:00
Marc Herbert 0b757a594f Add sparse_always_green to Github Actions
The next step is to find how to extract the (too many?) errors.

In the mean time this already makes sure the build process never bitrots
and that it will always possible to use sparse. It also "documents" how
to use sparse: just copy/paste the commands run by CI.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-09-26 12:33:56 +01:00
Marc Herbert 3d69a7f69e .github: extend yamllint line-length to 100
Also run on west.yml

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-09-26 12:33:56 +01:00
Marc Herbert cb656fe5cd .github/zephyr.yml: fix IPC3 / IPC4 comments
MTL is IPC4 by default.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-09-23 16:29:48 +01:00
Adrian Warecki 784bce763c mtl: Added meteorlake platform to the build system
Added new mtl platform to xtensa-build-zephyr.py.
Added ace directories to cmake files.
Added ACE to kconfig.
Add Meteorlake platform to be built with Zephyr under
CONFIG_ACE_VERSION_1_5 flag.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Signed-off-by: Konrad Leszczynski <konrad.leszczynski@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Signed-off-by: Rafal Redzimski <rafal.f.redzimski@intel.com>
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2022-09-21 15:15:26 +02:00
Fred Oh fe7f44e287 .github: add octave packages for testbench
process_test requires octave. Before running octave,
signal and io pakcages should be loaded.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2022-09-07 22:09:33 +01:00
Marc Herbert 5b3186f60d .github/zephyr.yml: use new script zephyr/docker-run.sh
Reduces duplication and makes reproduction of issues found in Github
Actions much easier.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-09-01 16:26:02 +01:00
Marc Herbert c95d801a99 Revert "github/zephyr.yml: use Zephyr docker-image v0.24.2"
This reverts commit e29572bb2d.

The Zephyr SDK 0.15.0 was exceptionally backwards-incompatible, which
meant the docker image could not have it ahead of time as usual, which
caused some CI failures. More details in
https://github.com/zephyrproject-rtos/zephyr/pull/49496

These CI failures were not a bug, they were a "feature": they drew our
attention to how unusual 0.15.0 was and they let us inform developers
before they hit the issue. Continuous Integration at its best; we want
more of that.

Before this unusual 0.15.0 event we had been using "latest" for many
months without any issue.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-09-01 16:26:02 +01:00
Marc Herbert 0209c464e6 .github/qemu,gcc-build-only: remove byt..icl platforms
Not supported in the main branch anymore, go to stable-v2.3

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-31 21:03:16 +01:00
Marc Herbert e09d853121 installer: remove byt..jsl platforms
Not supported in the main branch anymore, go to stable-v2.3

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-31 21:03:16 +01:00
Kai Vehmanen e29572bb2d github/zephyr.yml: use Zephyr docker-image v0.24.2
Recommendation from Zephyr infrastructure is to use a specific
version of the docker-image. This time we need this to upgrade
to SDK 0.15, which is a requirement to use latest main of
Zephyr. The current "latest" tag does not have 0.15 SDK.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-08-31 10:33:46 +01:00
Marc Herbert 5135e7e261 .github: testbench: apt get libasound2-dev
Incoming topology re-org PR #6009 adds a new dependency on alsa headers.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-25 13:13:44 +01:00
Marc Herbert 12451fe5b8 .github: testbench: stop using container to build test topologies
Ubuntu 22.04 has ALSA 1.2.6 without ASRC failure #2543

Building in the container is much slower and updating the container is
also very time-consuming. Must be used only when really required.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-25 13:13:44 +01:00
Marc Herbert 5ff35157dd .github: build and run testbench with Ubuntu 22.04
Good bye old bugs, hello new bugs.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-25 13:13:44 +01:00
Fred Oh 63b0d80562 .github: add rmb to gcc build only platform
SOF Docker image supports AMD/Rembrandt gcc toolchain from tag 20220809,
which is latest as of now.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2022-08-10 21:26:07 +01:00
Marc Herbert cbd17c43ea .github/zephyr.yml: cosmetic matrix re-ordering
No functional change, this is a pure re-ordering of the matrix
parameters to put the shorter ones first which helps see more in narrow
columns like when looking as build logs on github.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-05 16:19:36 +01:00
Marc Herbert a114c45b2a .github/zephyr.yml: separate platforms a bit
It's faster like this and we also want platform-specific failures to be
identify as such and not block compilation of other platforms.

Also removed obsolete comment that sneaked in previous commit by
mistake and remove duplicate "zephyr" in the job name.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-05 10:18:38 +01:00
Marc Herbert 8543f5c889 .github: compile-test multiple zephyr revisions + IPC4
This will show very clearly:
- upstream Zephyr regressions
- upstream Zephyr progressions / fixes

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-08-04 12:48:50 +01:00
Andrey Borisovich b371373f7d scripts: docker-build.sh updated with changes from xtensa-build-zephyr.py
Removed old flags from python script call and replaced with
new one. Added one more working directory to zephyr-build container
now SOF is placed in /workdir/sof and west workspace in /workdir .

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-08-03 11:43:22 +01:00
Marc Herbert 4c3ea714fa .github: doxygen: use the newer and better FAIL_ON_WARNINGS
Unlike the older 'YES', FAIL_ON_WARNINGS reports all warnings.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-07-07 10:49:04 +01:00
Marc Herbert ceacbefd03 .github: doxygen: upgrade to Ubuntu 22.04
This should upgrade doxygen from version 1.8.17 to 1.9.1

This will hopefully provide FAIL_ON_WARNINGS and fix issues like
https://github.com/doxygen/doxygen/issues/7970

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-07-07 10:49:04 +01:00
Marc Herbert 4d03c269c2 .github: add sof-docs build to Github Actions
From time to time sof-docs regressions are introduced in sof.git. This
introduces a random and sometimes long delay between when the regression
is introduced and when it is found. A recent example is
https://github.com/thesofproject/sof/pull/5731#issuecomment-1175630147
where the doxygen comments were duplicated. Doxygen alone did not mind,
then the sof-docs build failed much later which took multiple people a
lot of time to understand and bisect.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-07-06 22:02:21 +01:00
Marc Herbert eaf95695f6 .github: independent strict and non-strict runs of check patch
This makes the difference between "strict" and regular failures very
clear.

Stopping after non-strict failures is misleading, it can give the wrong
impression that there are very few warnings left.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-06-07 22:02:38 +01:00
Marc Herbert 425a5b5577 .github: add mt8186 and mt8195
Thanks to Tinghan Shen and Fred Oh for making this happen.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-06-02 14:07:32 +01:00
Marc Herbert 8a7a1ad76a .github: add new job that builds all DEFAULT_PLATFORMS
This will make sure platforms without an open-source toolchain available
are added to SUPPORTED_PLATFORMS and do not break the -a option

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-06-02 14:07:32 +01:00
Tinghan Shen 41992a2bc5 .github: Add a TODO for mt81xx gcc build to pull request tests
Add masked mt81xx gcc build to pull request tests.
Unmask mt81xx after docker image updated with mt81xx toolchain.

Signed-off-by: Tinghan Shen <tinghan.shen@mediatek.com>
2022-05-25 11:43:20 +01:00
Marc Herbert 05969a0e34 .github: IPC4: build supported TGL platforms first
When the build fails we don't want to waste time wondering whether TGL
is affected or not. Other, unsupported platforms are only providing some
nice to have "randconfig" coverage (#5364), they're not important.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-04-27 10:51:22 +01:00
Marc Herbert dccf9c0798 .github/zephyr: download docker image from ghcr.io instead of docker.io
These are Github Actions, so let's use the Github server to increase
performance and reduce external dependencies.

According to https://github.com/zephyrproject-rtos/docker-image there is
no primary or secondary server for that image, they're both equivalent.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-04-27 10:46:48 +01:00
Marc Herbert 51bb6339f8 .github: add some IPC4 builds
Add all platforms that can currently be built with IPC4:

  cnl icl jsl tgl tgl-h

Can be adjusted any time later with a one-line change.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-04-25 16:39:50 +01:00
Marc Herbert 791efe2094 .github: build again single-threaded and verbose on failure
Building in parallel is much faster but it makes logs unreadable and
build failures impossible to understand. This is especially true when
building with recent ALSA that produces of deprecation warnings.

To show what actually fails, try to build again with a single thread.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-04-05 14:37:28 +01:00
Marc Herbert e2db3bcdb9 .github: switch to new xtensa-build-zephyr.py
Switch Github Actions away from older shell script.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-02-24 14:54:50 +00:00
Marc Herbert 9edc5725fd .github: add fail-fast: false to gcc builds and qemu boot tests
We don't want one failure to cancel other platforms.

See unwanted cancellation example in #5386 /
https://github.com/thesofproject/sof/runs/5241344411

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-02-18 21:05:55 +00:00
Marc Herbert 7f45cb7bde .github: add imx8ulp gcc build to pull request tests
Fixes commit b40a2f7d36 ("docker: Add support for i.MX8ULP platform")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-01-21 17:17:09 +00:00
Marc Herbert 62d57d699b .github: reformat platform list for qemu-boot-test
More future-proof. No functional change

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-01-21 17:17:09 +00:00
Marc Herbert 60be65b567 check patch: allow C99 comments
This is a logical revert of eb45907

Based on recently merged #4941, C99 comments are now OK. I never found
any rationale or even written down coding style for excluding them in
the first place.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-12-06 09:58:32 +00:00
Peter Ujfalusi aad035ac1e .github: workflows: codestyle: Drop --codespellfile
With the backported patch to checkpatch.pl the dictionary.txt location
should automagically found and no need to specify it by hand.

Suggested-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
2021-11-11 17:09:30 +00:00
Marc Herbert 5e17731290 .github: run new test-repro-build.sh
... in Github Actions.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-09-30 15:56:44 +01:00
Marc Herbert e104f84d95 .github/zephyr: switch the container back to the :latest version
Tired of fixing Zephyr breakages all the time (latest in
https://github.com/zephyrproject-rtos/zephyr/pull/38733)

Also unhardcode ZEPHYR_SDK_INSTALL_DIR thanks to the previous commit.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-09-28 16:13:27 +01:00
Chao Song 3e260cc8de .github: zephyr: upgrade zephyr SDK for APL
The upstream zephyr adds new SDK requirement for APL,
upgrade zephyr SDK version to 0.13.1 for APL build.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2021-09-27 15:16:14 +01:00
Seppo Ingalsuo b3c9ec46d9 Tools: Test: Audio: Run testbench tests with valgrind
The run with valgrind will error if memory leaks are detected.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2021-09-27 12:28:37 +01:00
Marc Herbert 83a992eb49 installer: add new tarball target
To help with the release process, see
https://github.com/thesofproject/sof-bin/commit/d908e5edeb5

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-09-24 15:04:22 +01:00
Marc Herbert e168513f18 .github: testbench: don't use docker to build the testbench
Because it's not needed.

Also add a comment explaining why it's still needed to build topologies
so we can remove it some day and test much faster.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-09-22 16:29:50 +01:00
Marc Herbert df376963df cmake/github: do not download rimage when CONFIG_LIBRARY/testbench
Faster CI and will catch any accidental dependency sneaking in.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-09-17 17:15:50 +01:00
Marc Herbert 9a231915ea .github/zephyr: add -Werror
Because we can. This would have caught this regression from
commit 287a5f9a2b ("ssp: mclk/bclk turned off unexpectedly")

-DEXTRA_CFLAGS is not very well documented but it is what Zephyr uses,
try `git -C zephyr grep -C 5 EXTRA_CFLAGS and see.

```
sof/src/drivers/intel/ssp/ssp.c: In function 'ssp_set_config_tplg':
sof/zephyr/include/sof/trace/trace.h:44:11: warning:
                   too many arguments for format [-Wformat-extra-args]
   44 |    printk("%llu: " format "\n", platform_timer_get(NULL), \
      |           ^~~~~~~~
  ...
sof/src/drivers/intel/ssp/ssp.c:763:4: note: in expansion of macro 'dai_info'
  763 |    dai_info(dai, "ssp_set_config(): hw_free stage:
                     ignore since there is still user", dai->index);
```

Using -Werror only in CI avoids slowing down developers with temporary
warnings they intend on fixing later (but before submission)

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-09-09 15:48:18 +01:00
Chao Song a12145431d .github/zephyr.yml: update docker for cmake requirement
The latest zephyr requires CMake version >= 3.20,
we have to update the docker image to meet the
requirement.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2021-08-23 10:04:56 +01:00
Chao Song 0673877881 github actions: update zephyr docker image to 0.18.1
The recent zephyr code add restriction to the SDK,
and requires the SDK version >= 0.13, we have to
update the docker image for zephyr SOF building.

As the default SDK version in docker image 0.18.1
is still 0.12.4, and the alternative SDK is 0.13.0,
we need to specify the SDK location with env.

Signed-off-by: Chao Song <chao.song@linux.intel.com>
2021-08-12 14:37:46 +01:00