From d13298acf923177424a29fee15f6233cdfe30812 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Mon, 24 Oct 2016 22:04:28 +0200 Subject: [PATCH] [CI] update build CI --- .travis.yml | 96 ++++++++++++++++++++++++++++++++++-------------- README.md | 88 +++++++++++++++++++++++++++++++++++++++++++- test/testAEC.hpp | 4 +- 3 files changed, 157 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7ed373a..2914143 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,7 @@ -language: - - cpp +language: cpp -sudo: false - -os: - - linux - - osx +sudo: required +dist: trusty branches: only: @@ -18,39 +14,83 @@ addons: - ubuntu-toolchain-r-test packages: - g++-4.9 + - expect + - binutils-mingw-w64-x86-64 # 64bit MinGW + - gcc-mingw-w64-x86-64 + - g++-mingw-w64-x86-64 + +matrix: + include: + - os: linux + env: CONF=release BUILDER=gcc TARGET=Linux TAG=Linux COMPILATOR_OPTION="--compilator-version=4.9" GCOV=--gcov + compiler: gcc + - os: linux + env: CONF=debug BUILDER=clang TARGET=Linux + compiler: clang + - os: linux + env: CONF=release BUILDER=gcc TARGET=Windows TAG=Mingw + compiler: x86_64-w64-mingw32-gcc + - os: linux + env: CONF=release BUILDER=gcc TARGET=Android TAG=Android DISABLE_PACKAGE=-p + compiler: gcc + - os: osx + env: CONF=release BUILDER=clang TARGET=MacOs TAG=MacOs + compiler: clang + - os: osx + env: CONF=release BUILDER=clang TARGET=IOs TAG=IOs + compiler: clang + install: + - cd .. - pip install --user lutin - -env: - - CONF=debug BOARD=Linux BUILDER=clang GCOV= - - CONF=release BOARD=Linux BUILDER=clang GCOV= - - CONF=debug BOARD=Linux BUILDER=gcc GCOV= - - CONF=release BOARD=Linux BUILDER=gcc GCOV= - - CONF=debug BOARD=Linux BUILDER=gcc GCOV=--gcov + - if [ "$TAG" == "Android" ]; then + git clone --depth 1 --branch master https://github.com/HeeroYui/android-download-tool; + ./android-download-tool/dl-android.sh; + fi + - git clone --depth 1 --branch master https://github.com/atria-soft/ci.git + - cd - before_script: - cd .. - - wget http://atria-soft.com/ci/coverage_send.py - - wget http://atria-soft.com/ci/test_send.py - - wget http://atria-soft.com/ci/warning_send.py + - git clone https://github.com/atria-soft/etk.git -b $TRAVIS_BRANCH + - git clone https://github.com/atria-soft/elog.git -b $TRAVIS_BRANCH + - git clone https://github.com/atria-soft/ememory.git -b $TRAVIS_BRANCH + - git clone https://github.com/atria-soft/echrono.git -b $TRAVIS_BRANCH + - git clone https://github.com/atria-soft/ethread.git -b $TRAVIS_BRANCH + - git clone https://github.com/atria-soft/ejson.git -b $TRAVIS_BRANCH + - git clone https://github.com/atria-soft/jvm-basics.git -b $TRAVIS_BRANCH + - git clone https://github.com/musicdsp/audio.git -b $TRAVIS_BRANCH + - git clone https://github.com/musicdsp/audio-algo-drain.git -b $TRAVIS_BRANCH + - git clone https://github.com/musicdsp/audio-algo-river.git -b $TRAVIS_BRANCH + - git clone https://github.com/musicdsp/audio-algo-speex.git -b $TRAVIS_BRANCH + - git clone https://github.com/musicdsp/audio-drain.git -b $TRAVIS_BRANCH + - git clone https://github.com/musicdsp/audio-orchestra.git -b $TRAVIS_BRANCH - git clone https://github.com/generic-library/gtest-lutin.git --recursive - - git clone https://github.com/generic-library/speex-dsp-lutin.git --recursive - git clone https://github.com/generic-library/z-lutin.git --recursive - - git clone https://github.com/atria-soft/etk.git - - git clone https://github.com/atria-soft/ejson.git - - git clone https://github.com/musicdsp/audio.git - - git clone https://github.com/musicdsp/audio-algo-drain.git - - git clone https://github.com/musicdsp/audio-drain.git - - git clone https://github.com/musicdsp/audio-orchestra.git + - git clone https://github.com/generic-library/speex-dsp-lutin.git --recursive - pwd - ls -l - - if [ "$BUILDER" == "gcc" ]; then COMPILATOR_OPTION="--compilator-version=4.9"; else COMPILATOR_OPTION=""; fi + - if [ "$TRAVIS_OS_NAME" == "osx" ]; then + export PATH=$PATH:/Users/travis/Library/Python/2.7/bin/; + fi + - ./ci/build_send.py --tag=$TAG --status=START; -script: - - lutin -w -j4 -C -P -c $BUILDER $COMPILATOR_OPTION -m $CONF $GCOV -p audio-river-test -# - ./out/Linux_x86_64/$CONF/staging/$BUILDER/audio-river-test/usr/bin/audio-river-test -l6 +script: + - lutin -w -j4 -C -P -t$TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF $GCOV $DISABLE_PACKAGE audio-river-test*; STATUS=$? + - ./ci/build_send.py --tag=$TAG --status="$STATUS"; + +after_script: + - if [ "$GCOV" != "" ]; then + ./ci/warning_send.py --find-path ./out/Linux_x86_64/$CONF/build/$BUILDER/audio-river/; + fi + #- lutin -w -j4 -C -P -t$TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF $GCOV $DISABLE_PACKAGE audio-river-test?run:--elog-level=3 | tee out_test.txt + #- if [ "$GCOV" != "" ]; then + # ./ci/test_send.py --file=out_test.txt; + # lutin -C -P -t $TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF -p audio-river?gcov; + # ./ci/coverage_send.py --json=out/Linux_x86_64/$CONF/build/$BUILDER/audio-river/audio-river_coverage.json; + # fi notifications: email: diff --git a/README.md b/README.md index 63cc6be..de932e6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,88 @@ -# audio-river -(APACHE v2.0) audio: virtualisation of hardware interface +audio-river +===== + +`audio-river` is a High level hardware audio interface that connect to orchestra (multi-platform backend) + +Release (master) +---------------- [![Build Status](https://travis-ci.org/musicdsp/audio-river.svg?branch=master)](https://travis-ci.org/musicdsp/audio-river) +[![Coverage Status](http://musicdsp.com/ci/coverage/musicdsp/audio-river.svg?branch=master)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Test Status](http://musicdsp.com/ci/test/musicdsp/audio-river.svg?branch=master)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Warning Status](http://musicdsp.com/ci/warning/musicdsp/audio-river.svg?branch=master)](http://musicdsp.com/ci/musicdsp/audio-river) + +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=master&tag=Linux)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=master&tag=MacOs)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=master&tag=Mingw)](http://musicdsp.com/ci/musicdsp/audio-river) + +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=master&tag=Android)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=master&tag=IOs)](http://musicdsp.com/ci/musicdsp/audio-river) + +Developement (dev) +------------------ + +[![Build Status](https://travis-ci.org/musicdsp/audio-river.svg?branch=dev)](https://travis-ci.org/musicdsp/audio-river) +[![Coverage Status](http://musicdsp.com/ci/coverage/musicdsp/audio-river.svg?branch=dev)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Test Status](http://musicdsp.com/ci/test/musicdsp/audio-river.svg?branch=dev)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Warning Status](http://musicdsp.com/ci/warning/musicdsp/audio-river.svg?branch=dev)](http://musicdsp.com/ci/musicdsp/audio-river) + +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=dev&tag=Linux)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=dev&tag=MacOs)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=dev&tag=Mingw)](http://musicdsp.com/ci/musicdsp/audio-river) + +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=dev&tag=Android)](http://musicdsp.com/ci/musicdsp/audio-river) +[![Build Status](http://musicdsp.com/ci/build/musicdsp/audio-river.svg?branch=dev&tag=IOs)](http://musicdsp.com/ci/musicdsp/audio-river) + + +Instructions +============ + +download Build system: +---------------------- + + sudo pip install lutin + sudo pip install pillow + +download the software: +---------------------- + + mkdir WORKING_DIRECTORY + cd WORKING_DIRECTORY + git clone https://github.com/atria-soft/etk.git + git clone https://github.com/atria-soft/elog.git + git clone https://github.com/atria-soft/ememory.git + git clone https://github.com/atria-soft/ethread.git + git clone https://github.com/atria-soft/ejson.git + git clone https://github.com/musicdsp/audio.git + git clone https://github.com/musicdsp/audio-algo-drain.git + git clone https://github.com/musicdsp/audio-algo-river.git + git clone https://github.com/musicdsp/audio-algo-speex.git + git clone https://github.com/musicdsp/audio-drain.git + git clone https://github.com/musicdsp/audio-orchestra.git + git clone https://github.com/musicdsp/audio-river.git + git clone https://github.com/generic-library/gtest-lutin.git --recursive + git clone https://github.com/generic-library/z-lutin.git --recursive + git clone https://github.com/generic-library/speex-dsp-lutin.git --recursive + +Compile software: +----------------- + + cd WORKING_DIRECTORY + lutin -C -P audio-river-test?build?run + +License (APACHE v2.0) +===================== +Copyright audio-river Edouard DUPIN + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + diff --git a/test/testAEC.hpp b/test/testAEC.hpp index 9a3a023..c9eff10 100644 --- a/test/testAEC.hpp +++ b/test/testAEC.hpp @@ -5,6 +5,8 @@ */ #pragma once +#include + namespace river_test_aec { class Linker { @@ -201,7 +203,7 @@ namespace river_test_aec { ememory::SharedPtr processLink2 = ememory::makeShared(manager, "microphone", "speaker-test"); processLink1->start(); processLink2->start(); - sleep(30); + std::this_thread::sleep_for(std::chrono::seconds(20)); processLink1->stop(); processLink2->stop();