-
-
Notifications
You must be signed in to change notification settings - Fork 1k
/
ci.yml
115 lines (101 loc) · 3.12 KB
/
ci.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
jobs:
- job: libshogun
displayName: Linux libshogun CI Tests
pool:
vmImage: ubuntu-16.04
strategy:
maxParallel: 2
matrix:
clang:
CC: "clang"
CXX: "clang++"
cmakeOptions: ''
gcc:
CC: "gcc"
CXX: "g++"
cmakeOptions: ''
variables:
testRunTitle: '$(build.sourceBranchName)-debian'
testRunPlatform: debian
imageName: 'shogun/shogun-dev'
targetPrefix: '$(build.binariesDirectory)/opt'
libshogunArtifactName: 'libshogun-$(CC)'
libshogunArchive: '$(Build.ArtifactStagingDirectory)/libshogun-$(Build.BuildId).tar'
ccacheDir: '$(build.binariesDirectory)/ccache'
ccacheArtifactName: 'ccache-$(CC)'
ccacheArchive: '$(Build.ArtifactStagingDirectory)/ccache-$(Build.BuildId).tar'
steps:
- template: ./docker-steps.yml
- job: swig
displayName: Linux SWIG Interface CI Tests
dependsOn: libshogun
pool:
vmImage: ubuntu-16.04
strategy:
maxParallel: 7
matrix:
python:
CC: "clang"
CXX: "clang++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_PYTHON=ON'
interfaceName: 'python'
java:
CC: "clang"
CXX: "clang++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_JAVA=ON'
interfaceName: 'java'
csharp:
CC: "clang"
CXX: "clang++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_CSHARP=ON'
interfaceName: 'csharp'
r:
CC: "clang"
CXX: "clang++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_R=ON'
interfaceName: 'r'
lua:
CC: "clang"
CXX: "clang++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_LUA=ON'
interfaceName: 'lua'
octave:
CC: "gcc"
CXX: "g++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_OCTAVE=ON'
interfaceName: 'octave'
ruby:
CC: "clang"
CXX: "clang++"
cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_RUBY=ON'
interfaceName: 'ruby'
variables:
testRunTitle: '$(build.sourceBranchName)-debian'
testRunPlatform: debian
imageName: 'shogun/shogun-dev'
targetPrefix: '$(build.binariesDirectory)/opt'
libshogunArtifactName: 'libshogun-$(CC)'
libshogunArchive: '$(Build.ArtifactStagingDirectory)/libshogun-$(Build.BuildId).tar'
commonSWIGCMakeFlags: '-DLIBSHOGUN=OFF -DDISABLE_UNIT_TESTS=ON -DDISABLE_META_CPP=ON'
ccacheDir: '$(build.binariesDirectory)/ccache'
ccacheArtifactName: 'ccache-$(interfaceName)'
ccacheArchive: '$(Build.ArtifactStagingDirectory)/ccache-$(Build.BuildId).tar'
steps:
- template: ./docker-steps.yml
parameters:
swig: true
- job: macOS
displayName: macOS CI Tests
variables:
testRunTitle: '$(build.sourceBranchName)-macos'
testRunPlatform: macos
ccacheDir: '$(build.binariesDirectory)/ccache'
ccacheArtifactName: 'ccache-macos'
ccacheArchive: '$(Build.ArtifactStagingDirectory)/ccache-$(Build.BuildId).tar'
pool:
vmImage: xcode9-macos10.13
steps:
- template: ./macos-steps.yml
#- template: ./windows-steps.yml
# parameters:
# buildConfiguration: Release