Commit Graph

28 Commits

Author SHA1 Message Date
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 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 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 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 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 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
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
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 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 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 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 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
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
Curtis Malainey 0a1029c2a2 actions: consolidate yamlint
Lets not trust that everyone remembers to lint themselves or that they
fetch the repo in order to execute their job.

Also rename workflow file to be a bit more generic

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2021-05-18 17:24:22 +01:00
Marc Herbert 40c9bb2e30 .github: switch docker image from ':latest' to ':v0.17.3'
Even though "latest" is being referenced by the current
https://github.com/zephyrproject-rtos/docker-image/tree/072880b3#readme
I've been told it's too "bleeding edge" to be used in CI.

v0.17.3 also has libssl-dev which was the only thing we were missing.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-05-13 12:00:45 +01:00
Marc Herbert 014a386dfb .github: add Zephyr build
Use the official image from the Zephyr project
https://github.com/zephyrproject-rtos/docker-image

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-04-30 11:12:29 +01:00