From d7f8a0236fb07029576e57289387f24e6965d1e8 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Tue, 3 Jan 2017 05:58:56 +0000 Subject: [PATCH] Split travis file into helper scripts. Added OSX build. * Setup and helper script per build target, currently: docs, linux & osx. --- .travis.yml | 51 +++++++++++++++++---------------- scripts/travis/docs_compile.sh | 2 ++ scripts/travis/docs_setup.sh | 3 ++ scripts/travis/linux_compile.sh | 3 ++ scripts/travis/linux_setup.sh | 8 ++++++ scripts/travis/osx_compile.sh | 2 ++ scripts/travis/osx_setup.sh | 3 ++ 7 files changed, 47 insertions(+), 25 deletions(-) create mode 100644 scripts/travis/docs_compile.sh create mode 100644 scripts/travis/docs_setup.sh create mode 100644 scripts/travis/linux_compile.sh create mode 100644 scripts/travis/linux_setup.sh create mode 100644 scripts/travis/osx_compile.sh create mode 100644 scripts/travis/osx_setup.sh diff --git a/.travis.yml b/.travis.yml index 6fbc3294f..c1a4f74be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,5 @@ language: cpp -sudo: required - -dist: trusty - -compiler: - - gcc - - clang - branches: only: - master @@ -15,31 +7,40 @@ branches: env: global: - RENDERDOC_TRAVIS_BUILD=1 RENDERDOC_CI_BUILD=1 - matrix: - - CODE_BUILD=1 LINUX_BUILD=1 DOCS_BUILD=0 -# only build docs once on linux matrix: fast_finish: true include: - - compiler: gcc - env: CODE_BUILD=0 LINUX_BUILD=0 DOCS_BUILD=1 +# only build docs on linux + - os: linux + dist: trusty + sudo: required + compiler: gcc + env: CODE_BUILD=0 LINUX_BUILD=0 APPLE_BUILD=0 DOCS_BUILD=1 + - os: linux + dist: trusty + sudo: required + env: CODE_BUILD=1 LINUX_BUILD=1 APPLE_BUILD=0 DOCS_BUILD=0 + compiler: gcc + - os: linux + dist: trusty + sudo: required + env: CODE_BUILD=1 LINUX_BUILD=1 APPLE_BUILD=0 DOCS_BUILD=0 + compiler: clang + - os: osx + osx_image: xcode8.2 + env: CODE_BUILD=1 LINUX_BUILD=0 APPLE_BUILD=1 DOCS_BUILD=0 + compiler: clang # install dependencies install: - - sudo add-apt-repository -y 'ppa:ubuntu-toolchain-r/test' - - sudo add-apt-repository -y 'ppa:beineri/opt-qt562-trusty' - - sudo add-apt-repository -y 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.8 main' - - wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - - - sudo apt-get update -qq - - if [[ "$CODE_BUILD" == "1" ]]; then sudo apt-get install --allow-unauthenticated -y -qq libx11-dev mesa-common-dev libgl1-mesa-dev qt56base qt56x11extras libxcb-keysyms1-dev gdb clang-format-3.8 ; fi - - if [[ "$DOCS_BUILD" == "1" ]]; then sudo pip install --upgrade pip setuptools ; sudo pip install Sphinx sphinx-rtd-theme ; fi - - if [[ "$CODE_BUILD" == "1" ]]; then clang-format-3.8 -i -style=file $(find pdblocate/ qrenderdoc/ renderdoc/ renderdoccmd/ renderdocshim/ -type f -regex '.*\(/3rdparty/\|/official/\|resource.h\).*' -prune -o -regex '.*\.\(c\|cpp\|h\)$' -print) ; fi + - if [[ "$DOCS_BUILD" == "1" ]]; then . ./scripts/travis/docs_setup.sh ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CODE_BUILD" == "1" ]]; then . ./scripts/travis/linux_setup.sh ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CODE_BUILD" == "1" ]]; then . ./scripts/travis/osx_setup.sh ; fi - git clean -f - git diff --exit-code script: - - sh ./scripts/hash_version.sh - - if [[ "$CODE_BUILD" == "1" ]]; then . /opt/qt56/bin/qt56-env.sh ; fi - - if [[ "$CODE_BUILD" == "1" ]]; then mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make ; fi -# - if [[ "$DOCS_BUILD" == "1" ]]; then cd docs/ && make html ; fi + - if [[ "$DOCS_BUILD" == "1" ]]; then . ./scripts/travis/docs_compile.sh ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CODE_BUILD" == "1" ]]; then . ./scripts/travis/linux_compile.sh ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CODE_BUILD" == "1" ]]; then . ./scripts/travis/osx_compile.sh ; fi diff --git a/scripts/travis/docs_compile.sh b/scripts/travis/docs_compile.sh new file mode 100644 index 000000000..3b8bc71ca --- /dev/null +++ b/scripts/travis/docs_compile.sh @@ -0,0 +1,2 @@ +#!/bin/sh +#cd docs/ && make html diff --git a/scripts/travis/docs_setup.sh b/scripts/travis/docs_setup.sh new file mode 100644 index 000000000..442f5e1c5 --- /dev/null +++ b/scripts/travis/docs_setup.sh @@ -0,0 +1,3 @@ +#!//bin/sh +sudo pip install --upgrade pip setuptools +sudo pip install Sphinx sphinx-rtd-theme diff --git a/scripts/travis/linux_compile.sh b/scripts/travis/linux_compile.sh new file mode 100644 index 000000000..5d0c01268 --- /dev/null +++ b/scripts/travis/linux_compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh +. /opt/qt56/bin/qt56-env.sh +mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make diff --git a/scripts/travis/linux_setup.sh b/scripts/travis/linux_setup.sh new file mode 100644 index 000000000..beb84b928 --- /dev/null +++ b/scripts/travis/linux_setup.sh @@ -0,0 +1,8 @@ +#!/bin/sh +sudo add-apt-repository -y 'ppa:ubuntu-toolchain-r/test' +sudo add-apt-repository -y 'ppa:beineri/opt-qt562-trusty' +sudo add-apt-repository -y 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise-3.8 main' +wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - +sudo apt-get update -qq +sudo apt-get install --allow-unauthenticated -y -qq libx11-dev mesa-common-dev libgl1-mesa-dev qt56base qt56x11extras libxcb-keysyms1-dev gdb clang-format-3.8 +clang-format-3.8 -i -style=file $(find pdblocate/ qrenderdoc/ renderdoc/ renderdoccmd/ renderdocshim/ -type f -regex '.*\(/3rdparty/\|/official/\|resource.h\).*' -prune -o -regex '.*\.\(c\|cpp\|h\)$' -print) diff --git a/scripts/travis/osx_compile.sh b/scripts/travis/osx_compile.sh new file mode 100644 index 000000000..14cffebef --- /dev/null +++ b/scripts/travis/osx_compile.sh @@ -0,0 +1,2 @@ +#!/bin/sh +mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug .. && make diff --git a/scripts/travis/osx_setup.sh b/scripts/travis/osx_setup.sh new file mode 100644 index 000000000..ad4dc677e --- /dev/null +++ b/scripts/travis/osx_setup.sh @@ -0,0 +1,3 @@ +#!/bin/sh +brew install qt5 +brew link qt5 --force