463 lines
14 KiB
YAML
463 lines
14 KiB
YAML
kind: pipeline
|
|
name: i386-gcc # we do not support 32-bit systems, but we run tests
|
|
platform: { os: linux, arch: amd64 }
|
|
steps:
|
|
- name: Build and Test
|
|
image: i386/ubuntu
|
|
environment:
|
|
CC: gcc
|
|
CXX: g++
|
|
BUILD_FLAGS: -- -j
|
|
CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON
|
|
CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly
|
|
commands:
|
|
- scripts/addcmakeppa.sh "$(env -i sh -c '. /etc/os-release; echo $VERSION_CODENAME')"
|
|
- apt-get install -y g++ cmake gcc git
|
|
- mkdir build
|
|
- cd build
|
|
- cmake $CMAKE_FLAGS ..
|
|
- cmake --build . $BUILD_FLAGS
|
|
- ctest $CTEST_FLAGS
|
|
---
|
|
kind: pipeline
|
|
name: i386-clang # we do not support 32-bit systems, but we run tests
|
|
platform: { os: linux, arch: amd64 }
|
|
steps:
|
|
- name: Build and Test
|
|
image: i386/ubuntu
|
|
environment:
|
|
CC: clang-6.0
|
|
CXX: clang++-6.0
|
|
BUILD_FLAGS: -- -j
|
|
CMAKE_FLAGS: -DSIMDJSON_BUILD_STATIC=ON
|
|
CTEST_FLAGS: -j4 --output-on-failure -LE explicitonly
|
|
commands:
|
|
- scripts/addcmakeppa.sh "$(env -i sh -c '. /etc/os-release; echo $VERSION_CODENAME')"
|
|
- apt-get install -y clang++-6.0 cmake git
|
|
- mkdir build
|
|
- cd build
|
|
- cmake $CMAKE_FLAGS ..
|
|
- cmake --build . $BUILD_FLAGS
|
|
- ctest $CTEST_FLAGS
|
|
---
|
|
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: -DSIMDJSON_BUILD_STATIC=ON -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: -DSIMDJSON_BUILD_STATIC=ON -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: -DSIMDJSON_BUILD_STATIC=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: 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: -DSIMDJSON_BUILD_STATIC=OFF
|
|
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: -DSIMDJSON_BUILD_STATIC=ON -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: -DSIMDJSON_BUILD_STATIC=ON -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: -DSIMDJSON_BUILD_STATIC=OFF
|
|
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: -DSIMDJSON_BUILD_STATIC=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-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: -DSIMDJSON_BUILD_STATIC=OFF
|
|
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: -DSIMDJSON_BUILD_STATIC=ON -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 -DSIMDJSON_BUILD_STATIC=ON
|
|
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: -DSIMDJSON_BUILD_STATIC=ON
|
|
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: -DSIMDJSON_BUILD_STATIC=ON
|
|
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 --quiet https://dl.bintray.com/pauldreik/simdjson-fuzz-corpus/corpus/corpus.tar
|
|
- tar xf corpus.tar && rm corpus.tar
|
|
- 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/
|