Skip to content

Commit 7cd1f7d

Browse files
authored
Merge pull request simdjson#840 from simdjson/jkeiser/conanimages
Use gcc9 and clang9 where possible
2 parents 8c45a18 + f43b6a0 commit 7cd1f7d

File tree

3 files changed

+83
-85
lines changed

3 files changed

+83
-85
lines changed

.circleci/config.yml

Lines changed: 52 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -7,47 +7,48 @@ executors:
77
- image: gcc:7
88
environment:
99
CXX: g++
10+
CC: gcc
1011
BUILD_FLAGS: -j
1112
CTEST_FLAGS: -j4 --output-on-failure
1213

1314
gcc8:
1415
docker:
15-
- image: gcc:8
16+
- image: conanio/gcc8
1617
environment:
17-
CXX: g++
18+
CXX: g++-8
19+
CC: gcc-8
1820
BUILD_FLAGS: -j
1921
CTEST_FLAGS: -j4 --output-on-failure
2022

2123
gcc9:
2224
docker:
23-
- image: gcc:9
25+
- image: conanio/gcc9
2426
environment:
25-
CXX: g++
27+
CXX: g++-9
28+
CC: gcc-9
2629
BUILD_FLAGS: -j
2730
CTEST_FLAGS: -j4 --output-on-failure
31+
2832
clang9:
2933
docker:
3034
- image: conanio/clang9
3135
environment:
3236
CXX: clang++-9
37+
CC: clang-9
3338
BUILD_FLAGS: -j
3439
CTEST_FLAGS: -j4 --output-on-failure
3540

3641
clang6:
3742
docker:
38-
- image: ubuntu:18.04
43+
- image: conanio/clang60
3944
environment:
4045
CXX: clang++-6.0
46+
CC: clang-6.0
4147
BUILD_FLAGS: -j
4248
CTEST_FLAGS: -j4 --output-on-failure
43-
49+
4450
# Reusable test commands (and initializer for clang 6)
4551
commands:
46-
init_clang6:
47-
steps:
48-
- run: apt-get update -qq
49-
- run: apt-get install -y clang build-essential git
50-
5152
install_cmake:
5253
steps:
5354
- run: apt-get update -qq
@@ -98,7 +99,7 @@ jobs:
9899
description: Build and run tests on clang 6 and AVX 2 with a cmake static build
99100
executor: clang6
100101
environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON }
101-
steps: [ init_clang6, install_cmake, cmake_test_all, cmake_install_test ]
102+
steps: [ cmake_test_all, cmake_install_test ]
102103
# libcpp
103104
libcpp-clang9:
104105
description: Build and run tests on clang 6 and AVX 2 with a cmake static build and libc++
@@ -110,69 +111,69 @@ jobs:
110111
description: Build and run tests on GCC 9 and AVX 2 with a cmake sanitize build
111112
executor: gcc9
112113
environment: { CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON, BUILD_FLAGS: "", CTEST_FLAGS: -j4 --output-on-failure -E checkperf }
113-
steps: [ install_cmake, cmake_test_all ]
114-
sanitize-clang6:
114+
steps: [ cmake_test_all ]
115+
sanitize-clang9:
115116
description: Build and run tests on clang 6 and AVX 2 with a cmake sanitize build
116-
executor: clang6
117+
executor: clang9
117118
environment: { CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON, CTEST_FLAGS: -j4 --output-on-failure -E checkperf }
118-
steps: [ init_clang6, install_cmake, cmake_test_all ]
119+
steps: [ cmake_test_all ]
119120

120121
# dynamic
121-
dynamic-gcc7:
122+
dynamic-gcc9:
122123
description: Build and run tests on GCC 7 and AVX 2 with a cmake dynamic build
123-
executor: gcc7
124+
executor: gcc9
124125
environment: { CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF }
125-
steps: [ install_cmake, cmake_test, cmake_install_test ]
126-
dynamic-clang6:
126+
steps: [ cmake_test, cmake_install_test ]
127+
dynamic-clang9:
127128
description: Build and run tests on clang 6 and AVX 2 with a cmake dynamic build
128-
executor: clang6
129+
executor: clang9
129130
environment: { CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF }
130-
steps: [ init_clang6, install_cmake, cmake_test, cmake_install_test ]
131+
steps: [ cmake_test, cmake_install_test ]
131132

132133
# unthreaded
133-
unthreaded-gcc7:
134+
unthreaded-gcc9:
134135
description: Build and run tests on GCC 7 and AVX 2 *without* threads
135-
executor: gcc7
136+
executor: gcc9
136137
environment: { CMAKE_FLAGS: -DSIMDJSON_ENABLE_THREADS=OFF }
137-
steps: [ install_cmake, cmake_test, cmake_install_test ]
138-
unthreaded-clang6:
138+
steps: [ cmake_test, cmake_install_test ]
139+
unthreaded-clang9:
139140
description: Build and run tests on Clang 6 and AVX 2 *without* threads
140-
executor: clang6
141+
executor: clang9
141142
environment: { CMAKE_FLAGS: -DSIMDJSON_ENABLE_THREADS=OFF }
142-
steps: [ init_clang6, install_cmake, cmake_test, cmake_install_test ]
143+
steps: [ cmake_test, cmake_install_test ]
143144

