2021-02-22 15:29:22 +08:00
|
|
|
---
|
|
|
|
# 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
|
2022-04-23 09:08:15 +08:00
|
|
|
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix: # just a vector in this case
|
|
|
|
make_env: [
|
|
|
|
IPC_VERSION=, # default version
|
2022-08-31 21:49:41 +08:00
|
|
|
IPC_VERSION=IPC4 UNSIGNED_list= SIGNED_list='tgl tgl-h',
|
2022-04-23 09:08:15 +08:00
|
|
|
]
|
|
|
|
|
2021-02-22 15:29:22 +08:00
|
|
|
steps:
|
2023-05-03 04:21:55 +08:00
|
|
|
- uses: actions/checkout@v3
|
2021-02-22 15:29:22 +08:00
|
|
|
# From time to time this will catch a git tag and change SOF_VERSION
|
|
|
|
with: {fetch-depth: 50, submodules: recursive}
|
|
|
|
|
|
|
|
- name: docker
|
|
|
|
run: docker pull thesofproject/sof && docker tag thesofproject/sof sof
|
|
|
|
|
|
|
|
# -j3 tests the ability to build multiple platforms
|
2022-04-02 05:36:11 +08:00
|
|
|
# concurrently. It makes the build log unreadable, so retry with
|
|
|
|
# a single thread in case of failure
|
2021-02-22 15:29:22 +08:00
|
|
|
- name: build all and stage
|
2022-04-23 09:08:15 +08:00
|
|
|
env:
|
|
|
|
gh_make_env: ${{ matrix.make_env }}
|
|
|
|
# Use 'eval' to have two different levels of whitespace:
|
|
|
|
# 1. between vars, and 2. inside _lists. Quoting is hard, even
|
|
|
|
# harder through 'docker-run.sh'.
|
|
|
|
run: eval env_array=($gh_make_env) &&
|
|
|
|
./scripts/docker-run.sh
|
|
|
|
make -j3 -C installer/ tarball "${env_array[@]}" ||
|
2022-04-02 05:36:11 +08:00
|
|
|
VERBOSE=1 NO_PROCESSORS=1 USE_XARGS=no
|
2022-04-23 09:08:15 +08:00
|
|
|
./scripts/docker-run.sh
|
|
|
|
make -j1 -C installer/ tarball "${env_array[@]}"
|
2021-02-22 15:29:22 +08:00
|
|
|
|
|
|
|
- name: check staging tree
|
2022-04-23 09:08:15 +08:00
|
|
|
env:
|
|
|
|
gh_make_env: ${{ matrix.make_env }}
|
|
|
|
run: eval env_array=($gh_make_env) &&
|
|
|
|
make -C installer/ checktree "${env_array[@]}"
|
2021-02-22 15:29:22 +08:00
|
|
|
|
|
|
|
- name: test make cleanall
|
|
|
|
run: |
|
|
|
|
make -C installer cleanall
|
|
|
|
# Make sure there's nothing left
|
|
|
|
rm -rf scripts/kconfig/__pycache__/
|
|
|
|
! git status --porcelain --ignored | grep .
|