summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: bda8138c16b4ff3b6c40af265dd46cf28c94d538 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Make Travis use docker (for faster builds, in theory).
# TODO(benvanik): re-enable when clang-3.8 is whitelisted.
# https://github.com/travis-ci/apt-package-whitelist/issues/474
#sudo: false

language: cpp
compiler:
  - clang
  # - gcc

os:
  - linux
  # - osx

env:
  - LINT=true
  - BUILD=true CONFIG=Debug
  - BUILD=true CONFIG=Release

matrix:
  allow_failures:
    # LLVMGold.so is not installed correctly
    - env: BUILD=true CONFIG=Release

dist: trusty
sudo: required
addons:
  apt:
    sources:
      # - ubuntu-toolchain-r-test
      - llvm-toolchain-precise
    packages:
      - clang-3.8
      - clang-format-3.8
      - libc++-dev
      - python3

git:
  # We handle submodules ourselves in xenia-build setup.
  submodules: false

before_script:
  - export CXX=clang++-3.8
  - export CC=clang-3.8
  # Dump useful info.
  - $CXX --version
  - python3 --version
  # Prepare environment (pull dependencies, build tools).
  - travis_retry ./xenia-build setup

script:
  # Run linter.
  - if [[ $LINT == true ]]; then ./xenia-build lint --all; fi
  
  # Build and run our simple hello world test.
  - if [[ $BUILD == true ]]; then ./xenia-build build --config=$CONFIG --target=xenia-base-tests; fi
  - if [[ $BUILD == true ]]; then ./build/bin/Linux/$CONFIG/xenia-base-tests; fi
  # Build and run ppc tests
  - if [[ $BUILD == true ]]; then ./xenia-build build --config=$CONFIG --target=xenia-cpu-ppc-tests; fi
  # - if [[ $BUILD == true ]]; then ./build/bin/Linux/$CONFIG/xenia-cpu-ppc-tests --log_file=stdout; fi

  # TODO(DrChat): Enable builds in the future.
  # Build all of xenia.
  #- ./xenia-build build --config=debug
  # All tests (without haswell support).
  #- ./xenia-build test --config=debug --no-build -- --enable_haswell_instructions=false
  # All tests (with haswell support).
  #- ./xenia-build test --config=debug --no-build -- --enable_haswell_instructions=true