144145
# noexcept
145-
noexcept-gcc7:
146+
noexcept-gcc9:
146147
description: Build and run tests on GCC 7 and AVX 2 with exceptions off
147-
executor: gcc7
148+
executor: gcc9
148149
environment: { CMAKE_FLAGS: -DSIMDJSON_EXCEPTIONS=OFF }
149-
steps: [ install_cmake, cmake_test, cmake_install_test ]
150-
noexcept-clang6:
150+
steps: [ cmake_test, cmake_install_test ]
151+
noexcept-clang9:
151152
description: Build and run tests on GCC 7 and AVX 2 with exceptions off
152-
executor: clang6
153+
executor: clang9
153154
environment: { CMAKE_FLAGS: -DSIMDJSON_EXCEPTIONS=OFF }
154-
steps: [ init_clang6, install_cmake, cmake_test, cmake_install_test ]
155+
steps: [ cmake_test, cmake_install_test ]
155156

156157
#
157158
# Misc.
158159
#
159160

160161
# make (test and checkperf)
161-
arch-haswell-gcc7:
162+
arch-haswell-gcc9:
162163
description: Build, run tests and check performance on GCC 7 with -march=haswell
163-
executor: gcc7
164+
executor: gcc9
164165
environment: { CXXFLAGS: -march=haswell }
165-
steps: [ install_cmake, cmake_test ]
166-
arch-nehalem-gcc7:
166+
steps: [ cmake_test ]
167+
arch-nehalem-gcc9:
167168
description: Build, run tests and check performance on GCC 7 with -march=nehalem
168-
executor: gcc7
169+
executor: gcc9
169170
environment: { CXXFLAGS: -march=nehalem }
170-
steps: [ install_cmake, cmake_test ]
171-
no-computed-goto-gcc7:
171+
steps: [ cmake_test ]
172+
no-computed-goto-gcc9:
172173
description: Build, run tests and check performance on GCC 7 with -DSIMDJSON_NO_COMPUTED_GOTO=true
173-
executor: gcc7
174+
executor: gcc9
174175
environment: { CXXFLAGS: -DSIMDJSON_NO_COMPUTED_GOTO=true }
175-
steps: [ install_cmake, cmake_test ]
176+
steps: [ cmake_test ]
176177

177178
workflows:
178179
version: 2.1
@@ -187,16 +188,16 @@ workflows:
187188

188189
# full single-implementation tests
189190
- sanitize-gcc9
190-
- sanitize-clang6
191-
- dynamic-gcc7
192-
- dynamic-clang6
193-
- unthreaded-gcc7
194-
- unthreaded-clang6
191+
- sanitize-clang9
192+
- dynamic-gcc9
193+
- dynamic-clang9
194+
- unthreaded-gcc9
195+
- unthreaded-clang9
195196

196197
# quicker make single-implementation tests
197-
- arch-haswell-gcc7
198-
- arch-nehalem-gcc7
199-
- no-computed-goto-gcc7
198+
- arch-haswell-gcc9
199+
- arch-nehalem-gcc9
200+
- no-computed-goto-gcc9
200201

201202
# TODO add windows: https://circleci.com/docs/2.0/configuration-reference/#windows
202203

.cirrus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ task:
1515
- mkdir build
1616
- cd build
1717
- cmake ..
18-
- make -j2
18+
- make -j4
1919
test_script:
2020
- cd build
21-
- ctest -j2 --output-on-failure -E checkperf
21+
- ctest -j4 --output-on-failure -E checkperf

