diff options
author | probonopd <probonopd@users.noreply.github.com> | 2017-11-05 22:28:52 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-11-05 14:49:14 -0800 |
commit | cc4ca76ea02320bb69f79d5c91babc545f551600 (patch) | |
tree | 7abeb2ac66f11b3467a5db02f4ca2ac39364700f /.travis.yml | |
parent | 956b45ddfda060fcd818659ee05618ed2e4bfcab (diff) | |
download | subsurface-cc4ca76ea02320bb69f79d5c91babc545f551600.tar.gz |
Build AppImage on Travis CI
https://github.com/Subsurface-divelog/subsurface/issues/769
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/.travis.yml b/.travis.yml index 5d3c9ad58..6e437b28e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,10 @@ language: c++ - +sudo: true # for FUSE dist: trusty -cache: - directories: - - Qt +# cache: +# directories: +# - Qt addons: apt: @@ -27,6 +27,8 @@ addons: - libcurl4-openssl-dev # Not a subsurface dependency, but a Qt dependency - mesa-common-dev + # Not a subsurface dependency, but a QtMultimedia/libdeclarative_multimedia.so dependency + - libpulse-mainloop-glib0 before_install: - if [ ! -e Qt/5.9.1 ] ; then @@ -39,11 +41,22 @@ before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - script: + - export PATH=$PWD/Qt/5.9.1/gcc_64/bin:$PATH # Make sure correct qmake is found on the $PATH for linuxdeployqt - export CMAKE_PREFIX_PATH=$PWD/Qt/5.9.1/gcc_64/lib/cmake ; cd .. ; - bash -e ./subsurface/scripts/build.sh -both -no-bt ; - bash -e ./subsurface/scripts/build.sh -both + bash -e ./subsurface/scripts/build.sh -desktop -create-appdir - env CTEST_OUTPUT_ON_FAILURE=1 make -C subsurface/build check -# - env CTEST_OUTPUT_ON_FAILURE=1 make -C subsurface/build-mobile check + - # env CTEST_OUTPUT_ON_FAILURE=1 make -C subsurface/build-mobile check + - mkdir -p appdir/usr/plugins/ ; mv appdir/usr/home/travis/build/*/subsurface/Qt/5.9.1/gcc_64/plugins/* appdir/usr/plugins/ + - sudo mv appdir/usr/lib/* /usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160 + - rm -rf appdir/usr/home/ appdir/usr/include/ appdir/usr/share/man/ # No need to ship developer and man files as part of the AppImage + - wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" + - chmod a+x linuxdeployqt*.AppImage + - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH + - export LD_LIBRARY_PATH=/usr/local/lib/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/160 + - mkdir -p ./subsurface/map-widget ; cp ./subsurface/mobile-widgets/qml/{MapWidget,MapWidgetContextMenu,MapWidgetError}.qml ./subsurface/map-widget # FIXME: Workaround for https://github.com/Subsurface-divelog/subsurface/issues/769#issuecomment-341920456 + - ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -qmldir=./subsurface/map-widget/ -verbose=2 + - ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -appimage -qmldir=./subsurface/map-widget/ -verbose=2 + - find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq + - curl --upload-file ./Subsurface*.AppImage https://transfer.sh/Subsurface-git.$(cd subsurface/ ; git rev-parse --short HEAD)-x86_64.AppImage |