1jobs:
2- job: linux_gcc8_32bit
3  pool:
4    vmImage: Ubuntu 16.04
5  steps:
6  - script: |
7      sudo apt-get update -qq
8      sudo apt-get install -qq software-properties-common
9      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
10      sudo apt-get update -qq
11      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
12    displayName: Install common
13  - script: sudo apt-get install -qq gcc-8 g++-8
14    displayName: Install gcc-8
15  - script: sudo apt-get install gcc-8-multilib g++-8-multilib
16    displayName: Install 32-bit compilation support
17  - script: |
18      ./autogen.sh
19      export DISTCHECK_CONFIGURE_FLAGS="CC=\"gcc-8 -m32\" CXX=\"g++-8 -m32\" --build=i386-linux-gnu"
20      ./configure CC=gcc-8 CXX=g++-8 --build=i686-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" --with-mpi=/usr/lib/openmpi
21      make -j12 distcheck
22    displayName: Compiling ABySS with gcc-8
23
24- job: linux_clang6
25  pool:
26    vmImage: Ubuntu 16.04
27  steps:
28  - script: |
29      sudo apt-get update -qq
30      sudo apt-get install -qq software-properties-common
31      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
32      sudo apt-get update -qq
33      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
34    displayName: Install common
35  - script: sudo apt-get install -qq clang-6.0
36    displayName: Install clang-6.0
37  - script: |
38      ./autogen.sh
39      export DISTCHECK_CONFIGURE_FLAGS="CC=clang-6.0 CXX=clang++-6.0"
40      ./configure CC=clang-6.0 CXX=clang++-6.0 --with-mpi=/usr/lib/openmpi
41      make -j12 distcheck
42    displayName: Compiling ABySS with clang 6.0
43
44- job: linux_clang7
45  pool:
46    vmImage: Ubuntu 16.04
47  steps:
48  - script: |
49      sudo apt-get update -qq
50      sudo apt-get install -qq software-properties-common
51      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
52      sudo apt-get update -qq
53      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
54    displayName: Install common
55  - script: |
56      curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
57      sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main"
58      sudo apt-get update
59      sudo apt-get install -qq clang-7
60    displayName: Install clang-7
61  - script: |
62      ./autogen.sh
63      export DISTCHECK_CONFIGURE_FLAGS="CC=clang-7 CXX=clang++-7"
64      ./configure CC=clang-7 CXX=clang++-7 --with-mpi=/usr/lib/openmpi
65      make -j12 distcheck
66    displayName: Compiling ABySS with clang 7
67
68- job: linux_clang8
69  pool:
70    vmImage: Ubuntu 16.04
71  steps:
72  - script: |
73      sudo apt-get update -qq
74      sudo apt-get install -qq software-properties-common
75      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
76      sudo apt-get update -qq
77      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
78    displayName: Install common
79  - script: sudo apt-get install -qq clang-8
80    displayName: Install clang-8
81  - script: |
82      ./autogen.sh
83      export DISTCHECK_CONFIGURE_FLAGS="CC=clang-8 CXX=clang++-8"
84      ./configure CC=clang-8 CXX=clang++-8 --with-mpi=/usr/lib/openmpi
85      make -j12 distcheck
86    displayName: Compiling ABySS with clang 8
87
88- job: linux_clang9
89  pool:
90    vmImage: Ubuntu 16.04
91  steps:
92  - script: |
93      sudo apt-get update -qq
94      sudo apt-get install -qq software-properties-common
95      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
96      sudo apt-get update -qq
97      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
98    displayName: Install common
99  - script: sudo apt-get install -qq clang-9
100    displayName: Install clang-9
101  - script: |
102      ./autogen.sh
103      export DISTCHECK_CONFIGURE_FLAGS="CC=clang-9 CXX=clang++-9"
104      ./configure CC=clang-9 CXX=clang++-9 --with-mpi=/usr/lib/openmpi
105      make -j12 distcheck
106    displayName: Compiling ABySS with clang 9
107
108- job: linux_clang10
109  pool:
110    vmImage: Ubuntu 18.04
111  steps:
112  - script: |
113      sudo apt-get update -qq
114      sudo apt-get install -qq software-properties-common
115      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
116      sudo apt-get update -qq
117      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
118    displayName: Install common
119  - script: sudo apt-get install -qq clang-10
120    displayName: Install clang-10
121  - script: |
122      ./autogen.sh
123      export DISTCHECK_CONFIGURE_FLAGS="CC=clang-10 CXX=clang++-10"
124      ./configure CC=clang-10 CXX=clang++-10 --with-mpi=/usr/lib/openmpi
125      make -j12 distcheck
126    displayName: Compiling ABySS with clang 10
127
128- job: linux_gcc5
129  pool:
130    vmImage: Ubuntu 16.04
131  steps:
132  - script: |
133      sudo apt-get update -qq
134      sudo apt-get install -qq software-properties-common
135      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
136      sudo apt-get update -qq
137      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
138    displayName: Install common
139  - script: sudo apt-get install -qq gcc-5 g++-5
140    displayName: Install gcc-5
141  - script: |
142      ./autogen.sh
143      export DISTCHECK_CONFIGURE_FLAGS="CC=gcc-5 CXX=g++-5"
144      ./configure CC=gcc-5 CXX=g++-5 --with-mpi=/usr/lib/openmpi
145      make -j12 distcheck
146    displayName: Compiling ABySS with gcc-5
147
148- job: linux_gcc6
149  pool:
150    vmImage: Ubuntu 16.04
151  steps:
152  - script: |
153      sudo apt-get update -qq
154      sudo apt-get install -qq software-properties-common
155      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
156      sudo apt-get update -qq
157      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
158    displayName: Install common
159  - script: sudo apt-get install -qq gcc-6 g++-6
160    displayName: Install gcc-6
161  - script: |
162      ./autogen.sh
163      export DISTCHECK_CONFIGURE_FLAGS="CC=gcc-6 CXX=g++-6"
164      ./configure CC=gcc-6 CXX=g++-6 --with-mpi=/usr/lib/openmpi
165      make -j12 distcheck
166    displayName: Compiling ABySS with gcc-6
167
168- job: linux_gcc7
169  pool:
170    vmImage: Ubuntu 16.04
171  steps:
172  - script: |
173      sudo apt-get update -qq
174      sudo apt-get install -qq software-properties-common
175      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
176      sudo apt-get update -qq
177      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
178    displayName: Install common
179  - script: sudo apt-get install -qq gcc-7 g++-7
180    displayName: Install gcc-7
181  - script: |
182      ./autogen.sh
183      export DISTCHECK_CONFIGURE_FLAGS="CC=gcc-7 CXX=g++-7"
184      ./configure CC=gcc-7 CXX=g++-7 --with-mpi=/usr/lib/openmpi
185      make -j12 distcheck
186    displayName: Compiling ABySS with gcc-7
187
188- job: linux_gcc8
189  pool:
190    vmImage: Ubuntu 16.04
191  steps:
192  - script: |
193      sudo apt-get update -qq
194      sudo apt-get install -qq software-properties-common
195      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
196      sudo apt-get update -qq
197      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
198    displayName: Install common
199  - script: sudo apt-get install -qq gcc-8 g++-8
200    displayName: Install gcc-8
201  - script: |
202      ./autogen.sh
203      export DISTCHECK_CONFIGURE_FLAGS="CC=gcc-8 CXX=g++-8"
204      ./configure CC=gcc-8 CXX=g++-8 --with-mpi=/usr/lib/openmpi
205      make -j12 distcheck
206    displayName: Compiling ABySS with gcc-8
207
208- job: clang_format
209  pool:
210    vmImage: Ubuntu 16.04
211  steps:
212  - script: |
213      sudo apt-get update -qq
214      sudo apt-get install -qq software-properties-common
215      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
216      sudo apt-get update -qq
217      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
218    displayName: Install common
219  - script: |
220      ./autogen.sh
221      ./configure
222    displayName: Configuring
223  - script: |
224      curl https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
225      sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main"
226      sudo apt-get update
227      sudo apt-get install -y --no-install-recommends clang-format-8
228      sudo ln -sf clang-format-8 /usr/bin/clang-format
229    displayName: Install clang-format
230  - script: make clang-format
231    displayName: Run clang-format
232
233- job: macOS_default_gcc
234  pool:
235    vmImage: macOS-10.14
236  steps:
237  - script: |
238      brew update
239      brew install automake boost openmpi google-sparsehash make pandoc ghc
240    displayName: Install common
241  - script: |
242      ./autogen.sh
243      ./configure --with-boost=/usr/local/opt/boost/include --with-mpi=/usr/local/Cellar/open-mpi/4.0.1_2 CPPFLAGS=-I/usr/local/Cellar/google-sparsehash/2.0.3/include
244      make -j12 distcheck
245    displayName: Compiling ABySS with default gcc
246
247- job: macOS_default_clang
248  pool:
249    vmImage: macOS-10.14
250  steps:
251  - script: |
252      brew update
253      brew install automake boost openmpi google-sparsehash make pandoc ghc llvm
254    displayName: Install common
255  - script: |
256      ./autogen.sh
257      export DISTCHECK_CONFIGURE_FLAGS="CC=clang CXX=clang++"
258      ./configure CC=clang CXX=clang++ --with-boost=/usr/local/opt/boost/include --with-mpi=/usr/local/Cellar/open-mpi/4.0.1_2 CPPFLAGS=-I/usr/local/Cellar/google-sparsehash/2.0.3/include
259      make -j12 distcheck
260    displayName: Compiling ABySS with default clang
261
262- job: linux_gcc9
263  pool:
264    vmImage: Ubuntu 16.04
265  steps:
266  - script: |
267      sudo apt-get update -qq
268      sudo apt-get install -qq software-properties-common
269      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
270      sudo apt-get update -qq
271      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
272    displayName: Install common
273  - script: sudo apt-get install -qq gcc-9 g++-9
274    displayName: Install gcc-9
275  - script: |
276      ./autogen.sh
277      export DISTCHECK_CONFIGURE_FLAGS="CC=gcc-9 CXX=g++-9"
278      ./configure CC=gcc-9 CXX=g++-9 --with-mpi=/usr/lib/openmpi
279      make -j12 distcheck
280    displayName: Compiling ABySS with gcc-9
281