diff options
| author | Liam Staskawicz <liam@stask.net> | 2018-03-10 14:34:37 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-03-12 12:00:29 -0700 |
| commit | 6ae722de957b33a3520e46a94bb1f970991a9a42 (patch) | |
| tree | 4c6f3a5a6d3aa3a3ac44ea5960735017015a2caa /.circleci/config.yml | |
| parent | 5169bc88d4ceb9b66c6ad89a1ee662d2bcb3c7c0 (diff) | |
| download | nng-6ae722de957b33a3520e46a94bb1f970991a9a42.tar.gz nng-6ae722de957b33a3520e46a94bb1f970991a9a42.tar.bz2 nng-6ae722de957b33a3520e46a94bb1f970991a9a42.zip | |
circle ci: add workflows for linux clang and gcc builds
Diffstat (limited to '.circleci/config.yml')
| -rw-r--r-- | .circleci/config.yml | 93 |
1 files changed, 61 insertions, 32 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index 5c9d5b55..a5adab5f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,38 +1,67 @@ -# Debian packages we want (makes life better); -# -# - asciidoctor -# - cmake -# - libmbedtls-dev -# - ninja-build -# - clang -# - clang-format -# - gcc (-7?) -# - g++ (-7?) -# -version: 2 + +# TODO: create custom docker images for each of these environments +# to avoid re-downloading & installing dependencies each time + +version: 2.0 jobs: - build: + "clang - build, test": docker: - - image: debian:stretch + - image: ubuntu:16.04 + environment: + CC: clang-4.0 + CXX: clang++-4.0 + CLANG_FORMAT: clang-format-4.0 + CTEST_OUTPUT_ON_FAILURE: 1 steps: - checkout - - run: - name: Install Dependencies - command: apt-get update -qq && apt-get install -y build-essential asciidoctor cmake libmbedtls-dev ninja-build clang clang-format - - run: - name: Configure - command: mkdir build && cd build && cmake -DNNG_TRANSPORT_TLS=ON -G Ninja .. - - - run: - name: Build - command: cd build && ninja + - run: apt-get update -qq + - run: apt-get install -y software-properties-common + # llvm apt details: https://apt.llvm.org + - run: apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main" + - run: apt-get update -qq + - run: > + apt-get install -y + build-essential + curl + asciidoctor + cmake + libmbedtls-dev + ninja-build + clang-4.0 + clang-format-4.0 + - run: ./etc/format-check.sh + - run: ./.circleci/build-and-test.sh - - run: - name: Run Tests - command: cd build && ninja test - environment: - CTEST_OUTPUT_ON_FAILURE: 1 + "gcc - build, test, coverage": + docker: + - image: ubuntu:16.04 + environment: + CC: gcc-7 + CXX: g++-7 + COVERAGE: "ON" + GCOV: gcov-7 + steps: + - checkout + - run: apt-get update -qq + - run: apt-get install -y software-properties-common + - run: add-apt-repository ppa:ubuntu-toolchain-r/test + - run: apt-get update -qq + - run: > + apt-get install -y + build-essential + curl + asciidoctor + cmake + libmbedtls-dev + ninja-build + gcc-7 + g++-7 + - run: ./.circleci/build-and-test.sh + - run: ./etc/codecov.sh -# - run: -# name: Check Format -# command: ./etc/format-check.sh +workflows: + version: 2 + build_and_test: + jobs: + - "clang - build, test" + - "gcc - build, test, coverage" |
