Give test jobs better names

This commit is contained in:
John Keiser 2019-08-14 15:47:20 -07:00
parent 640283fec6
commit b49eefbee6
1 changed files with 104 additions and 61 deletions

View File

@ -1,5 +1,6 @@
version: 2.1 version: 2.1
# Reusable image / compiler definitions
executors: executors:
gcc7: gcc7:
docker: docker:
@ -12,90 +13,132 @@ executors:
environment: environment:
CXX: clang++-6.0 CXX: clang++-6.0
# Reusable test commands (and initializer for clang 6)
commands: commands:
init_gcc7:
steps:
- run: echo true
init_clang6: init_clang6:
steps: steps:
- run: apt-get update -qq
- run: apt-get install -y clang build-essential git - run: apt-get install -y clang build-essential git
jobs:
# Parameterized job to run all tests with "make"
make_test: make_test:
description: Build, run tests and check performance
parameters:
compiler:
description: Compiler
type: string
archflags:
description: Architecture flags (ARCHFLAGS)
default: ""
type: string
executor: << parameters.compiler >>
environment:
ARCHFLAGS: << parameters.archflags >>
steps: steps:
- checkout - checkout
- run: apt-get update -qq
- init_<< parameters.compiler >>
- run: make - run: make
- run: make amalgamate - run: make amalgamate
- run: make test - run: make test
- run: make checkperf - run: make checkperf
# Parameterized job to run all tests with "cmake"
cmake_test: cmake_test:
description: Build, run tests and check performance
parameters:
compiler:
description: Compiler
type: string
flags:
description: flags to pass to cmake
default: ""
type: string
executor: << parameters.compiler >>
steps: steps:
- run: apt-get update -qq - run: apt-get update -qq
- init_<< parameters.compiler >>
- run: apt-get install -y cmake - run: apt-get install -y cmake
- checkout - checkout
- run: cmake << parameters.flags >> - run: cmake $CMAKE_TEST_FLAGS
- run: make - run: make
- run: make test - run: make test
jobs:
gcc-avx:
description: Build, run tests and check performance on GCC 7 and AVX 2
executor: gcc7
steps: [ make_test ]
gcc-avx-dynamic:
description: Build, run tests and check performance on GCC 7 and AVX 2 with a cmake dynamic build
executor: gcc7
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF }
steps: [ cmake_test ]
gcc-avx-static:
description: Build, run tests and check performance on GCC 7 and AVX 2 with a cmake static build
executor: gcc7
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=ON }
steps: [ cmake_test ]
gcc-avx-sanitize:
description: Build, run tests and check performance on GCC 7 and AVX 2 with a cmake sanitize build
executor: gcc7
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON }
steps: [ cmake_test ]
gcc-sse:
description: Build, run tests and check performance on GCC 7 and SSE 4.2
executor: gcc7
environment: { ARCHFLAGS: -march=nehalem }
steps: [ make_test ]
gcc-sse-dynamic:
description: Build, run tests and check performance on GCC 7 and SSE 4.2 with a cmake dynamic build
executor: gcc7
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF }
steps: [ cmake_test ]
gcc-sse-static:
description: Build, run tests and check performance on GCC 7 and SSE 4.2 with a cmake static build
executor: gcc7
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=ON }
steps: [ cmake_test ]
gcc-sse-sanitize:
description: Build, run tests and check performance on GCC 7 and SSE 4.2 with a cmake sanitize build
executor: gcc7
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON }
steps: [ cmake_test ]
clang-avx:
description: Build, run tests and check performance on clang 6 and AVX 2
executor: clang6
steps: [ init_clang6, make_test ]
clang-avx-dynamic:
description: Build, run tests and check performance on clang 6 and AVX 2 with a cmake dynamic build
executor: clang6
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF }
steps: [ init_clang6, cmake_test ]
clang-avx-static:
description: Build, run tests and check performance on clang 6 and AVX 2 with a cmake static build
executor: clang6
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=ON }
steps: [ init_clang6, cmake_test ]
clang-avx-sanitize:
description: Build, run tests and check performance on clang 6 and AVX 2 with a cmake sanitize build
executor: clang6
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON }
steps: [ init_clang6, cmake_test ]
clang-sse:
description: Build, run tests and check performance on GCC 7 and SSE 4.2
executor: clang6
environment: { ARCHFLAGS: -march=nehalem }
steps: [ init_clang6, make_test ]
clang-sse-dynamic:
description: Build, run tests and check performance on GCC 7 and SSE 4.2 with a cmake dynamic build
executor: clang6
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF }
steps: [ init_clang6, cmake_test ]
clang-sse-static:
description: Build, run tests and check performance on GCC 7 and SSE 4.2 with a cmake static build
executor: clang6
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=ON }
steps: [ init_clang6, cmake_test ]
clang-sse-sanitize:
description: Build, run tests and check performance on GCC 7 and SSE 4.2 with a cmake sanitize build
executor: clang6
environment: { CMAKE_TEST_FLAGS: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON }
steps: [ init_clang6, cmake_test ]
workflows: workflows:
version: 2.1 version: 2.1
build_and_test: build_and_test:
jobs: jobs:
# gcc7 - gcc-avx
- make_test: { compiler: gcc7 } - gcc-avx-dynamic
- cmake_test: { compiler: gcc7, flags: -DSIMDJSON_BUILD_STATIC=ON } - gcc-avx-static
- cmake_test: { compiler: gcc7, flags: -DSIMDJSON_BUILD_STATIC=ON } - gcc-avx-sanitize
- cmake_test: { compiler: gcc7, flags: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON } - gcc-sse
# gcc7 - no AVX - gcc-sse-dynamic
- make_test: { compiler: gcc7, archflags: -march=nehalem } - gcc-sse-static
- cmake_test: { compiler: gcc7, flags: -DSIMDJSON_DISABLE_AVX=ON -DSIMDJSON_BUILD_STATIC=ON } - gcc-sse-sanitize
- cmake_test: { compiler: gcc7, flags: -DSIMDJSON_DISABLE_AVX=ON -DSIMDJSON_BUILD_STATIC=ON } - clang-avx
- cmake_test: { compiler: gcc7, flags: -DSIMDJSON_DISABLE_AVX=ON -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON } - clang-avx-dynamic
# clang6 - clang-avx-static
- make_test: { compiler: clang6 } - clang-avx-sanitize
- cmake_test: { compiler: clang6, flags: -DSIMDJSON_BUILD_STATIC=ON } - clang-sse
- cmake_test: { compiler: clang6, flags: -DSIMDJSON_BUILD_STATIC=ON } - clang-sse-dynamic
- cmake_test: { compiler: clang6, flags: -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON } - clang-sse-static
# clang6 - no AVX - clang-sse-sanitize
- make_test: { compiler: clang6, archflags: -march=nehalem }
- cmake_test: { compiler: clang6, flags: -DSIMDJSON_DISABLE_AVX=ON -DSIMDJSON_BUILD_STATIC=ON }
- cmake_test: { compiler: clang6, flags: -DSIMDJSON_DISABLE_AVX=ON -DSIMDJSON_BUILD_STATIC=ON }
- cmake_test: { compiler: clang6, flags: -DSIMDJSON_DISABLE_AVX=ON -DSIMDJSON_BUILD_STATIC=OFF -DSIMDJSON_SANITIZE=ON }
# TODO add windows: https://circleci.com/docs/2.0/configuration-reference/#windows # TODO add windows: https://circleci.com/docs/2.0/configuration-reference/#windows