diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..c1bc99b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,37 @@ +language: cpp +compiler: gcc +sudo: require +dist: trusty +cache: + ccache: true + directories: + - $HOME/.ccache + - $HOME/.cache/apt + #- $HOME/.cache/mpv-build + +before_install: + - mkdir -p $HOME/.cache/apt/partial + - sudo rm -rf /var/cache/apt/archives + - sudo ln -s $HOME/.cache/apt /var/cache/apt/archives + - sudo add-apt-repository ppa:beineri/opt-qt-5.10.1-trusty -y + - sudo apt-get update + +install: + - sudo apt-get -y install ccache qt510-meta-minimal qt510quickcontrols python3-setuptools qt510quickcontrols2 qt510svg libgl1-mesa-dev x11proto-xext-dev libx11-dev qt510x11extras + - sudo apt-get build-dep mpv + - source /opt/qt*/bin/qt*-env.sh + +script: + - wget https://github.com/NamedKitten/mpv-builder/releases/download/continuous/deps.tar.xz + - sudo tar xvf deps.tar.xz -C / + - time bash scripts/makeappimage.sh + +after_success: + - time bash scripts/upload.sh + +branches: + except: + - # Do not build tags that we create when we upload to GitHub Releases + - /^(?i:continuous)/ + + diff --git a/scripts/makeappimage.sh b/scripts/makeappimage.sh new file mode 100644 index 0000000..0cacade --- /dev/null +++ b/scripts/makeappimage.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -ex + +export PATH="/usr/lib/ccache:/usr/lib/ccache/bin:$PATH" + +export QML_SOURCES_PATHS=src/qml +export V=0 VERBOSE=0 + +cmake -DCMAKE_INSTALL_PREFIX=/usr . +make -j$(nproc) +make DESTDIR=appdir -j$(nproc) install ; find appdir/ +wget -nc "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage" +wget -nc "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage" +chmod +x linux* +mkdir -p appdir/usr/lib + +if [ "$ARCH" == "" ]; then + ARCH="x86_64" +fi +wget https://github.com/AppImage/AppImageUpdate/releases/download/continuous/AppImageUpdate-x86_64.AppImage -O appdir/usr/bin/appimageupdatetool +chmod +x appdir/usr/bin/appimageupdatetool + +wget https://yt-dl.org/downloads/latest/youtube-dl -O appdir/usr/bin/youtube-dl +chmod +x appdir/usr/bin/youtube-dl + +export UPD_INFO="gh-releases-zsync|NamedKitten|KittehPlayer|continuous|KittehPlayer-$ARCH.AppImage.zsync" +time ./linuxdeploy-x86_64.AppImage --appdir appdir --plugin qt --output appimage -v 3 diff --git a/scripts/upload.sh b/scripts/upload.sh new file mode 100644 index 0000000..6669f72 --- /dev/null +++ b/scripts/upload.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e + +export TEXT=`git log -1 --pretty=%B` +export UPLOADTOOL_BODY="$TEXT\nTravis CI build log: https://travis-ci.com/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID/" + +wget https://github.com/probonopd/uploadtool/raw/master/upload.sh +bash upload.sh KittehPlayer*.AppImage* +echo "Done!"