forked from simulationcraft/simc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
86 lines (71 loc) · 2.77 KB
/
.travis.yml
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# This script is used by the Travis-CI (continuous integration) testing
# framework to run SimulationCrafts tests with every GitHub push or pull-request.
language: cpp
osx_image: xcode8.3
branches:
only:
- bfa-dev
sudo: false
# Enable Trusty (Ubuntu 14.04 LTS)
dist: trusty
os:
- linux
- osx
compiler:
- gcc
- clang
addons:
apt:
sources:
- sourceline: 'ppa:ubuntu-toolchain-r/test'
- sourceline: 'ppa:duggan/bats'
packages:
- valgrind
- g++-5
- bats
- libcurl3
- libcurl4-gnutls-dev
- docker
osx_image:
- xcode8.3
- xcode10
#env:
# Each line is a separate build in the build matrix. A build in the build
# matrix is defined by the environment variables defined on the line, which
# should be space-delimited. For example,
# - ABC=ON DEF=OFF GHI=ON
matrix:
exclude:
- os: osx
compiler: gcc
- os: linux
compiler: clang
before_install:
# Install bats on OSX through brew
# retry via travis_retry because brew sometimes hangs
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then travis_retry brew update && travis_retry brew install bats; fi
notifications:
irc:
channels:
- "irc.gamers-irc.org#simulationcraft"
template:
- "%{repository}/%{branch} (%{commit} - %{author}): %{build_url}: %{message}"
on_success: never # default: always
install:
# Build SimulationCraft
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then make CXX=g++-5 DEBUG=1 -C engine -j 2; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then docker build --no-cache --build-arg THREADS=2 --build-arg NONETWORKING=1 -t simulationcraft . ; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then make DEBUG=1 SANITIZE=1 -C engine -j 2; fi
script:
# Test SimulationCraft.
- cd tests
- ./run.sh classes.bats
- ./run.sh enemies.bats
- cd ..
# Valgrind a raid profile with Linux
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then valgrind --show-reachable=yes --leak-check=summary ./engine/simc PR_Raid.simc iterations=5 threads=1 output=/dev/null cleanup_threads=1; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then valgrind --show-reachable=yes --leak-check=summary ./engine/simc PR_Raid.simc iterations=5 threads=1 fight_style=HelterSkelter output=/dev/null cleanup_threads=1; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then valgrind --show-reachable=yes --leak-check=summary ./engine/simc PR_Raid.simc iterations=5 threads=1 fight_style=HecticAddCleave output=/dev/null cleanup_threads=1; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then valgrind --show-reachable=yes --leak-check=summary ./engine/simc PR_Raid.simc iterations=5 threads=1 fight_style=BeastLord output=/dev/null cleanup_threads=1; fi
# simple docker test
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then docker run simulationcraft ./simc spell_query=spell.name=frost_shock; fi