.drone.yml

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
kind: pipeline
2-
name: gcc8
2+
name: gcc9
33
platform: { os: linux, arch: amd64 }
44
steps:
55
- name: Build and Test
6-
image: gcc:8
6+
image: gcc:9
77
environment:
88
CC: gcc
99
CXX: g++
@@ -27,15 +27,14 @@ name: clang6
2727
platform: { os: linux, arch: amd64 }
2828
steps:
2929
- name: Build and Test
30-
image: ubuntu:18.04
30+
image: conanio/clang60
31+
user: root
3132
environment:
3233
CC: clang-6.0
3334
CXX: clang++-6.0
3435
BUILD_FLAGS: -- -j
3536
CTEST_FLAGS: -j4 --output-on-failure
3637
commands:
37-
- apt-get update -qq
38-
- apt-get install -y clang cmake git
3938
- mkdir build
4039
- cd build
4140
- cmake $CMAKE_FLAGS ..
@@ -47,11 +46,11 @@ steps:
4746
- ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now.
4847
---
4948
kind: pipeline
50-
name: dynamic-gcc8
49+
name: dynamic-gcc9
5150
platform: { os: linux, arch: amd64 }
5251
steps:
5352
- name: Build and Test
54-
image: gcc:8
53+
image: gcc:9
5554
environment:
5655
CC: gcc
5756
CXX: g++
@@ -68,35 +67,34 @@ steps:
6867
- ctest $CTEST_FLAGS
6968
---
7069
kind: pipeline
71-
name: dynamic-clang6
70+
name: dynamic-clang9
7271
platform: { os: linux, arch: amd64 }
7372
steps:
7473
- name: Build and Test
75-
image: ubuntu:18.04
74+
image: conanio/clang9
75+
user: root
7676
environment:
77-
CC: clang-6.0
78-
CXX: clang++-6.0
77+
CC: clang-9
78+
CXX: clang++-9
7979
CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF
8080
BUILD_FLAGS: -- -j
8181
CTEST_FLAGS: -j4 --output-on-failure
8282
commands:
83-
- apt-get update -qq
84-
- apt-get install -y clang cmake git
8583
- mkdir build
8684
- cd build
8785
- cmake $CMAKE_FLAGS ..
8886
- cmake --build . $BUILD_FLAGS
8987
- ctest $CTEST_FLAGS
9088
---
9189
kind: pipeline
92-
name: sanitize-gcc8
90+
name: sanitize-gcc9
9391
platform: { os: linux, arch: amd64 }
9492
steps:
9593
- name: Build and Test
96-
image: gcc:8
94+
image: gcc:9
9795
environment:
9896
BUILD_FLAGS: -- -j
99-
CTEST_FLAGS: -j4 --output-on-failure
97+
CTEST_FLAGS: -j4 --output-on-failure -E checkperf
10098
CC: gcc
10199
CXX: g++
102100
commands:
@@ -113,20 +111,19 @@ steps:
113111
- ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now.
114112
---
115113
kind: pipeline
116-
name: sanitize-clang6
114+
name: sanitize-clang9
117115
platform: { os: linux, arch: amd64 }
118116
steps:
119117
- name: Build and Test
120-
image: ubuntu:18.04
118+
image: conanio/clang9
119+
user: root
121120
environment:
122-
CC: clang-6.0
123-
CXX: clang++-6.0
121+
CC: clang-9
122+
CXX: clang++-9
124123
CMAKE_FLAGS: -DSIMDJSON_SANITIZE=ON
125124
BUILD_FLAGS: -- -j
126-
CTEST_FLAGS: -j4 --output-on-failure
125+
CTEST_FLAGS: -j4 --output-on-failure -E checkperf
127126
commands:
128-
- apt-get update -qq
129-
- apt-get install -y clang cmake git
130127
- mkdir build
131128
- cd build
132129
- cmake $CMAKE_FLAGS ..
@@ -150,7 +147,7 @@ steps:
150147
CXX: g++
151148
commands:
152149
- apt-get update -qq
153-
- apt-get install -y cmake
150+
- apt-get install -y cmake
154151
- mkdir build
155152
- cd build
156153
- cmake $CMAKE_FLAGS ..
@@ -236,7 +233,7 @@ steps:
236233
CXX: g++
237234
commands:
238235
- apt-get update -qq
239-
- apt-get install -y cmake
236+
- apt-get install -y cmake libstdc++6
240237
- mkdir build
241238
- cd build
242239
- cmake $CMAKE_FLAGS ..
@@ -271,33 +268,33 @@ steps:
271268
- ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now.
272269
---
273270
kind: pipeline
274-
name: libcpp-clang8
271+
name: libcpp-clang9
275272
platform: { os: linux, arch: amd64 }
276273
steps:
277274
- name: Build and Test
278-
image: conanio/clang8
275+
image: conanio/clang9
279276
user: root
280277
environment:
281-
CC: clang-8
282-
CXX: clang++-8
278+
CC: clang-9
279+
CXX: clang++-9
283280
BUILD_FLAGS: -- -j
284281
CTEST_FLAGS: -j4 --output-on-failure -E checkperf
285282
CXXFLAGS: -stdlib=libc++
286283
commands:
287284
- apt-get update -qq
288-
- apt-get install -y cmake
285+
- apt-get install -y cmake
289286
- mkdir build
290287
- cd build
291288
- cmake $CMAKE_FLAGS ..
292289
- cmake --build . $BUILD_FLAGS
293290
- ctest $CTEST_FLAGS
294291
---
295292
kind: pipeline
296-
name: noexceptions-gcc8
293+
name: noexceptions-gcc9
297294
platform: { os: linux, arch: amd64 }
298295
steps:
299296
- name: Build and Test
300-
image: gcc:8
297+
image: gcc:9
301298
environment:
302299
CC: gcc
303300
CXX: g++

0 commit comments

Comments
 (0)