-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path.travis.yml
127 lines (114 loc) · 5.39 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
notifications:
email: false
language: cpp
sudo: false
# if pull request: always build
# if push: only build for master branch
if: (type != push) OR (type = push AND branch = master)
cache:
directories:
- $TRAVIS_BUILD_DIR/JUCE/extras/Projucer/
- $TRAVIS_BUILD_DIR/TestPlugins/Mac/
matrix:
include:
- name: "unit-tests"
os: osx
env:
- BUILD_FOLDER="MacOSX"
- PROJUCER_EXPORT="$TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/MacOSX/build/Debug/Projucer.app/Contents/MacOS/Projucer"
- name: "osx"
os: osx
env:
- BUILD_FOLDER="MacOSX"
- PROJUCER_EXPORT="$TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/MacOSX/build/Debug/Projucer.app/Contents/MacOS/Projucer"
- secure: EWeaPVOC8rWVkV1Rb6kf90BMr+QGtsC9YN+c+XJ0rIftndY5CSKnBZxU9iwZEQXaRxjdlMcDl95F8IeKlY7yIpN793+SLcx4h6XpijUhqqwWgybhy4jdO23fjefAThExDWzuAg7xfB1LyOC/BO9HRS8qFbCcvVdwCzETtItSW05nxHWICQl6c25Otdduh33EPORYBRUxB3MdPMvcpaYwAslGvSJ2AP7fQsnx3sMwxJLj1J5tiYkdvfm2xy1kv7/C8CF1Zp4Zg9ds+9qAG64v7I8VciuZ1tjmd01TUkal3sWu/78Jyk5avp2fzFR803QeLlcK2ivislZkc+vmMg7yXfjX5zTcgHfrrXlbKame/4xGuxbd6lYqUICeijZdv53d61f1lvvIbNKwzrH74vji5QMJkhjSzWyJt6IL6AriKCETCguKgXNOChbmqqSaTvA/OSwHu9JHH6byk229uQWjIAmj0egCr5WC+fk6LmSrbSG+iPkorSYlilxuGrRZWptVjTkqfbixuloNuwWLw69iHTM//T99E16I5ASN/T2KpQPJyrcPGz+R2ooL5OAb2LAZON58wIKLwaw0Wf6WCLYMmXxNm2vFbS1LsuHEbIMKDIlsMhiZYeCaYfvr942mJond1C2k2WYHwhS14R1sgnJFZGqPJLGzzl7rpxurf0MuOI4=
- name: "win"
os: windows
env:
- MSBUILD_PATH="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
- BUILD_FOLDER="VisualStudio2017"
- PROJUCER_EXPORT="$TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/VisualStudio2017/x64/Debug/App/Projucer.exe"
- name: "linux"
os: linux
dist: xenial
sudo: required
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-6
- g++-6
- freeglut3-dev
- g++
- libasound2-dev
- libcurl4-openssl-dev
- libfreetype6-dev
- libjack-jackd2-dev
- libx11-dev
- libxcomposite-dev
- libxcursor-dev
- libxinerama-dev
- libxrandr-dev
- mesa-common-dev
- ladspa-sdk
- webkit2gtk-4.0
- libgtk-3-dev
services:
- xvfb
env:
- BUILD_FOLDER="LinuxMakefile"
- PROJUCER_EXPORT="$TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer"
before_install:
# mac installs
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then gem install xcpretty; fi
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then gem install xcpretty-travis-formatter; fi
# windows setup msbuild path
- if [[ $TRAVIS_OS_NAME == 'windows' ]]; then export PATH=$MSBUILD_PATH:$PATH; fi
# Build Projucer
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then sh travis_scripts/build_projucer.sh $PROJUCER_EXPORT $TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/$BUILD_FOLDER $TRAVIS_OS_NAME; fi
- if [[ $TRAVIS_OS_NAME == 'windows' ]]; then sh travis_scripts/build_projucer.sh $PROJUCER_EXPORT $TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/$BUILD_FOLDER $TRAVIS_OS_NAME; fi
- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then bash travis_scripts/build_projucer.sh $PROJUCER_EXPORT $TRAVIS_BUILD_DIR/JUCE/extras/Projucer/Builds/$BUILD_FOLDER $TRAVIS_OS_NAME; fi
script:
- cd $TRAVIS_BUILD_DIR/
- export PROJUCER=$PROJUCER_EXPORT
- $PROJUCER --set-global-search-path $TRAVIS_OS_NAME defaultJuceModulePath $TRAVIS_BUILD_DIR/JUCE/modules
- $PROJUCER --set-global-search-path $TRAVIS_OS_NAME vstLegacyPath $TRAVIS_BUILD_DIR/JUCE/VST2_SDK
- $PROJUCER --resave NewMixer.jucer
- cd $TRAVIS_BUILD_DIR/Builds/$BUILD_FOLDER/
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then xcodebuild -project NewMixer.xcodeproj/ clean; fi
- if [[ $TRAVIS_JOB_NAME == 'osx' ]]; then xcodebuild -project NewMixer.xcodeproj/ -configuration Release | xcpretty -s -f `xcpretty-travis-formatter`; fi
- if [[ $TRAVIS_JOB_NAME == 'win' ]]; then msbuild.exe -v:normal NewMixer.sln; fi
- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then make clean; fi
- if [[ $TRAVIS_OS_NAME == 'linux' ]]; then make CONFIG=Release; fi
- | # Unit testing!!
if [[ $TRAVIS_JOB_NAME == 'unit-tests' ]]; then
# Build debug mode
xcodebuild -project NewMixer.xcodeproj/ -configuration Debug | xcpretty -s -f `xcpretty-travis-formatter`
# Build test plugins
sh $TRAVIS_BUILD_DIR/travis_scripts/build_testplugins.sh $TRAVIS_BUILD_DIR/TestPlugins/ $PROJUCER
echo "Running unit test"
cd $TRAVIS_BUILD_DIR/Builds/$BUILD_FOLDER/build/Debug/NewMixer.app/Contents/MacOS
./NewMixer --unit-tests
fi
- echo "SUCCESS"
# after_success: # upload mac bins
# - |
# if [[ $TRAVIS_JOB_NAME == 'osx' && type != push ]]; then
# echo "Copying Files..."
# cd $TRAVIS_BUILD_DIR/
# cp -R $TRAVIS_BUILD_DIR/Builds/MacOSX/build/Release/NewMixer.app $TRAVIS_BUILD_DIR/NewMixer.app
#
# echo "Setting Up Git..."
# git config --global user.email "[email protected]"
# git config --global user.name "Travis CI"
#
# echo "Committing Files..."
# git checkout -b builds
# git add Newmixer.app
# git commit -m "Travis build- $TRAVIS_BUILD_NUMBER"
#
# echo "Pushing to branch..."
# git push https://${GH_TOKEN}@github.com/jatinchowdhury18/NewMixer.git
# fi