Commit Graph

58 Commits

Author SHA1 Message Date
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
Marc Herbert b63b8e992b .github: run unit tests with -DBUILD_UNIT_TESTS_HOST=ON
Because we can.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-07-26 09:19:50 +01:00
Marc Herbert 27fd46f69f .github/installer.yml: remove cp -a /usr/bin/tree hack
The docker image has it now thanks to Fred.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-07-13 15:34:45 +01:00
Marc Herbert cc3b302797 .github: add build-tools.sh (all) back, lost with Travis
We used to do this in Travis, see commit 7072eb4447 ("travis: run
build-tools.sh with CMAKE_BUILD_TYPE=Release") and older.

Related to issue #4141 build-tools.sh -T does not build development
topologies.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-05-24 15:27:18 -07:00
Marc Herbert ab08781733 .github/ipc_fuzzer: add back local compilation hack as a comment
... because it has definitely helped reproduce compilation issues in the
past in just two lines without going through the whole setup process,
see a list of examples in #4126.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-05-19 10:40:00 +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
Curtis Malainey e11c3c9e51 actions: rename fuzzer job
rename scant to ipc as this is the ipc fuzzer

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2021-05-18 17:24:22 +01:00
Curtis Malainey 39551b08ce actions: scant fuzzer: refactor CI build
Use oss-fuzz infra to make sure we don't break the fuzzer

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 e27cb45663 .github: add scant_fuzzer.yml build
This is NOT how to properly compile the fuzzer, this is only to detect
earlier and faster problems like
https://github.com/thesofproject/sof/pull/3824 (288e228) and
https://github.com/thesofproject/sof/pull/4118 (758e7be)

In other words, when reverting the oss-fuzz parts of either of these
commits this build fails as desired.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-05-03 09:31:00 +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
Marc Herbert eb459078f3 checkpatch: --ignore C99_COMMENT_TOLERANCE
Let's not waste considerable time in code reviews with silly problems
computers can solve.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-31 16:26:03 +01:00
Marc Herbert d7c8ccc625 .github/pull-request.yml: watch "main" branch instead of master
Will hopefully fix mysterious CI hangs.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-30 11:35:27 -07:00
Marc Herbert 7e19c42404 .github: replace HAVE_CONFIG KConfig hack with an override
Should make git describe --dirty clean.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-23 12:17:22 +00:00
Marc Herbert 6541a86101 check patch: ignore UNKNOWN_COMMIT_ID in shallow clone
Cause it's obviously missing from a shallow clone most of the time.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-11 13:15:31 +02:00
Marc Herbert 30212950a8 .github: yamllint installer.yml
Just like the others.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-09 20:12:58 +00:00
Marc Herbert 7baa878610 .github/check patch: do not stop on the first failure
Add new script to reduce duplication and ease local testing.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-09 20:12:58 +00:00
Marc Herbert 3bb33ded0a .github: http://github.com -> https://
Avoids the following redirection and warning:

 warning: redirecting to https://github.com/thesofproject/sof/

Fixes: f59bb62e31 (".github: add shallow checkpatch to Github
Actions")

Also try to fix the display of one step name in the web UI.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-09 20:12:58 +00:00
Marc Herbert f59bb62e31 .github: add shallow checkpatch to Github Actions
Let's try to run checkpatch in an open-source and fast way while
leveraging Github's very good user interface.

Run checkpatch both with and without --strict; this has been a source of
confusion in the past, see
https://github.com/thesofproject/linux/pull/1988

Note this attempt does not rely on git merge-bases which has been found
to be not compatible with shallow cloning:
https://github.com/thesofproject/linux/issues/2556

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-03-05 11:44:34 +00:00
Marc Herbert eb4373cb61 .github: new installer.yml
Builds everything, stage and check the output of the "tree" command

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-02-26 16:17:41 +00:00
Marc Herbert cdee91d01e .github: rename workflow from "Github Action CI" to "Github Actions"
The singular "Action" makes it look like our workflow is an action. The
plural "Github Actions" is at least the name of the product; so it's
vague enough.

A technically acccurate name would be "Main workflow" but we have only
one so it would be useless plus we're next to "Jenkins" and others and
want to stay consistent with them.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-01-28 13:20:22 +00:00
Pan Xiuli 76d2e10fa8 CI: GitHub action: change name shows on PR status
change name for the GitHub actions to make the status context name
show in PR check looks nicer

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2021-01-27 21:40:31 +00:00