quickly wire mock icd into travis
[platform/upstream/Vulkan-Tools.git] / .travis.yml
1 # Build Configuration for Travis CI
2 # https://travis-ci.org
3
4 dist: trusty
5 sudo: required
6 language: cpp
7
8 matrix:
9   # Show final status immediately if a test fails.
10   fast_finish: true
11   include:
12     # Android build.
13     - os: linux
14       compiler: gcc
15       env: VULKAN_BUILD_TARGET=ANDROID ANDROID_TARGET=android-23 ANDROID_ABI=armeabi-v7a
16     # Android 64-bit build.
17     - os: linux
18       compiler: gcc
19       env: VULKAN_BUILD_TARGET=ANDROID ANDROID_TARGET=android-23 ANDROID_ABI=arm64-v8a
20     # Linux GCC debug build.
21     - os: linux
22       compiler: gcc
23       env: VULKAN_BUILD_TARGET=LINUX
24     # Linux clang debug build.
25     - os: linux
26       compiler: clang
27       env: VULKAN_BUILD_TARGET=LINUX
28
29 android:
30   components:
31     - tools
32     - platform-tools
33     - build-tools-23.0.2
34     - android-23
35
36 cache:
37   directories:
38     - external
39     - build-android/external
40
41 before_install:
42   # Install the appropriate Linux packages.
43   - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then sudo apt-get -y install libxkbcommon-dev libwayland-dev libmirclient-dev libxrandr-dev libx11-xcb-dev; fi
44
45   # Install the Android NDK.
46   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export ARCH=`uname -m`; fi
47   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then wget http://dl.google.com/android/repository/android-ndk-r13b-linux-${ARCH}.zip; fi
48   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then unzip -u -q android-ndk-r13b-linux-${ARCH}.zip; fi
49   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export ANDROID_NDK_HOME=`pwd`/android-ndk-r13b; fi
50   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export JAVA_HOME="/usr/lib/jvm/java-8-oracle"; fi
51   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export PATH="$ANDROID_NDK_HOME:$PATH"; fi
52
53   # Clear the toolchain contents if revisions have changed
54   - ./scripts/check_toolchain_revisions.sh
55
56 script:
57   - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then ./update_external_sources.sh; fi
58   - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then cmake -H. -Bdbuild -DCMAKE_BUILD_TYPE=Debug; fi
59   - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then make -C dbuild; fi
60   - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then LD_LIBRARY_PATH=dbuild/loader:$LD_LIBRARY_PATH VK_LAYER_PATH=dbuild/layers VK_ICD_FILENAMES=dbuild/icd/VkICD_mock_icd.json dbuild/tests/vk_layer_validation_tests; fi
61   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then pushd build-android; fi
62   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then ./update_external_sources_android.sh --abi $ANDROID_ABI; fi
63   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then ./android-generate.sh; fi
64   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then ndk-build APP_ABI=$ANDROID_ABI; fi
65   - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then popd; fi
66
67 notifications:
68   email:
69     recipients:
70       - karl@lunarg.com
71       - cnorthrop@google.com
72       - tobine@google.com
73       - chrisforbes@google.com
74     on_success: change
75     on_failure: always