Files
giesCANne/.travis.yml
T

108 lines
4.3 KiB
YAML

language: cpp
# Any time a commit is done to either master or WIP we do a CI build on all three platforms to make
# sure it really builds. The linux version will be saved to the continuous tag and thus available
# for testing. All three platforms will get a proper release upon a tagged commit.
env:
global:
- QT_INSTALL_DIR=~/Qt
- QT_VERSION=5.14.2
matrix:
include:
- os: linux
dist: xenial
compiler: gcc
sudo: require
before_install:
- sudo add-apt-repository ppa:beineri/opt-qt-5.14.1-xenial -y
- sudo apt-get update -qq
install:
- sudo apt-get -y install qt514base qt514connectivity qt514imageformats qt514serialport qt514serialbus qt514doc qt514tools libgl1-mesa-dev
- source /opt/qt*/bin/qt*-env.sh
script:
- qmake CONFIG+=release PREFIX=/usr
- make -j$(nproc)
- make INSTALL_ROOT=appdir -j$(nproc) install ; find appdir/
- wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
- chmod a+x linuxdeployqt-continuous-x86_64.AppImage
# export VERSION=... # linuxdeployqt uses this for naming the file
- ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/local/share/applications/SavvyCAN.desktop -appimage -extra-plugins=iconengines,platformthemes/libqgtk3.so,canbus
after_success:
# find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq # for debugging
# curl --upload-file APPNAME*.AppImage https://transfer.sh/APPNAME-git.$(git rev-parse --short HEAD)-x86_64.AppImage
- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
- bash upload.sh SavvyCAN*.AppImage*
deploy:
provider: releases
skip_cleanup: true
api_key: $GITHUB_TOKEN
file_glob: true
file: SavvyCAN*.AppImage
on:
tags: true #deploy is only done on tagged builds
draft: false
- os: osx
osx_image: xcode10
before_install:
- brew install qt5
- brew link qt5 --force
script:
- qmake CONFIG+=release -spec macx-xcode SavvyCAN.pro
- xcodebuild
- mkdir Release/SavvyCAN.app/Contents/MacOS/help
- cp -R help/*.* Release/SavvyCAN.app/Contents/MacOS/help
- cd Release
- ls SavvyCAN.app/Contents/MacOS
- macdeployqt SavvyCAN.app -dmg
deploy:
provider: releases
skip_cleanup: true
api_key: $GITHUB_TOKEN
file: SavvyCAN.dmg
on:
tags: true
draft: false
- os: windows
env:
QMAKE_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/msvc2017/bin/qmake.exe
QDEPLOY_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/msvc2017/bin/windeployqt.exe
before_install:
- cmd.exe //C cd '&&' "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build/vcvars64.bat"
- ./install-qt.sh -d ${QT_INSTALL_DIR} --version ${QT_VERSION} --toolchain win64_msvc2017_64 qtbase qttools qtconnectivity qtimageformats qtserialport qtserialbus
script:
- cmd.exe //C cd '&&' "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build/vcvars64.bat" '&&' cd "c:/Users/travis/build/collin80/savvycan" '&&' cd '&&' "c:/Users/travis/Qt/5.14.2/msvc2017/bin/qmake" CONFIG+=RELEASE SavvyCAN.pro '&&' nmake
- ls
- cd release
- cmd.exe //C 'C:/Users/travis/Qt/5.14.2/msvc2017/bin/windeployqt.exe' './SavvyCAN.exe'
- cd release
- ls
- rm *.cpp
- rm *.h
- rm *.obj
- mkdir help
- cp -R ../help/*.* ./help
- cp -r ../examples .
- 7z a -tzip SavvyCAN.zip -r *
deploy:
provider: releases
skip_cleanup: true
api_key: $GITHUB_TOKEN
file: SavvyCAN.zip
on:
tags: true
draft: false
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/