155 lines
4.5 KiB
YAML
155 lines
4.5 KiB
YAML
language: cpp
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
dist: trusty
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-5
|
|
env:
|
|
- CC_COMPILER=gcc-5 CXX_COMPILER=g++-5 PYTHON_BINDING=0
|
|
|
|
- os: linux
|
|
compiler: gcc
|
|
dist: trusty
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- g++-5
|
|
env:
|
|
- CC_COMPILER=gcc-5 CXX_COMPILER=g++-5 PYTHON_BINDING=1 PYTHON=3.5
|
|
|
|
# - os: linux
|
|
# compiler: gcc
|
|
# dist: trusty
|
|
# addons:
|
|
# apt:
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# packages:
|
|
# - g++-5
|
|
# env:
|
|
# - CC_COMPILER=gcc-5 CXX_COMPILER=g++-5 PYTHON_BINDING=1 PYTHON=3.6
|
|
|
|
# - os: linux
|
|
# compiler: gcc
|
|
# dist: trusty
|
|
# addons:
|
|
# apt:
|
|
# sources:
|
|
# - ubuntu-toolchain-r-test
|
|
# packages:
|
|
# - g++-5
|
|
# env:
|
|
# - CC_COMPILER=gcc-5 CXX_COMPILER=g++-5 PYTHON_BINDING=1 PYTHON=3.7
|
|
|
|
- os: osx
|
|
compiler: clang
|
|
env:
|
|
- PYTHON_BINDING=0
|
|
|
|
# - os: osx
|
|
# compiler: clang
|
|
# env:
|
|
# - PYTHON_BINDING=1 PYTHON=3.5
|
|
|
|
- os: osx
|
|
compiler: clang
|
|
env:
|
|
- PYTHON_BINDING=1 PYTHON=3.6
|
|
|
|
# - os: osx
|
|
# compiler: clang
|
|
# env:
|
|
# - PYTHON_BINDING=1 PYTHON=3.7
|
|
|
|
before_install:
|
|
- |
|
|
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
HOMEBREW_NO_AUTO_UPDATE=1 brew install swig
|
|
brew link --force swig
|
|
|
|
# TODO: find way to install specific python versions on osx
|
|
# if [[ "$PYTHON_BINDING" == "1" ]]; then
|
|
# brew install python$PYTHON
|
|
# python --version
|
|
# fi
|
|
|
|
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
|
sudo apt-get update
|
|
sudo apt-get install -qq swig
|
|
|
|
# TODO: this is only working for python3.5, not above
|
|
if [[ "$PYTHON_BINDING" == "1" ]]; then
|
|
sudo apt-get install python$PYTHON
|
|
sudo apt-get install python$PYTHON-dev
|
|
alias python="/usr/bin/python$PYTHON"
|
|
python --version
|
|
fi
|
|
fi
|
|
|
|
install:
|
|
- if [[ "${CXX_COMPILER}" != "" ]]; then export CXX=${CXX_COMPILER}; export CXX_FOR_BUILD=${CXX_COMPILER}; fi
|
|
- if [[ "${CC_COMPILER}" != "" ]]; then export CC=${CC_COMPILER}; export CC_FOR_BUILD=${CC_COMPILER}; fi
|
|
|
|
script:
|
|
- |
|
|
mkdir build
|
|
cd build
|
|
cmake -DBUILD_BINDINGS_PYTHON=$PYTHON_BINDING -DPYTHON_VERSION=$PYTHON ..
|
|
make
|
|
./core/test_core
|
|
|
|
before_deploy:
|
|
- |
|
|
cd $TRAVIS_BUILD_DIR
|
|
|
|
VERSION=$(head -1 version.txt)
|
|
VERSION=${VERSION//./_}
|
|
|
|
if [[ "$PYTHON_BINDING" == "1" ]]; then
|
|
PYTHON_VERSION=${PYTHON//.}
|
|
PYTHON_VERSION=${PYTHON_VERSION:0:2}
|
|
BUNDLE_NAME=sourcetraildb_python${PYTHON_VERSION}_${VERSION}-${TRAVIS_OS_NAME}-64bit-${TRAVIS_COMPILER}
|
|
|
|
mkdir -p $BUNDLE_NAME
|
|
cp build/bindings_python/sourcetraildb.py $BUNDLE_NAME
|
|
cp build/bindings_python/_sourcetraildb* $BUNDLE_NAME/_sourcetraildb.so
|
|
else
|
|
BUNDLE_NAME=sourcetraildb_core_${VERSION}-${TRAVIS_OS_NAME}-64bit-${TRAVIS_COMPILER}
|
|
|
|
mkdir -p $BUNDLE_NAME/include
|
|
mkdir -p $BUNDLE_NAME/lib
|
|
|
|
cp build/core/*.a $BUNDLE_NAME/lib
|
|
cp core/include/* $BUNDLE_NAME/include
|
|
cp build/core/include/* $BUNDLE_NAME/include
|
|
fi
|
|
|
|
mkdir -p $BUNDLE_NAME/license
|
|
cp LICENSE.txt $BUNDLE_NAME/license/license_sourcetraildb.txt
|
|
cp external/catch/license_catch.txt $BUNDLE_NAME/license/
|
|
cp external/cpp_sqlite/license_cpp_sqlite.txt $BUNDLE_NAME/license/
|
|
cp external/json/license_json.txt $BUNDLE_NAME/license/
|
|
|
|
zip -r $BUNDLE_NAME $BUNDLE_NAME
|
|
|
|
deploy:
|
|
provider: releases
|
|
api_key:
|
|
secure: UwuiE6SrjorpBr1CzTRadX1zq83hwbnur+MvzBueqEHM7Yyu5Y0xMkwchRlX41HzMuSkC0azM0S8GfqJT1E7pIrqgJGvFbXR3t9ZG8HtvrcM4PvTS8b0G0d8aWHfTP2Zv+PAK3MMnYtxmOFPs4IaqO1m+imjQWtpvCRG5tvc4DNIPAMh0S8LCjxUdz35BYAM4pwM7WB9Qt+YhbyP1h3oSQ7qtr1fZYCC0H4G1cjVBLeP9g66/tfg0MIQVf1wxU8KF3H6esilPhFDCnsBYcnYrKyJN9OkMXZvLoxsjqQvTlsSNO2wIQ32dW8fk+1VFebWjN3RnNUV2Zb3wdz2y6e6A08J8T/+QrJ003eUJAGassQEgsuQ85ldcbylbKCVdi+iA+W6pKSJoHIlyr2KQG77OZ+q3obvY09IMNX2qVnUJKG8g9vZHKk8TlvUtIDODUxqJ/XUVwG5aKiUPuE5UMeLnZlO7cWpABb28BjXGehLCDtqg2eu39n+N9hyEjmsJLcOuS03+C55YrjJHW09qZomorMyIa//4jxSAOU9Iah7cRzPGUl/eSwQ2kf0OGWfySd2PreOThWepH0ymvG9htlTUSMM4wRuKnNAmG7NY6TykttJY2KsTLpki+P4MFBlSvL0VvoHQintK69udSVeUrJaGx508w8V59AdZwJjMxhjOXw=
|
|
file_glob: true
|
|
file: $TRAVIS_BUILD_DIR/*.zip
|
|
overwrite: true
|
|
skip_cleanup: true
|
|
on:
|
|
tags: true
|
|
repo: CoatiSoftware/SourcetrailDB
|