forked from thesofproject/sof
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
113 lines (86 loc) · 2.95 KB
/
.travis.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
---
# Suggested tools that can save round-trips to github and a lot of time:
#
# yamllint .travis.yml
# ~/.gem/ruby/2.7.0/bin/travis lint .travis.yml
# yaml merge-expand .travis.yml exp.yml && diff -b -u .travis.yml exp.yml
language: c
# Ubuntu 20.04 LTS
dist: focal
git:
depth: false
services:
- docker
# We don't need the strict sequence of stages; for now we use stages
# only as presentation labels. Nothing in stage "tests" will run if
# anything in buildonly fails; in the future we may want to get rid of
# stages.
stages:
- buildonly
- tests
# 'name:'-less jobs appear with their env, e.g.: PLATFORM=tgl
jobs:
include:
# stage buildonly
- &build-platform
stage: buildonly
before_install:
&docker-pull-sof
docker pull thesofproject/sof && docker tag thesofproject/sof sof
script:
./scripts/docker-run.sh ./scripts/xtensa-build-all.sh -r $PLATFORM
env: PLATFORM='jsl'
- <<: *build-platform
env: PLATFORM='sue'
- <<: *build-platform
env: PLATFORM='tgl'
- <<: *build-platform
env: PLATFORM='tgl-h'
- name: "./scripts/build-tools.sh Release"
before_install: *docker-pull-sof
script: CMAKE_BUILD_TYPE=Release ./scripts/docker-run.sh ./scripts/build-tools.sh
# stage tests
- &qemuboottest
stage: tests
script:
- sed -i $(($(grep "config HAVE_AGENT" -n src/platform/Kconfig |
cut -f1 -d:)+2))"s/default y/default n/" src/platform/Kconfig
- ./scripts/docker-run.sh ./scripts/xtensa-build-all.sh -r $PLATFORM
- ./scripts/docker-qemu.sh ../sof.git/scripts/qemu-check.sh $PLATFORM
env: PLATFORM='byt cht'
before_install:
- *docker-pull-sof
- docker pull thesofproject/sofqemu &&
docker tag thesofproject/sofqemu sofqemu
- <<: *qemuboottest
env: PLATFORM='bdw hsw'
- <<: *qemuboottest
env: PLATFORM='apl skl kbl'
- <<: *qemuboottest
env: PLATFORM='cnl icl'
- <<: *qemuboottest
env: PLATFORM='imx8 imx8x imx8m'
- name: testbench
before_install: *docker-pull-sof
script:
# testbench needs some topologies
- ./scripts/docker-run.sh ./scripts/build-tools.sh -t
- ./scripts/docker-run.sh ./scripts/rebuild-testbench.sh
- ./scripts/host-testbench.sh
- name: doxygen
before_install: sudo apt-get -y install ninja-build doxygen graphviz
script:
# Show ALL warnings. Warnings don't cause doxygen to fail (yet).
- mkdir -p doxybuild && pushd doxybuild && cmake -GNinja -S ../doc &&
ninja -v doc
- popd
# Build again (it's very quick) and report a failure in Travis if
# any issue. This time doxygen stops on the first issue.
- printf 'WARN_AS_ERROR = YES\n' >> doc/sof.doxygen.in
- ninja -C doxybuild -v doc
notifications:
irc:
channels:
- "chat.freenode.net#sof"
on_success: always
on_failure: always