sof/.travis.yml

106 lines
2.7 KiB
YAML

sudo: required
language: c
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=sue
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='sue'
- <<: *build-platform
env: PLATFORM='jsl'
- <<: *build-platform
env: PLATFORM='tgl'
- name: "./scripts/build-tools.sh"
before_install: *docker-pull-sof
script: ./scripts/docker-run.sh ./scripts/build-tools.sh
- name: "./scripts/host-build-all.sh"
before_install: *docker-pull-sof
script: ./scripts/docker-run.sh ./scripts/host-build-all.sh -l
# 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