Skip to content

Commit 97e0800

Browse files
author
Ben Vandervalk
committed
CircleCI: run serial gcc8/gcc7/gcc6/gcc5/clang6 builds on Linux
1 parent 31f74f1 commit 97e0800

File tree

1 file changed

+95
-5
lines changed

1 file changed

+95
-5
lines changed

.circleci/config.yml

Lines changed: 95 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,106 @@
11
version: 2
2+
3+
aliases:
4+
- &docker_image ubuntu:bionic
5+
- &install_common |
6+
apt-get update -qq
7+
apt-get install -qq software-properties-common
8+
add-apt-repository -y ppa:ubuntu-toolchain-r/test
9+
apt-get update -qq
10+
apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc gdb valgrind
11+
212
jobs:
3-
build:
13+
14+
linux_clang6:
415
docker:
5-
- image: ubuntu:bionic
16+
- image: *docker_image
617
steps:
18+
- run: *install_common
719
- run: |
8-
apt-get update -qq
9-
apt-get install -qq autoconf automake clang g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc gdb valgrind
20+
apt-get install -qq clang-6.0
1021
- checkout
1122
- run: |
1223
./autogen.sh
13-
./configure CC=clang CXX=clang++ --with-mpi=/usr/lib/openmpi
24+
./configure CC=clang-6.0 CXX=clang++-6.0 --with-mpi=/usr/lib/openmpi
1425
- run: make -j
1526
- run: make -j check
1627
- run: make -j distcheck
28+
29+
linux_gcc5:
30+
docker:
31+
- image: *docker_image
32+
steps:
33+
- run: *install_common
34+
- run: |
35+
apt-get install -qq gcc-5 g++-5
36+
- checkout
37+
- run: |
38+
./autogen.sh
39+
./configure CC=gcc-5 CXX=g++-5 --with-mpi=/usr/lib/openmpi
40+
- run: make -j
41+
- run: make -j check
42+
- run: make -j distcheck
43+
44+
linux_gcc6:
45+
docker:
46+
- image: *docker_image
47+
steps:
48+
- run: *install_common
49+
- run: |
50+
apt-get install -qq gcc-6 g++-6
51+
- checkout
52+
- run: |
53+
./autogen.sh
54+
./configure CC=gcc-6 CXX=g++-6 --with-mpi=/usr/lib/openmpi
55+
- run: make -j
56+
- run: make -j check
57+
- run: make -j distcheck
58+
59+
linux_gcc7:
60+
docker:
61+
- image: *docker_image
62+
steps:
63+
- run: *install_common
64+
- run: |
65+
apt-get install -qq gcc-7 g++-7
66+
- checkout
67+
- run: |
68+
./autogen.sh
69+
./configure CC=gcc-7 CXX=g++-7 --with-mpi=/usr/lib/openmpi
70+
- run: make -j
71+
- run: make -j check
72+
- run: make -j distcheck
73+
74+
linux_gcc8:
75+
docker:
76+
- image: *docker_image
77+
steps:
78+
- run: *install_common
79+
- run: |
80+
apt-get install -qq gcc-8 g++-8
81+
- checkout
82+
- run: |
83+
./autogen.sh
84+
./configure CC=gcc-8 CXX=g++-8 --with-mpi=/usr/lib/openmpi
85+
- run: make -j
86+
- run: make -j check
87+
- run: make -j distcheck
88+
89+
workflows:
90+
version: 2
91+
# test compiler versions in priority order and abort on first failure
92+
abyss_builds:
93+
jobs:
94+
- linux_gcc8
95+
- linux_gcc7:
96+
requires:
97+
- linux_gcc8
98+
- linux_gcc6:
99+
requires:
100+
- linux_gcc7
101+
- linux_gcc5:
102+
requires:
103+
- linux_gcc6
104+
- linux_clang6:
105+
requires:
106+
- linux_gcc5

0 commit comments

Comments
 (0)