From b408d7c95e06d864b6a1efc2b64ce06a2e2a0f0b Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Tue, 23 Jun 2020 18:40:57 -0400 Subject: [PATCH 1/2] Because we are dynamic by default, we never test static! --- .circleci/config.yml | 21 ++++++++++----------- .drone.yml | 10 +++++----- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index bb642651..c96286c3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,7 +116,7 @@ jobs: gcc7: description: Build and run tests on GCC 7 and AVX 2 with a cmake static build executor: gcc7 - environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON } + environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON } steps: [ install_cmake, cmake_test, cmake_install_test ] justlib-gcc10: description: Build just the library, install it and do a basic test @@ -126,23 +126,23 @@ jobs: gcc10: description: Build and run tests on GCC 10 and AVX 2 with a cmake static build executor: gcc10 - environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON } + environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON } steps: [ cmake_test_all, cmake_install_test ] clang6: description: Build and run tests on clang 6 and AVX 2 with a cmake static build executor: clang6 - environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON } + environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON } steps: [ cmake_test, cmake_install_test ] clang10: description: Build and run tests on clang 10 and AVX 2 with a cmake static build executor: clang10 - environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON } + environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON } steps: [ cmake_test, cmake_install_test ] # libcpp libcpp-clang10: description: Build and run tests on clang 10 and AVX 2 with a cmake static build and libc++ executor: clang10 - environment: { CMAKE_FLAGS: -DSIMDJSON_USE_LIBCPP=ON } + environment: { CMAKE_FLAGS: -DSIMDJSON_USE_LIBCPP=ON -DSIMDJSON_BUILD_STATIC=ON } steps: [ cmake_test, cmake_install_test ] # sanitize sanitize-gcc10: @@ -155,7 +155,7 @@ jobs: executor: clang10 environment: { CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON, CTEST_FLAGS: -j4 --output-on-failure -E checkperf } steps: [ cmake_test ] - + # dynamic dynamic-gcc10: description: Build and run tests on GCC 10 and AVX 2 with a cmake dynamic build @@ -167,7 +167,7 @@ jobs: executor: clang10 environment: { CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF } steps: [ cmake_test, cmake_install_test ] - + # unthreaded unthreaded-gcc10: description: Build and run tests on GCC 10 and AVX 2 *without* threads @@ -222,10 +222,10 @@ workflows: #- gcc10 # this gets tested a lot below - clang6 #- clang10 # this gets tested a lot below - + # libc++ - libcpp-clang10 - + # full single-implementation tests - sanitize-gcc10 - sanitize-clang10 @@ -245,6 +245,5 @@ workflows: # testing "just the library" - justlib-gcc10 - - # TODO add windows: https://circleci.com/docs/2.0/configuration-reference/#windows + # TODO add windows: https://circleci.com/docs/2.0/configuration-reference/#windows diff --git a/.drone.yml b/.drone.yml index 05464fb4..b7a72e70 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,11 +7,11 @@ steps: environment: CC: gcc CXX: g++ - BUILD_FLAGS: -- -j + BUILD_FLAGS: -- -j -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq - - apt-get install -y cmake + - apt-get install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. @@ -59,7 +59,7 @@ steps: CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq - - apt-get install -y cmake + - apt-get install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. @@ -99,7 +99,7 @@ steps: CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq - - apt-get install -y cmake + - apt-get install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. @@ -303,7 +303,7 @@ steps: CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq - - apt-get install -y cmake + - apt-get install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. From 21eff5b825eed264abf19a3705af8a834b013c2b Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Tue, 23 Jun 2020 18:58:38 -0400 Subject: [PATCH 2/2] Introducing some variety. --- .drone.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index b7a72e70..09621102 100644 --- a/.drone.yml +++ b/.drone.yml @@ -7,7 +7,8 @@ steps: environment: CC: gcc CXX: g++ - BUILD_FLAGS: -- -j -DSIMDJSON_BUILD_STATIC=ON + BUILD_FLAGS: -- -j + CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq @@ -33,6 +34,7 @@ steps: CC: clang-6.0 CXX: clang++-6.0 BUILD_FLAGS: -- -j + CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - mkdir build @@ -96,6 +98,7 @@ steps: CC: gcc CXX: g++ BUILD_FLAGS: -- -j + CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq @@ -144,6 +147,7 @@ steps: CC: gcc CXX: g++ BUILD_FLAGS: -- -j + CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf commands: - apt-get update -qq @@ -228,6 +232,7 @@ steps: image: gcc:8 environment: BUILD_FLAGS: -- -j + CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf CC: gcc CXX: g++ @@ -278,6 +283,7 @@ steps: CC: clang-9 CXX: clang++-9 BUILD_FLAGS: -- -j + CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON CTEST_FLAGS: -j4 --output-on-failure -E checkperf CXXFLAGS: -stdlib=libc++ commands: