-
Notifications
You must be signed in to change notification settings - Fork 11
/
.travis.yml
91 lines (87 loc) · 5.11 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
language: cpp
branches:
except:
- /^(?i:testing-)/
- /^(?i:continuous)/
- l10n_master
env:
global:
- RELEASE_BRANCH="master"
# - mingw-w64
matrix:
include:
- os: linux
dist: trusty
sudo: required
compiler: gcc
before_install:
- sudo apt-get update -qq
install:
#- sudo apt-get dist-upgrade -y
- sudo apt-get autoremove -yqq libqt5core5a libavformat54 cmake
- sudo apt-get install -yqq build-essential bison autoconf curl wget cmake make git libva-dev libvdpau-dev libva-glx1 libxcb-xkb-dev
- sudo apt-get install -yqq libxkbcommon-dev libxkbcommon-x11-dev libxcb-render-util0 libxcb-xinerama0 libxcb-image0 libxcb-keysyms1
- sudo apt-get install -yqq libxcb-icccm4
# install prebuilt binaries from https://www.dropbox.com/sh/elawli9m1p4cugt/AABwOOOi0aj0yR9909t1ZX8ta?dl=0&lst=
- curl -L 'https://www.dropbox.com/sh/elawli9m1p4cugt/AADYKhzI7OGdpKgR3Cmiuicoa/cmake-3.11.0-trusty-amd64.tar.xz?dl=1' | sudo tar -xJ -C /
- curl -L 'https://www.dropbox.com/sh/elawli9m1p4cugt/AAAXBYD9IpzyfHtaWwLZ-n8Xa/ffmpeg-20181127-trusty-amd64.tar.xz?dl=1' | sudo tar -xJ -C /
- curl -L 'https://www.dropbox.com/sh/elawli9m1p4cugt/AAAuwxMJcyvNr5kieUKoL5mRa/qt5-bundle-5.11.2-trusty-amd64.tar.xz?dl=1' | sudo tar -xJ -C /
- sudo ldconfig
script:
- |-
mkdir build && cd build
verdef="-DAPP_VERSION=`git describe --always --abbrev=8 | sed 's/-g/-/;s/-/-git-/;s/^v//g'`"
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
$verdef \
.. || (cat /home/travis/build/maxrd2/divvydroid/build/CMakeFiles/CMakeOutput.log ; exit 1) || exit 1
make -j$(nproc) || exit 1
after_success:
- |- # appdir
appdir="$HOME/appdir"
(cd $TRAVIS_BUILD_DIR/build && make DESTDIR="$appdir" install) || exit 1
- |- # appimage
curl -L "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" >linuxdeployqt && chmod +x linuxdeployqt
curl -L "https://github.com/AppImage/AppImageKit/releases/download/11/appimagetool-x86_64.AppImage" >appimagetool && chmod +x appimagetool
./linuxdeployqt "$appdir/usr/share/applications/divvydroid.desktop" -bundle-non-qt-libs -verbose=2 || exit 1
rm -v "$appdir/usr/lib/libxcb-dri2.so"* "$appdir/usr/lib/libxcb-dri3.so"*
./appimagetool "$appdir/" -g
- |- # publish
if [[ ("$TRAVIS_BRANCH" != "$RELEASE_BRANCH" && "$TRAVIS_BRANCH" != "$TRAVIS_TAG") || "$TRAVIS_EVENT_TYPE" != "push" ]]; then
#echo 'Uploading to transfer.sh...'
#url=$(curl -H "Max-Days: 1" --upload-file DivvyDroid-x86_64.AppImage https://transfer.sh/DivvyDroid-x86_64.AppImage)
#echo "AppImage uploaded to: $url"
export UPLOADTOOL_SUFFIX="$TRAVIS_BRANCH"
export UPLOADTOOL_BODY="Instructions on using AppImage can be found [here](https://github.com/maxrd2/DivvyDroid/wiki/AppImage-HOWTO)\n\nThis is the ***$UPLOADTOOL_SUFFIX experimental build*** for testing new features.\n\nTravis CI build log: https://travis-ci.org/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID/"
bash "$TRAVIS_BUILD_DIR/pkg/appimage/upload.sh" DivvyDroid-x86_64.AppImage*
elif [[ "$TRAVIS_BRANCH" != "$TRAVIS_TAG" ]]; then
echo 'Publishing release to GitHub...'
export UPLOADTOOL_BODY="Instructions on using AppImage can be found [here](https://github.com/maxrd2/DivvyDroid/wiki/AppImage-HOWTO)\n\nThis is the ***latest development build***, below you can find stable release builds.\n\nTravis CI build log: https://travis-ci.org/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID/"
bash "$TRAVIS_BUILD_DIR/pkg/appimage/upload.sh" DivvyDroid-x86_64.AppImage*
else
echo 'Publishing release to GitHub...'
export UPLOADTOOL_BODY="Instructions on using AppImage can be found [here](https://github.com/maxrd2/DivvyDroid/wiki/AppImage-HOWTO)\n\nThis is the ***release $TRAVIS_TAG stable build***.\n\nTravis CI build log: https://travis-ci.org/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID/"
bash "$TRAVIS_BUILD_DIR/pkg/appimage/upload.sh" DivvyDroid-x86_64.AppImage*
fi
- os: linux
dist: xenial
sudo: required
compiler: clang
before_install: |-
sudo add-apt-repository -y 'ppa:mc3man/xerus-media' # ffmpeg3, libmpv
sudo add-apt-repository -y 'ppa:beineri/opt-qt596-xenial' # Qt 5.9 LTS
sudo apt-get update -qq
install:
- |- # dependencies
sudo apt-get install -yqq curl cmake make libavformat-dev libswscale-dev qt59-meta-minimal clang libgl-dev
- |- # qt5 environment
source /opt/qt5*/bin/qt5*-env.sh || exit 1
script:
- |-
mkdir build && cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
.. || (cat /home/travis/build/maxrd2/divvydroid/build/CMakeFiles/CMakeOutput.log ; exit 1) || exit 1
make -j$(nproc) || exit 1