[CI] add travis CI

This commit is contained in:
Edouard DUPIN 2016-10-24 22:23:26 +02:00
parent a5efe4f3f9
commit 5a7c4c5a4d
2 changed files with 161 additions and 0 deletions

85
.travis.yml Normal file
View File

@ -0,0 +1,85 @@
language: cpp
#sudo: false
sudo: required
dist: trusty
branches:
only:
- master
- dev
addons:
apt:
sources:
- 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
- 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 ..
- git clone https://github.com/atria-soft/elog.git
- git clone https://github.com/atria-soft/etk.git
- git clone https://github.com/generic-library/gtest-lutin.git --recursive
- git clone https://github.com/generic-library/z-lutin.git --recursive
- pwd
- ls -l
- 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 -t $TARGET -c $BUILDER $COMPILATOR_OPTION $BUS -m $CONF $GCOV $DISABLE_PACKAGE ememory-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/ememory/;
fi
- ./out/Linux_x86_64/$CONF/staging/$BUILDER/ememory-test/ememory-test.app/bin/ememory-test --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 ememory?gcov;
./ci/coverage_send.py --json=out/Linux_x86_64/$CONF/build/$BUILDER/ememory/ememory_coverage.json;
fi
notifications:
email:
- yui.heero@gmail.com

76
README.md Normal file
View File

@ -0,0 +1,76 @@
ememory
=======
`e-memory` is a simple <memory> implementation to get thread-safe shared_ptr container (not availlable in c++11)
Release (master)
----------------
[![Build Status](https://travis-ci.org/atria-soft/ememory.svg?branch=master)](https://travis-ci.org/atria-soft/ememory)
[![Coverage Status](http://atria-soft.com/ci/coverage/atria-soft/ememory.svg?branch=master)](http://atria-soft.com/ci/atria-soft/ememory)
[![Test Status](http://atria-soft.com/ci/test/atria-soft/ememory.svg?branch=master)](http://atria-soft.com/ci/atria-soft/ememory)
[![Warning Status](http://atria-soft.com/ci/warning/atria-soft/ememory.svg?branch=master)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=master&tag=Linux)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=master&tag=MacOs)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=master&tag=Mingw)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=master&tag=Android)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=master&tag=IOs)](http://atria-soft.com/ci/atria-soft/ememory)
Developement (dev)
------------------
[![Build Status](https://travis-ci.org/atria-soft/ememory.svg?branch=dev)](https://travis-ci.org/atria-soft/ememory)
[![Coverage Status](http://atria-soft.com/ci/coverage/atria-soft/ememory.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/ememory)
[![Test Status](http://atria-soft.com/ci/test/atria-soft/ememory.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/ememory)
[![Warning Status](http://atria-soft.com/ci/warning/atria-soft/ememory.svg?branch=dev)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=dev&tag=Linux)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=dev&tag=MacOs)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=dev&tag=Mingw)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=dev&tag=Android)](http://atria-soft.com/ci/atria-soft/ememory)
[![Build Status](http://atria-soft.com/ci/build/atria-soft/ememory.svg?branch=dev&tag=IOs)](http://atria-soft.com/ci/atria-soft/ememory)
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/elog.git
git clone https://github.com/generic-library/gtest-lutin.git --recursive
Compile software:
-----------------
cd WORKING_DIRECTORY
lutin -C -P ememory-test
License (APACHE v2.0)
=====================
Copyright ememory 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.