aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2016-10-31 13:51:32 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-11-02 15:27:40 +1100
commit99f146145c49e960af6e7da9391908cb30617227 (patch)
treeb3ede2e0beaa0eafae02d77270f07c846beef375 /.travis.yml
parented9c11c90d30484072a3d39d8b6660992699198e (diff)
downloadskiboot-99f146145c49e960af6e7da9391908cb30617227.zip
skiboot-99f146145c49e960af6e7da9391908cb30617227.tar.gz
skiboot-99f146145c49e960af6e7da9391908cb30617227.tar.bz2
travis-ci: use Docker containers for a matrix of platforms
This greatly simplifies the build process for travis, yet makes it more powerful and increases coverage without increasing wall time to test. Travis has the concept of a build matrix, and we want to ensure we continue to build succesfully on a variety of platforms and compiler combinations. We limit what we run on some OSs to conserve vital sanity. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml59
1 files changed, 30 insertions, 29 deletions
diff --git a/.travis.yml b/.travis.yml
index de21952..a0fe33e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,41 +1,42 @@
language: c
-sudo: required
-dist: trusty
-
-before_install:
- - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt
- - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- - sudo apt-get update -qq
- - sudo apt-get install -y gcc-4.8 libstdc++6 valgrind expect xterm
- - sudo apt-get install -y gcc-arm-linux-gnueabi gcc-powerpc64le-linux-gnu gcc
- - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
- - wget https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.8.0/x86_64-gcc-4.8.0-nolibc_powerpc64-linux.tar.xz
- - sudo mkdir /opt/cross
- - sudo tar -C /opt/cross -xvf x86_64-gcc-4.8.0-nolibc_powerpc64-linux.tar.xz
- - wget ftp://public.dhe.ibm.com/software/server/powerfuncsim/p8/packages/v1.0-2/systemsim-p8_1.0-2_amd64.deb
- - sudo dpkg -i systemsim-p8_1.0-2_amd64.deb
- - ./opal-ci/install-deps-qemu-powernv.sh
-
env:
+ matrix:
+ - RUN_ON_CONTAINER=ubuntu-12.04
+ - RUN_ON_CONTAINER=ubuntu-16.04
+ - RUN_ON_CONTAINER=ubuntu-latest
+ - RUN_ON_CONTAINER=centos6
+ - RUN_ON_CONTAINER=centos7
+ - RUN_ON_CONTAINER=fedora24
global:
- - CROSS=/opt/cross/gcc-4.8.0-nolibc/powerpc64-linux/bin/powerpc64-linux-
- - HOSTCC=gcc-4.8
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- - secure: "MpNEGFa1VrF/vsQq24n5UgfRbz1wVC6B8mubFnyK4gX0IuQ9xhWuTzMLUQF9UJxe5jnC2DTmVUvYTYN/hggw+PpYwbOOAE0QGR5pmPHA4PSRmc5pxt1q18/sv7EPFw66GFyWJq94nWjpigyKQ8KGtA67j1xFqrDoS43OA76WZgo="
+ secure: "MpNEGFa1VrF/vsQq24n5UgfRbz1wVC6B8mubFnyK4gX0IuQ9xhWuTzMLUQF9UJxe5jnC2DTmVUvYTYN/hggw+PpYwbOOAE0QGR5pmPHA4PSRmc5pxt1q18/sv7EPFw66GFyWJq94nWjpigyKQ8KGtA67j1xFqrDoS43OA76WZgo="
+
+sudo: required
+services: docker
+
+dist: trusty
+
+before_install:
+ - echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt
script:
- - if [ ${COVERITY_SCAN_BRANCH} != 1 ]; then
- (cd opal-ci; ./build-qemu-powernv.sh) &&
- ./opal-ci/fetch-debian-jessie-installer.sh &&
- make -j4 all check ; (make clean; cd external/gard && CROSS= make) &&
- (cd external/pflash; ./build-all-arch.sh) &&
- make clean && SKIBOOT_GCOV=1 make && SKIBOOT_GCOV=1 make check &&
- make clean && rm -rf builddir && mkdir builddir && make SRC=`pwd` -f ../Makefile -C builddir &&
- make clean;
- fi
+ - if [ ${COVERITY_SCAN_BRANCH} != 1 ]; then
+ docker build -t ${RUN_ON_CONTAINER} -f opal-ci/Dockerfile-${RUN_ON_CONTAINER} . &&
+ docker run --rm -t $RUN_ON_CONTAINER;
+ fi
+ - if [ ${COVERITY_SCAN_BRANCH} == 1 ]; then
+ sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test &&
+ sudo apt-get update -qq &&
+ sudo apt-get install -y gcc-4.8 libstdc++6 valgrind expect xterm &&
+ sudo apt-get install -y gcc-arm-linux-gnueabi gcc-powerpc64le-linux-gnu gcc &&
+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 &&
+ wget https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.8.0/x86_64-gcc-4.8.0-nolibc_powerpc64-linux.tar.xz &&
+ sudo mkdir /opt/cross &&
+ sudo tar -C /opt/cross -xvf x86_64-gcc-4.8.0-nolibc_powerpc64-linux.tar.xz;
+ fi
addons:
coverity_scan: