mirror of https://gitlab.com/cppit/jucipp
9 changed files with 81 additions and 34 deletions
@ -1,27 +1,19 @@ |
|||||||
sudo: required |
sudo: required |
||||||
language: cpp |
|
||||||
|
|
||||||
env: |
env: |
||||||
- distribution: ubuntu |
- distribution: ubuntu |
||||||
version: 16.04 |
|
||||||
init: /sbin/init |
|
||||||
run_opts: "" |
|
||||||
- distribution: fedora |
- distribution: fedora |
||||||
version: 23 |
- distribution: arch |
||||||
init: /sbin/init |
- distribution: debian-testing |
||||||
run_opts: "" |
- distribution: debian |
||||||
|
|
||||||
services: |
services: |
||||||
- docker |
- docker |
||||||
|
|
||||||
before_install: |
before_install: |
||||||
- sudo docker pull ${distribution}:${version} |
- ./ci/update_travis.sh |
||||||
- sudo docker build --rm=true --file=ci/${distribution}-${version}.docker --tag=${distribution}-${version}:jucipp ci |
|
||||||
|
|
||||||
script: |
script: |
||||||
- container_id=$(mktemp) |
- CXX=clang++ CC=clang ./ci/compile_container.sh |
||||||
- sudo docker run --detach --volume="${PWD}":/home/:rw ${run_opts} ${distribution}-${version}:jucipp "${init}" > "${container_id}" |
- ./ci/compile_container.sh |
||||||
|
- ./ci/static_analysis.sh |
||||||
- sudo docker exec "$(cat ${container_id})" /home/ci/${distribution}-${version}.build |
|
||||||
|
|
||||||
- sudo docker stop "$(cat ${container_id})" |
|
||||||
@ -0,0 +1,22 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
function linux () { |
||||||
|
cd ci || exit |
||||||
|
sudo rm ../build -rf |
||||||
|
sudo docker run -it \ |
||||||
|
-e "CXX=$CXX" \ |
||||||
|
-e "CC=$CC" \ |
||||||
|
-e "make_command=$make_command" \ |
||||||
|
-e "cmake_command=$cmake_command" \ |
||||||
|
-e "distribution=$distribution" \ |
||||||
|
-v "$PWD/../:/jucipp" \ |
||||||
|
--entrypoint="/jucipp/ci/entrypoint.sh" \ |
||||||
|
"cppit/jucipp:$distribution" |
||||||
|
} |
||||||
|
|
||||||
|
#TODO Should run compile/install instructions for osx |
||||||
|
function osx () { |
||||||
|
true |
||||||
|
} |
||||||
|
|
||||||
|
$TRAVIS_OS_NAME |
||||||
@ -0,0 +1,14 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
if [ "${cmake_command}" == "" ]; then |
||||||
|
cmake_command="cmake -DCMAKE_CXX_FLAGS=\"-Werror\" .." |
||||||
|
fi |
||||||
|
|
||||||
|
if [ "${make_command}" == "" ]; then |
||||||
|
make_command="make -j 2" |
||||||
|
fi |
||||||
|
|
||||||
|
cd jucipp || exit |
||||||
|
mkdir -p build && cd build || exit |
||||||
|
sh -c "${cmake_command}" || exit |
||||||
|
exec sh -c "${make_command}" |
||||||
@ -1,6 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
cd /home && |
|
||||||
mkdir build && |
|
||||||
cd build && |
|
||||||
cmake -DCMAKE_CXX_COMPILER=g++ .. && |
|
||||||
make |
|
||||||
@ -1,3 +0,0 @@ |
|||||||
FROM fedora:23 |
|
||||||
|
|
||||||
RUN dnf install -y git cmake make gcc-c++ clang-devel clang lldb-devel boost-devel gtksourceviewmm3-devel gtkmm30-devel aspell-devel aspell-en |
|
||||||
@ -0,0 +1,16 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
function linux () { |
||||||
|
cd ci || exit |
||||||
|
sudo docker run -it \ |
||||||
|
-v "${PWD}/../:/jucipp/" \ |
||||||
|
"cppit/jucipp:${distribution}" \ |
||||||
|
sh -c "cd jucipp/build && scan-build -o ../html_${distribution} --status-bugs make" |
||||||
|
} |
||||||
|
|
||||||
|
#TODO should do static analysis on build |
||||||
|
function osx () { |
||||||
|
true |
||||||
|
} |
||||||
|
|
||||||
|
$TRAVIS_OS_NAME |
||||||
@ -1,6 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
cd /home && |
|
||||||
mkdir build && |
|
||||||
cd build && |
|
||||||
cmake -DCMAKE_CXX_COMPILER=g++ .. && |
|
||||||
make |
|
||||||
@ -1,4 +0,0 @@ |
|||||||
FROM ubuntu:16.04 |
|
||||||
|
|
||||||
RUN apt-get update |
|
||||||
RUN apt-get install -y git cmake make g++ libclang-3.5-dev liblldb-3.5-dev clang-format-3.5 pkg-config libboost-filesystem-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev |
|
||||||
@ -0,0 +1,22 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
function linux () { |
||||||
|
sudo apt-get update |
||||||
|
sudo apt-get purge lxc-docker |
||||||
|
sudo apt-get install --yes --force-yes -o Dpkg::Options::="--force-confnew" linux-image-extra-$(uname -r) docker-engine |
||||||
|
sudo service docker stop || exit |
||||||
|
sudo rm -rf /var/lib/docker || exit |
||||||
|
sudo service docker start || exit |
||||||
|
} |
||||||
|
|
||||||
|
# TODO method should update osx, brew, packages etc needed for juCi++ |
||||||
|
function osx () { |
||||||
|
brew update |
||||||
|
brew rm llvm |
||||||
|
brew doctor |
||||||
|
brew upgrade |
||||||
|
brew install --with-clang --with-lldb llvm |
||||||
|
brew install cmake pkg-config boost homebrew/x11/gtksourceviewmm3 aspell clang-format |
||||||
|
} |
||||||
|
|
||||||
|
$TRAVIS_OS_NAME |
||||||
Loading…
Reference in new issue