1# 2# CircleCI 2.0 configuration. This was borrowed from NNG, but is adjusted 3# for libnanomsg. (We don't need mbedTLS or use clang-format, for example.) 4# 5version: 2.0 6jobs: 7 "clang6 - build, test": 8 docker: 9 - image: ubuntu:16.04 10 environment: 11 CC: clang-6.0 12 CXX: clang++-6.0 13 CTEST_OUTPUT_ON_FAILURE: 1 14 steps: 15 - checkout 16 - run: apt-get update -qq 17 - run: apt-get install -y software-properties-common 18 - run: apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" 19 - run: apt-get update -qq 20 - run: > 21 apt-get install -y --allow-unauthenticated 22 build-essential 23 asciidoctor 24 cmake 25 ninja-build 26 clang-6.0 27 - run: ./.circleci/build-and-test.sh 28 29 "gcc8 - build, test": 30 docker: 31 - image: ubuntu:16.04 32 environment: 33 CC: gcc-8 34 CXX: g++-8 35 GCOV: gcov-8 36 CTEST_OUTPUT_ON_FAILURE: 1 37 steps: 38 - checkout 39 - run: apt-get update -qq 40 - run: apt-get install -y software-properties-common 41 - run: add-apt-repository ppa:ubuntu-toolchain-r/test 42 - run: apt-get update -qq 43 - run: > 44 apt-get install -y --allow-unauthenticated 45 build-essential 46 asciidoctor 47 cmake 48 ninja-build 49 gcc-8 50 g++-8 51 - run: ./.circleci/build-and-test.sh 52 53 "gcc - coverage": 54 docker: 55 - image: ubuntu:16.04 56 environment: 57 CC: gcc 58 CXX: g++ 59 COVERAGE: "ON" 60 GCOV: gcov 61 CTEST_OUTPUT_ON_FAILURE: 1 62 steps: 63 - checkout 64 - run: apt-get update -qq 65 - run: apt-get install -y software-properties-common 66 - run: add-apt-repository ppa:ubuntu-toolchain-r/test 67 - run: apt-get update -qq 68 - run: > 69 apt-get install -y --allow-unauthenticated 70 build-essential 71 curl 72 asciidoctor 73 cmake 74 ninja-build 75 - run: ./.circleci/build-and-test.sh 76 - run: ./.circleci/codecov.sh 77 78workflows: 79 version: 2 80 build_and_test: 81 jobs: 82 - "clang6 - build, test" 83 - "gcc8 - build, test" 84 - "gcc - coverage" 85