forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request thesofproject#10 from nashif/update_may
Update to latest SOF and fix workq
- Loading branch information
Showing
518 changed files
with
21,029 additions
and
9,975 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#!/bin/sh | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
|
||
set -e | ||
|
||
# The purpose of this script is not to stop on the first checkpatch | ||
# failure and report at the end instead. | ||
# | ||
# Sample invocation: | ||
# $0 --codespell --strict < PR_SHAs.txt | ||
main() | ||
{ | ||
local failures=0 | ||
while read -r sha ; do | ||
printf '\n -------------- \n\n' | ||
./scripts/checkpatch.pl $@ -g $sha || failures=$((failures+1)) | ||
done | ||
printf '\n -------------- \n\n' | ||
return $failures | ||
} | ||
|
||
main "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
--- | ||
# Tools that can save round-trips to github and a lot of time: | ||
# | ||
# yamllint -f parsable this.yml | ||
# pip3 install ruamel.yaml.cmd | ||
# yaml merge-expand this.yml exp.yml && diff -w -u this.yml exp.yml | ||
# | ||
# github.com also has a powerful web editor that can be used without | ||
# committing. | ||
|
||
name: installer | ||
|
||
# 'workflow_dispatch' allows running this workflow manually from the | ||
# 'Actions' tab | ||
# yamllint disable-line rule:truthy | ||
on: [push, pull_request, workflow_dispatch] | ||
|
||
jobs: | ||
checktree: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
# From time to time this will catch a git tag and change SOF_VERSION | ||
with: {fetch-depth: 50, submodules: recursive} | ||
|
||
- name: yamllint ourselves | ||
run: yamllint .github/workflows/installer.yml | ||
|
||
- name: docker | ||
run: docker pull thesofproject/sof && docker tag thesofproject/sof sof | ||
|
||
# FIXME: update the docker image instead | ||
- name: HACK add tree to the docker PATH | ||
run: | | ||
cp -a /usr/bin/tree . | ||
printf '%s\n' 'PATH=$PATH:$(pwd)' > stage.sh | ||
printf '%s\n' 'make -j3 -C installer/ stage' >> stage.sh | ||
# -j3 tests the ability to build multiple platforms | ||
# concurrently. It makes the build log unreadable but that's OK | ||
# because we have other, slower actions with readable logs. | ||
- name: build all and stage | ||
run: ./scripts/docker-run.sh sh -x ./stage.sh | ||
|
||
- name: check staging tree | ||
run: make -C installer/ checktree | ||
|
||
- name: test make cleanall | ||
run: | | ||
make -C installer cleanall | ||
# Make sure there's nothing left | ||
rm -rf scripts/kconfig/__pycache__/ | ||
rm ./tree ./stage.sh # HACK, see above | ||
! git status --porcelain --ignored | grep . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
|
||
# 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 these commits | ||
# this build fails as desired. | ||
# | ||
# For the actual fuzzer see tools/oss-fuzz/README. | ||
|
||
name: Scant fuzz compile | ||
|
||
# 'workflow_dispatch' allows running this workflow manually from the | ||
# 'Actions' tab | ||
# yamllint disable-line rule:truthy | ||
on: [push, pull_request, workflow_dispatch] | ||
|
||
jobs: | ||
scant-fuzzer-build: | ||
runs-on: ubuntu-20.04 | ||
env: | ||
OUT: unused_runtime_output_dir | ||
steps: | ||
- uses: actions/checkout@v2 | ||
# From time to time this will catch a git tag and change SOF_VERSION | ||
with: {fetch-depth: 10, submodules: recursive} | ||
|
||
- name: yamllint ourselves | ||
run: yamllint .github/workflows/scant_fuzzer.yml | ||
|
||
- name: cmake configuration | ||
run: cmake -B fuzz-build/ -S tools/oss-fuzz/ | ||
|
||
# Ninja does not give us access to the internal fuzz_ipc.o target | ||
# so we use make. TODO: isolate the link target in CMakelists.txt | ||
- name: build | ||
run: | | ||
cd fuzz-build/ # make -C is too verbose | ||
# We cannot link because we have no main(); we're not the | ||
# real fuzzer | ||
make -j6 sof_ep fuzz_ipc.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--- | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
# Tools that can save round-trips to github and a lot of time: | ||
# | ||
# yamllint -f parsable this.yml | ||
# pip3 install ruamel.yaml.cmd | ||
# yaml merge-expand this.yml exp.yml && diff -w -u this.yml exp.yml | ||
# | ||
# github.com also has a powerful web editor that can be used without | ||
# committing. | ||
|
||
name: checkpatch | ||
|
||
# yamllint disable-line rule:truthy | ||
on: [pull_request] | ||
|
||
jobs: | ||
checkpatch: | ||
runs-on: ubuntu-20.04 | ||
env: | ||
PR_NUM: ${{github.event.number}} | ||
# TODO: reduce duplication with scripts/sof-*-commit-hook.sh | ||
# thanks to either some .conf file or some wrapper script | ||
CHK_CMD_OPTS: --ignore UNKNOWN_COMMIT_ID --codespell --codespellfile | ||
/usr/lib/python3/dist-packages/codespell_lib/data/dictionary.txt | ||
--ignore C99_COMMENT_TOLERANCE | ||
steps: | ||
# depth 2 so: | ||
# ^1. we can show the Subject of the current target branch tip | ||
# ^2. we reconnect/graft to the later fetch pull/1234/head, | ||
- uses: actions/checkout@v2 | ||
with: {fetch-depth: 2} | ||
|
||
- name: yamllint ourselves | ||
run: yamllint .github/workflows/shallow_checkpatch.yml | ||
|
||
- name: install codespell | ||
run: sudo apt-get -y install codespell && dpkg -L codespell | grep dict | ||
|
||
# See shallowness issue https://github.com/thesofproject/linux/issues/2556 | ||
- name: fetch PR commits | ||
run: | | ||
.github/workflows/shallowfetchPRcommits.sh \ | ||
${GITHUB_REPOSITORY} "$PR_NUM" | ||
# show what we got | ||
git --no-pager log --oneline --graph --decorate --max-count=50 | ||
- name: normal checkpatch | ||
run: .github/workflows/checkpatch_list.sh ${CHK_CMD_OPTS} < PR_SHAs.txt | ||
|
||
- name: checkpatch --strict | ||
run: .github/workflows/checkpatch_list.sh ${CHK_CMD_OPTS} | ||
--strict < PR_SHAs.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
#!/bin/sh | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
|
||
set -e | ||
|
||
# This script fetches Pull Request commits missing from a shallow clone | ||
# and creates a PR_SHAs.txt file. This script has a limit of 500 commits but the | ||
# github API used has a lower limit of 250 commits. | ||
|
||
# It does not rely on git merge-bases which basically don't work with | ||
# shallow clones: | ||
# https://github.com/thesofproject/linux/issues/2556 | ||
|
||
# Design goals: | ||
# | ||
# - Keep the code short and as simple as possible. No one is interested | ||
# in maintaining this sort of script. | ||
# | ||
# - Fast and accurate for small Pull Requests | ||
# | ||
# - For large Pull Requests _with merges_ the only objective is to | ||
# complete in a reasonable time; say less than 10 minutes. It's very | ||
# unlikely will look at 250 checkpatch results and time optimizations | ||
# should not make this script more complex. | ||
|
||
|
||
# Sample usage: | ||
# $0 thesoftproject/linux 2772 | ||
main() | ||
{ | ||
local gh_project="$1" | ||
local pr_number="$2" | ||
|
||
printf '%s: fetching PR %d for project %s\n' "$0" "$pr_number" "$gh_project" | ||
|
||
# As of March 2021, Github's documented limit is 250 commits | ||
# Let's have another cap a 500. | ||
# https://docs.github.com/en/rest/reference/pulls#list-commits-on-a-pull-request | ||
local pagelen PRlen=0 | ||
for i in 1 2 3 4 5; do | ||
curl -H 'Accept: application/vnd.github.v3+json' \ | ||
"https://api.github.com/repos/$gh_project/pulls/$pr_number/commits?per_page=100&page=$i" \ | ||
> commits_"$i".json | ||
pagelen=$(jq length < commits_$i.json) | ||
if [ "$pagelen" -eq 0 ]; then | ||
break | ||
fi | ||
PRlen=$((PRlen + pagelen)) | ||
done | ||
|
||
printf 'Found %d commits, SHA1 list is in PR_SHAs.txt\n' "$PRlen" | ||
|
||
# 'cut' removes double quotes | ||
cat commits_?.json | | ||
jq '.[] | .sha' | | ||
cut -b2-41 > PR_SHAs.txt | ||
|
||
# PRlen+1 gets us the merge base for simple, linear histories. For | ||
# pull requests with merges, depth=PRLEN goes already much further | ||
# than needed and +1 makes little difference. It's not clear when | ||
# and for what sort of PRs git fetching individual commits would be | ||
# faster so keep a single and simple fetch for now. | ||
|
||
set -x # this command may take a while so show it | ||
git fetch --depth "$((PRlen+1))" "https://github.com/$gh_project" "pull/$pr_number/head" | ||
|
||
} | ||
|
||
main "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
|
||
name: Zephyr | ||
|
||
# 'workflow_dispatch' allows running this workflow manually from the | ||
# 'Actions' tab | ||
# yamllint disable-line rule:truthy | ||
on: [push, pull_request, workflow_dispatch] | ||
|
||
jobs: | ||
zephyr-build: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
# From time to time this will catch a git tag and change SOF_VERSION | ||
with: {fetch-depth: 10, submodules: recursive} | ||
|
||
- name: yamllint ourselves | ||
run: yamllint .github/workflows/zephyr.yml | ||
|
||
- name: build | ||
run: docker run -v "$(pwd)":/workdir | ||
docker.io/zephyrprojectrtos/zephyr-build:latest | ||
./zephyr/docker-build.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
[submodule "rimage"] | ||
path = rimage | ||
url = https://github.com/thesofproject/rimage.git | ||
branch = master | ||
url = ../rimage.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.