forked from collin80/SavvyCAN
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
99 lines (89 loc) · 4.12 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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.
matrix:
include:
- os: linux
dist: xenial
compiler: gcc
sudo: require
before_install:
- sudo add-apt-repository ppa:beineri/opt-qt-5.12.3-xenial -y
- sudo apt-get update -qq
install:
- sudo apt-get -y install qt512base qt512connectivity qt512imageformats qt512serialport qt512serialbus qt512doc qt512tools 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
before_install:
- cmd.exe /C 'cd && "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build/vcvars32.bat"'
- choco install zip
- curl -vLO http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe
- "./qt-unified-windows-x86-online.exe --verbose --script qt-installer-windows.qs"
script:
- cmd.exe /C 'cd && "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build/vcvars32.bat" && cd && "C:/Qt/5.12.3/msvc2017/bin/qmake" CONFIG+=RELEASE SavvyCAN.pro && cd && nmake'
- ls
- cmd.exe /C 'cd release && "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build/vcvars32.bat" && "C:/Qt/5.12.3/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 SavvyCAN32.zip -r *
deploy:
provider: releases
skip_cleanup: true
api_key: $GITHUB_TOKEN
file: SavvyCAN32.zip
on:
tags: true
draft: false
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/