dist: trusty sudo: required language: cpp services: - docker before_install: - sudo rm /usr/local/bin/docker-compose - curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin jobs: fast_finish: true include: - &run-with-clang-minimal stage: Clang 3.8 - minimal mock platform env: TARGET=minimal before_script: docker-compose pull ${TARGET} script: - export CC=clang-3.8 CXX=clang++-3.8 - BUILDARCH=MOCK docker-compose run ${TARGET} - &run-with-clang stage: Clang 3.8 env: TARGET=python3 before_script: docker-compose pull ${TARGET} script: - export CC=clang-3.8 CXX=clang++-3.8 - docker-compose run ${TARGET} - BUILDARCH=MOCK docker-compose run ${TARGET} - if [[ ${TARGET} != *"node"* ]]; then JSONPLAT=ON docker-compose run ${TARGET}; fi - <<: *run-with-clang env: TARGET=node6 - <<: *run-with-clang env: TARGET=java - &run-with-gcc-5 stage: Gcc 5 env: TARGET=python3 before_script: docker-compose pull ${TARGET} script: - export CC=gcc-5 CXX=g++-5 - docker-compose run ${TARGET} - BUILDARCH=MOCK docker-compose run ${TARGET} - if [[ ${TARGET} != *"node"* ]]; then JSONPLAT=ON docker-compose run ${TARGET}; fi - <<: *run-with-gcc-5 env: TARGET=node6 - <<: *run-with-gcc-5 env: TARGET=java - &run-with-gcc-6 stage: Gcc 6 env: TARGET=python3 before_script: docker-compose pull ${TARGET} script: - export CC=gcc-6 CXX=g++-6 - docker-compose run ${TARGET} - BUILDARCH=MOCK docker-compose run ${TARGET} - if [[ ${TARGET} != *"node"* ]]; then JSONPLAT=ON docker-compose run ${TARGET}; fi - <<: *run-with-gcc-6 env: TARGET=node6 - <<: *run-with-gcc-6 env: TARGET=java - &run-additional-jobs stage: Additional Jobs env: TARGET=doc before_script: docker-compose pull ${TARGET} script: - export CC=clang-3.8 CXX=clang++-3.8 - docker-compose run ${TARGET} - <<: *run-additional-jobs env: TARGET=android - <<: *run-additional-jobs env: TARGET=examples - <<: *run-additional-jobs env: TARGET=usbplat - <<: *run-additional-jobs env: TARGET=firmata - <<: *run-additional-jobs env: TARGET=imraa - <<: *run-additional-jobs env: TARGET=ftdi4442 - <<: *run-additional-jobs env: TARGET=sonar-scan