kind: pipeline name: gcc9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: gcc:9 environment: CC: gcc CXX: g++ BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_IMPLEMENTATION=haswell;westmere;fallback CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=haswell ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=westmere ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ctest $CTEST_FLAGS -L per_implementation - ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: clang6 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: conanio/clang60 user: root environment: CC: clang-6.0 CXX: clang++-6.0 BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_IMPLEMENTATION=haswell;westmere;fallback CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=haswell ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=westmere ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ctest $CTEST_FLAGS -L per_implementation - ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: dynamic-gcc9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: gcc:9 environment: CC: gcc CXX: g++ BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: dynamic-clang9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: conanio/clang9 user: root environment: CC: clang-9 CXX: clang++-9 CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON BUILD_FLAGS: -- -j CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: sanitize-gcc9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: gcc:9 environment: CC: gcc CXX: g++ BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_IMPLEMENTATION=haswell;westmere;fallback CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=haswell ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=westmere ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: sanitize-clang9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: conanio/clang9 user: root environment: CC: clang-9 CXX: clang++-9 CMAKE_FLAGS: -DSIMDJSON_SANITIZE=ON -DSIMDJSON_IMPLEMENTATION=haswell;westmere;fallback BUILD_FLAGS: -- -j CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=haswell ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=westmere ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: cpp20-clang11-libcpp platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: pauldreik/llvm-11 user: root environment: CC: clang-11 CXX: clang++-11 CMAKE_FLAGS: -GNinja BUILD_FLAGS: CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly CXXFLAGS: -std=c++20 -stdlib=libc++ commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: arm64-gcc8 platform: { os: linux, arch: arm64 } steps: - name: Build and Test image: gcc:8 environment: CC: gcc CXX: g++ BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_IMPLEMENTATION=arm64;fallback CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=arm64 ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ctest $CTEST_FLAGS -L per_implementation - ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: arm64-clang6 platform: { os: linux, arch: arm64 } steps: - name: Build and Test image: debian:buster-backports environment: CC: clang-6.0 CXX: clang++-6.0 CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON BUILD_FLAGS: -- -j CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - apt-get -qq update - apt-get -t buster-backports install -y cmake - apt-get install -y clang-6.0 git - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: arm64-dynamic-gcc8 platform: { os: linux, arch: arm64 } steps: - name: Build and Test image: gcc:8 environment: CC: gcc CXX: g++ BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: arm64-dynamic-clang6 platform: { os: linux, arch: arm64 } steps: - name: Build and Test image: debian:buster-backports environment: CC: clang-6.0 CXX: clang++-6.0 CMAKE_FLAGS: -DBUILD_SHARED_LIBS=ON BUILD_FLAGS: -- -j CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - apt-get -qq update - apt-get -t buster-backports install -y cmake - apt-get install -y clang-6.0 git - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: arm64-sanitize-gcc8 platform: { os: linux, arch: arm64 } steps: - name: Build and Test image: gcc:8 environment: BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF -DSIMDJSON_IMPLEMENTATION=arm64;fallback CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly CC: gcc CXX: g++ commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - apt-get install -y libstdc++6 - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=arm64 ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: arm64-sanitize-clang6 platform: { os: linux, arch: arm64 } steps: - name: Build and Test image: debian:buster-backports environment: CC: clang-6.0 CXX: clang++-6.0 CMAKE_FLAGS: -DSIMDJSON_SANITIZE=ON -DSIMDJSON_IMPLEMENTATION=arm64;fallback BUILD_FLAGS: -- -j CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - apt-get -qq update - apt-get -t buster-backports install -y cmake - apt-get install -y clang-6.0 git - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L acceptance -LE per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=arm64 ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - SIMDJSON_FORCE_IMPLEMENTATION=fallback ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -L per_implementation - ASAN_OPTIONS="detect_leaks=0" ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now. --- kind: pipeline name: ninja-clang9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: conanio/clang9 user: root environment: CC: clang-9 CXX: clang++-9 BUILD_FLAGS: -- -j 4 CMAKE_FLAGS: -GNinja -DBUILD_SHARED_LIBS=OFF CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly CXXFLAGS: -stdlib=libc++ commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: libcpp-clang9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: conanio/clang9 user: root environment: CC: clang-9 CXX: clang++-9 BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly CXXFLAGS: -stdlib=libc++ commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: libcpp-clang7 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: conanio/clang7 user: root environment: CC: clang-7 CXX: clang++-7 BUILD_FLAGS: -- -j CMAKE_FLAGS: -DBUILD_SHARED_LIBS=OFF CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly CXXFLAGS: -stdlib=libc++ commands: - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: noexceptions-gcc9 platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: gcc:9 environment: CC: gcc CXX: g++ BUILD_FLAGS: -- -j CMAKE_FLAGS: -DSIMDJSON_EXCEPTIONS=OFF CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly commands: - echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list - apt-get update -qq - apt-get -t buster-backports install -y cmake - mkdir build - cd build - cmake $CMAKE_FLAGS .. - cmake --build . $BUILD_FLAGS - ctest $CTEST_FLAGS --- kind: pipeline name: arm64-fuzz platform: { os: linux, arch: arm64 } steps: - name: Build and run fuzzers shortly image: ubuntu:20.04 environment: CC: clang CXX: clang++ DEBIAN_FRONTEND: noninteractive ASAN_OPTIONS: detect_leaks=0 commands: - apt-get -qq update - apt-get install -q -y clang cmake git wget zip ninja-build - wget -O corpus.tar.gz https://readonly:readonly@www.pauldreik.se/fuzzdata/index.php?project=simdjson - tar xf corpus.tar.gz && rm corpus.tar.gz - fuzz/build_like_ossfuzz.sh - mkdir -p common_out - for fuzzer in build/fuzz/fuzz_* ; do echo $fuzzer;$fuzzer common_out out/* -max_total_time=40; done --- kind: pipeline name: stylecheck platform: { os: linux, arch: amd64 } steps: - name: Build and Test image: ubuntu:18.04 commands: - apt-get update -y - apt-get install -y python clang-format - ./style/run-clang-format.py -r include/ benchmark/ src/ tests/