forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
63 lines (54 loc) · 2.07 KB
/
installer.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
# 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, workflow_call]
jobs:
checktree:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix: # just a vector in this case
make_env: [
IPC_VERSION= UNSIGNED_list='imx8m' SIGNED_list=, # default version
]
steps:
- uses: actions/checkout@v4
with: {fetch-depth: 0, submodules: recursive, filter: 'tree:0'}
- name: docker
run: docker pull thesofproject/sof && docker tag thesofproject/sof sof
# -j3 tests the ability to build multiple platforms
# concurrently. It makes the build log unreadable, so retry with
# a single thread in case of failure
- name: build all and stage
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[@]}" ||
VERBOSE=1 NO_PROCESSORS=1 USE_XARGS=no
./scripts/docker-run.sh
make -j1 -C installer/ tarball "${env_array[@]}"
- name: check staging tree
env:
gh_make_env: ${{ matrix.make_env }}
run: eval env_array=($gh_make_env) &&
make -C installer/ checktree "${env_array[@]}"
- 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 .