mirror of https://github.com/Syncplay/syncplay
Add deb package to Travis CI (#318)
* Script for building deb package on Travis * Adding deb build to Travis CI configuration * Remove superflous install step from deb build * Add permissions to execute build script for deb package. * Update deb build environment to use Ubuntu 18.04 * Install the deb package as part of build process * Fix deb location for installation test * Remove installation test Latest Ubuntu available on Travis doesn't meet minimum required version of pyside2. * Fix pyside dependencies to make them more accurate. * Switch deb build to Ubuntu 20.04 * Add installation and runtime test. * Fix location of deb package for upload to bintray. * Separate out testing from build script. * Make the script output visible in Travis CI logs. * Fix permissons for test script.
This commit is contained in:
parent
692143b0a1
commit
d4ac455624
|
@ -11,6 +11,10 @@ jobs:
|
|||
dist: xenial
|
||||
os: linux
|
||||
env: BUILD_DESTINATION=snapcraft
|
||||
- language: minimal
|
||||
dist: focal
|
||||
os: linux
|
||||
env: BUILD_DESTINATION=deb
|
||||
- language: python
|
||||
os: linux
|
||||
dist: xenial
|
||||
|
@ -21,12 +25,16 @@ script:
|
|||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then python3 buildPy2app.py py2app ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "snapcraft" ]; then sudo snapcraft cleanbuild ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "appimage" ]; then travis/appimage-script.sh ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "deb" ]; then travis/deb-script.sh ; fi
|
||||
|
||||
install:
|
||||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then travis/macos-install.sh ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "snapcraft" ]; then travis/snapcraft-install.sh ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "appimage" ]; then sudo apt-get install libxkbcommon-x11-0 ; fi
|
||||
|
||||
after_success:
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "deb" ]; then travis/deb-installation-test.sh ; fi
|
||||
|
||||
before_deploy:
|
||||
- ls -al
|
||||
- export VER="$(cat syncplay/__init__.py | awk '/version/ {gsub("\047", "", $3); print $NF}')"
|
||||
|
@ -35,6 +43,7 @@ before_deploy:
|
|||
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then travis/macos-deploy.sh ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "snapcraft" ]; then mv syncplay_build_amd64.snap dist_bintray/syncplay_${VER}_amd64.snap ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "appimage" ]; then travis/appimage-deploy.sh ; fi
|
||||
- if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_DESTINATION" == "deb" ]; then mv /tmp/syncplay.deb dist_bintray/syncplay_${VER}.deb ; fi
|
||||
|
||||
deploy:
|
||||
skip_cleanup: true
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
sudo apt install /tmp/syncplay.deb -y
|
||||
syncplay --no-gui
|
||||
sudo apt remove syncplay
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
mkdir -p /tmp/syncplay/DEBIAN
|
||||
|
||||
echo "Package: syncplay
|
||||
Version: "$(sed -n -e "s/^.*version = //p" syncplay/__init__.py | sed "s/'//g")""$(git describe --exact-match --tags HEAD &>/dev/null && echo -git-$(date -u +%y%m%d%H%M))"
|
||||
Architecture: all
|
||||
Maintainer: <dev@syncplay.pl>
|
||||
Depends: python3 (>= 3.4), python3-pyside2.qtwidgets, python3-pyside2.qtcore, python3-twisted (>= 16.4.0), python3-certifi, mpv (>= 0.23) | vlc (>= 2.2.1)
|
||||
Homepage: https://syncplay.pl
|
||||
Section: web
|
||||
Priority: optional
|
||||
Description: Solution to synchronize video playback across multiple instances of mpv, VLC, MPC-HC and MPC-BE over the Internet.
|
||||
Syncplay synchronises the position and play state of multiple media players so that the viewers can watch the same thing at the same time. This means that when one person pauses/unpauses playback or seeks (jumps position) within their media player then this will be replicated across all media players connected to the same server and in the same 'room' (viewing session). When a new person joins they will also be synchronised. Syncplay also includes text-based chat so you can discuss a video as you watch it (or you could use third-party Voice over IP software to talk over a video)." \
|
||||
> /tmp/syncplay/DEBIAN/control
|
||||
echo "#!/bin/sh
|
||||
py3clean -p syncplay
|
||||
"
|
||||
> /tmp/syncplay/DEBIAN/prerm
|
||||
chmod 555 /tmp/syncplay/DEBIAN/prerm
|
||||
|
||||
make install DESTDIR=/tmp/syncplay
|
||||
dpkg -b /tmp/syncplay/
|
||||
|
Loading…
Reference in New Issue