Use Travis build matrix to test different platforms
Create a clean, minimal, cross-platform Travis script with a build matrix for testing different operating systems and architectures.
This commit is contained in:
parent
e2fc5dd2f8
commit
50c52d2b0f
26
.travis.sh
26
.travis.sh
@ -1,26 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -eux
|
||||
|
||||
case "$TARGET" in
|
||||
host)
|
||||
uname -a
|
||||
export LOADER=
|
||||
make ;;
|
||||
arm32)
|
||||
sudo bash -c 'echo >> /etc/apt/sources.list "deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe"'
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install gcc-4.7-arm-linux-gnueabihf qemu binfmt-support
|
||||
make CC="arm-linux-gnueabihf-gcc-4.7"
|
||||
export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib
|
||||
#export LOADER=/usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3
|
||||
export LOADER="echo TESTS DISABLED ON ARM"
|
||||
;;
|
||||
*)
|
||||
echo 'Unknown TARGET!'
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
$LOADER make check
|
||||
|
||||
make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
|
21
.travis.yml
21
.travis.yml
@ -1,13 +1,16 @@
|
||||
sudo: required
|
||||
dist: trusty
|
||||
language: c
|
||||
script: ./.travis.sh
|
||||
os:
|
||||
- linux
|
||||
env:
|
||||
- TARGET=host
|
||||
- TARGET=arm32
|
||||
|
||||
script:
|
||||
- make $FLAGS
|
||||
- make check $FLAGS
|
||||
- make clean && git status --ignored --porcelain && test -z "$(git status --ignored --porcelain)"
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- os: osx
|
||||
env: TARGET=arm32
|
||||
include:
|
||||
- os: linux
|
||||
env: FLAGS="CC=gcc"
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
Loading…
x
Reference in New Issue
Block a user