Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.56 KiB
Newer Older
  • Learn to ignore specific revisions
  • image: "flowdalic/debian-testing-dev:1.4"
    
        readarray TOOLS <<EOF
        c++
        cc
        clang
        clang++
        clang-tidy
        doxygen
        g++
        gcc
        include-what-you-use
        meson
        nasm
        valgrind
        EOF
        for tool in ${TOOLS[@]}; do
          echo -n "$tool version: "
    
    
    smoke-test:
      stage: smoke-test
      script: make smoke-test
    
    
    variables:
      BUILDDTYPE: debugoptmized
      CC: gcc
      CXX: g++
      EXTRA_NINJA_ARGS: -v
    
    .test:
      stage: test
      script:
        - make test
    
    .gcc:
      variables:
        CC: gcc
        CXX: g++
    
    .clang:
      variables:
        CC: clang
        CXX: clang++
    
    
    .emper-ws-scheduling:
      variables:
        EMPER_DEFAULT_SCHEDULING_STRATEGY: "work_stealing"
    
    .emper-laws-scheduling:
      variables:
        EMPER_DEFAULT_SCHEDULING_STRATEGY: "locality_aware_work_stealing"
    
    
    .emper-worker-no-sleep:
      variables:
        EMPER_WORKER_SLEEP: 'false'
    
    .emper-worker-stats:
      variables:
        EMPER_WORKER_STATS: 'true'
    
    
    .emper-userspace-rcu:
      variables:
        EMPER_USERSPACE_RCU: 'true'
    
    
    .default-library-static:
      variables:
        EMPER_DEFAULT_LIBRARY: 'static'
    
    .clang-sanitizer:
      extends:
        - .clang
        - .default-library-static
    
    .clang-sanitizer-undefined:
      extends:
        - .clang-sanitizer
      variables:
        EMPER_B_SANITIZE: 'undefined'
    
    #.clang-sanitizer-memory:
    #  extends:
    #    - .clang-sanitizer
    #  variables:
    #    EMPER_B_SANITIZE: 'memory'
    
    #.sanitizer-address:
    #  extends:
    #    - .default-library-static
    #  variables:
    #    EMPER_B_SANITIZE: 'address'
    
    
    .release-build:
      variables:
        BUILDTYPE: release
    
    .debug-build:
      variables:
        BUILDTYPE: debug
    
    test-gcc:
      extends:
        - .test
        - .gcc
    
    test-gcc-release:
      extends:
        - test-gcc
        - .release-build
    
    test-gcc-debug:
      extends:
        - test-gcc
        - .debug-build
    
    test-clang:
      extends:
        - .test
        - .clang
    
    test-clang-release:
      extends:
        - test-clang
        - .release-build
    
    test-clang-debug:
      extends:
        - test-clang
        - .debug-build
    
    test-worker-no-sleep:
      extends:
        - .test
        - .emper-worker-no-sleep
    
    test-with-stats:
      extends:
        - .test
        - .emper-worker-stats
    
    
    test-with-userspace-rcu:
      extends:
        - .test
        - .emper-userspace-rcu
    
    
    test-clang-sanitizer-undefined:
      extends:
        - .test
        - .clang-sanitizer-undefined
    
    #test-clang-sanitizer-memory:
    #  extends:
    #    - .test
    #    - .clang-sanitizer-memory
    
    #test-clang-sanitizer-address:
    #  extends:
    #    - .test
    #    - .clang
    #    - .sanitizer-address
    
    
    test-laws:
      extends:
        - .test
        - .emper-laws-scheduling
    
    test-laws-release:
      extends:
        - test-laws
        - .release-build