Labrador/.travis.yml

90 lines
2.8 KiB
YAML

language: cpp
matrix:
include:
- os: linux
dist: trusty
sudo: required
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- gcc-7
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- os: osx
osx_image: xcode7.2
compiler: clang
before_install:
- eval "${MATRIX_EVAL}"
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
# Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo add-apt-repository ppa:beineri/opt-qt593-trusty -y
sudo apt-get update -qq
fi
install:
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install qt5
brew link qt5 --force
#brew install libusb
#brew install wget
# Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo apt-get -y install qt59base libusb-1.0-0-dev
source /opt/qt*/bin/qt*-env.sh
fi
script:
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd Desktop_Interface
qmake CONFIG+=release PREFIX=/usr DEFINES+=GIT_HASH_SHORT=$(git rev-parse --short HEAD)
make -j$(sysctl -n hw.ncpu)
mkdir -p bin/Labrador.app/Contents/MacOS/Resources
mkdir -p bin/Labrador.app/Contents/Frameworks
cp -r bin/firmware bin/Labrador.app/Contents/MacOS
cp -r bin/waveforms bin/Labrador.app/Contents/MacOS
cp resources/iconfile.icns bin/Labrador.app/Contents/Resources
cp resources/Info.plist bin/Labrador.app/Contents
macdeployqt bin/Labrador.app -dmg -libpath=build_mac/libdfuprog/lib/
#Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
cd Desktop_Interface
./make_appimage
sudo ./make_deb
fi
after_success:
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export UPLOADTOOL_SUFFIX="macOS"
export UPLOADTOOL_BODY="EspoTek Labrador software for macOS 10.10 and later."
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
bash upload.sh bin/Labrador.dmg
# Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
export UPLOADTOOL_SUFFIX="Linux"
find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
export UPLOADTOOL_BODY="EspoTek Labrador software for Linux. For Debian-based distros (including the Ubuntu family), you can use the .deb. For other distros, you will need to use the .AppImage or build from source (instructions available in main page)."
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
bash upload.sh EspoTek_Labrador*.AppImage EspoTek_Labrador*.deb
fi
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/