Commit Graph

103 Commits

Author SHA1 Message Date
Marc Herbert 82220c823c github: add new SPDX-README.md and show it when checkpatch fails
Pleasing checkpatch is hard when adding new files.

This is tricky and comes up every time someone adds new files, examples
in #6284, #6796, #6931 , etc.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-01-11 17:10:43 +00:00
Marc Herbert 0658767b72 .github/sparse-zephyr: docker pull in a separate step
This saves a lot of scrolling in the next, most popular build step.

Missed in previous commit 52223eba2d (".github/zephyr: docker pull in
a separate step")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2023-01-04 13:51:19 +02:00
Marc Herbert 8dd1fce6da .github/zephyr: fix uploads overwriting each other
From
https://github.com/actions/upload-artifact#uploading-to-the-same-artifact

> Warning: Be careful when uploading to the same artifact via multiple
> jobs as artifacts may become corrupted.

Fix bug where IPC3 and IPC4 builds were randomly overwriting each
other and the same bug with different Zephyr revisions.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-29 11:59:08 +02:00
Marc Herbert 52223eba2d .github/zephyr: docker pull in a separate step
This saves a lot of scrolling in the next, most popular build step.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-23 11:00:38 +00:00
Andrey Borisovich 7531094050 .github/workflows: zephyr workflow windows-build uploads artifacts
Github allows to store build artifacts for 90 days after the build.
Somebody might want to examine the output of the build, now can
easily download everything that job produces.
In example, compile_commands.json file contains all compilation
commands in verbose that are not visible in the build log
by default.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-12-21 11:46:28 +00:00
Andrey Borisovich f51f296572 .github/workflows: added concurrency group to Zephyr workflow
Recently new feature had been introduced to Github actions
"concurrency" that allows to define a name for a group of workflows
that will cause old workflow to stop if the new one had been created
and the group name matches.
This improves usage of resources in SOF project by cancelling
running workflows when pushes to pull requests are done frequently
before old jobs are completed.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-12-21 11:46:28 +00:00
Andrey Borisovich 30c43c6dff .github/workflows: renamed Zephyr workflow "build" job to "build-linux"
Zephyr workflow had been added new build-windows job.
It makes sense to rename old "build" job yo "build-linux"
for consistency.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-12-21 11:46:28 +00:00
Andrey Borisovich df1ba22230 .github/workflows: added Windows CI job to Zephyr workflow
Added new job to Zephyr workflow running on windows-latest.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-12-21 11:46:28 +00:00
Marc Herbert 2ea4bc0ec4 .github/pull-request.yml: upgrade checkout v2 -> v3
This upgrade was already performed for other jobs in commit
f71eb15818 (".github/workflows: upgrade actions/checkout@v2 -> v3")
and everything went fine. Finish the job and get rid of the last
warnings in the daily tests (example:
https://github.com/thesofproject/sof/actions/runs/3709176785)

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-19 16:44:36 +00:00
Marc Herbert d652d1cd16 .github/zephyr: re-add TGL IPC3 build for now
Partial revert of commit 687c6f305e (".github: workflow: removed
legacy RTOS platforms from Zephyr build") that was a bit too
"enthousiastic".

When someone breaks the Zephyr+IPC3 build we'd like to: 1. notice, 2.
tell whether it's Intel-specific, IMX-specific or not specific.

This is a one-line change and unlike testing, building is "free".
It can be removed in a second when/if that becomes a burden.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-16 15:44:00 +02:00
Marc Herbert 03c078935d .github/zephyr: use a single job for both tgl and tgl-h
The list is getting too long and the "checks" box in the Github User
Interface is small.

Fixes commit 543acc124d (".github/workflows: add tgl-h IPC4 build")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-16 15:44:00 +02:00
Kai Vehmanen 543acc124d .github/workflows: add tgl-h IPC4 build
Add build check for Intel 'tgl-h' IPC4 build.

Link: https://github.com/thesofproject/sof/issues/6710
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-12-15 09:09:03 -08:00
Marc Herbert 6516f907aa sparse: pass platform argument to error filter script
So we can make adjust the warnings based on the platform.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-12 12:05:26 +00:00
Marc Herbert 2aa9527d0a .github/sparse: use --pristine
--pristine makes no difference for github but it's a good for anyone
trying to reproduce results and copying the command.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-12 12:05:26 +00:00
Marc Herbert 89ddee6961 .github/zephyr: git fetch more to fix version.h and reproducibility
We need the ability to reproduce CI builds easily.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-09 15:49:28 +00:00
Marc Herbert f71eb15818 .github/workflows: upgrade actions/checkout@v2 -> v3
This should get rid of most warnings in daily tests

```
Node.js 12 actions are deprecated. For more information see:

https://github.blog/changelog/
 2022-09-22-github-actions-all-actions-will-begin-running-on-node16...
Please update the following actions to use Node.js 16: actions/checkout@v2
```

Example at
 https://github.com/thesofproject/sof/actions/runs/3597808171

v3 seems backward compatible. Upgrade only the most used instances for
now (most used because of the `matrix` of platforms), upgrade everything
in a few days if no issue is spotted.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-12-07 11:53:47 +00:00
Andrey Borisovich 687c6f305e .github: workflow: removed legacy RTOS platforms from Zephyr build
Legacy platforms not meant to work with Zephyr were added
in commit ".github: compile-test multiple zephyr revisions + IPC4"
(8543f5c889).
Removed them from CI as they never should be built in the first place.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-12-02 12:36:15 +00:00
Andrey Borisovich b426d288d4 workflow: added daily tests
Existing daily tests run "Main Action" workflow from
pull-request.yml at 00:00 UTC time.
Tests may also be executed manually from Github Action tab.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-11-30 14:40:14 +00:00
Andrey Borisovich 98cbc7269d workflow: made "Main Actions" and "Zephry" workflows reusable
Reusable actions may be triggered by other actions in the
repository. Those two actions will be triggered by new
daily testy action at specified time of the day.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
2022-11-30 14:40:14 +00:00
Marc Herbert 606e3bed34 .github/checkpatch: rename --strict to --subjective
--subjective is strictly (pun intended) equivalent to --strict but it
makes it more obvious that "checkpatch is not always right" (c)
https://www.kernel.org/doc/html/latest/dev-tools/checkpatch.html

This should save some time in situations where some warnings conflict
with each other like for instance
https://github.com/thesofproject/sof/pull/6655#discussion_r1031572596

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-30 11:47:56 +00:00
Marc Herbert 04e63a90eb .github/sparse-zephyr: build and use our own sparse branch
We need urgent fixes like
`xtensa: switch to little endianness`
https://marc.info/?l=linux-sparse&m=166861736724543
and others.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-22 09:19:45 +00:00
Marc Herbert 14b2f89bd4 .github/sparse-zephyr: align Ubuntu version with zephyr-build
Safer to have nested containers identical to each other, will help share
binaries.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-22 09:19:45 +00:00
Marc Herbert 51310587f0 .github/sparse-zephyr: show full log first, then filtered sparse issues
Implement Guennadi's idea in #6590

Discarding all the output is too confusing.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-22 09:19:45 +00:00
Marc Herbert edb98071f8 .github: move sparse job to a separate workflow
Zero code change, pure move to a new file.

Similarity is not a very strong reason for the sparse job to be in the same
file as regular Zephyr compilation.

Unlike plain Zephyr compilation, the sparse job is very much a "work in
progress" which is currently failing all the time. Moving it to a
different file/workflow provides more configuration flexibility.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-11-18 10:49:20 +00:00
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