diff --git a/.travis.yml b/.travis.yml index 69f0d4b..05c8ef3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,38 +9,10 @@ env: - DISPLAY=:99 before_install: - - sudo add-apt-repository --yes ppa:beineri/opt-qt58-trusty - - sudo apt-get update -qq - - git clone https://github.com/NixOS/patchelf.git - - cd patchelf - - bash ./bootstrap.sh - - ./configure - - make -j2 - - sudo make install - - cd - - - sudo wget -c "https://github.com/probonopd/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool - - sudo chmod a+x /usr/local/bin/appimagetool - -install: - - sudo apt-get -y install qt58base qt58declarative qt58webengine binutils xpra + - ./tests/tests-environment.sh script: - - source /opt/qt*/bin/qt*-env.sh - - /opt/qt*/bin/qmake linuxdeployqt.pro - - - make -j2 - - - mkdir -p linuxdeployqt.AppDir/usr/bin/ - - cp /usr/local/bin/patchelf linuxdeployqt.AppDir/usr/bin/ - - cp /usr/local/bin/appimagetool linuxdeployqt.AppDir/usr/bin/ - - find linuxdeployqt.AppDir/ - - export VERSION=continuous - - cp ./linuxdeployqt/linuxdeployqt linuxdeployqt.AppDir/usr/bin/ - - ./linuxdeployqt/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose=3 -appimage - - ls -lh - - find *.AppDir - - xpra start :99 - - bash -e tests/tests.sh + - ./tests/tests-ci.sh after_success: - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..df0b718 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# This container amins to offer a testing environment similar to the one we are +# creating in travis-ci so we can easily reproduce issues detected on our CI +# locally +# +# To use it, simply execute the container like this: +# docker run --rm -ti --privileged -v /path/to/linuxdeployqt:/linuxdeployqt bash +# and then execute tests/tests-ci.sh + +FROM ubuntu:trusty + +RUN apt-get update && apt-get -y install software-properties-common wget build-essential \ + autoconf git fuse libgl1-mesa-dev psmisc + +COPY tests/tests-environment.sh / + +RUN /tests-environment.sh diff --git a/tests/tests-ci.sh b/tests/tests-ci.sh new file mode 100755 index 0000000..942d284 --- /dev/null +++ b/tests/tests-ci.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -x + +source /opt/qt*/bin/qt*-env.sh +/opt/qt*/bin/qmake linuxdeployqt.pro +make -j2 + +mkdir -p linuxdeployqt.AppDir/usr/bin/ +cp /usr/local/bin/patchelf linuxdeployqt.AppDir/usr/bin/ +cp /usr/local/bin/appimagetool linuxdeployqt.AppDir/usr/bin/ +find linuxdeployqt.AppDir/ +export VERSION=continuous +cp ./linuxdeployqt/linuxdeployqt linuxdeployqt.AppDir/usr/bin/ +./linuxdeployqt/linuxdeployqt linuxdeployqt.AppDir/linuxdeployqt.desktop -verbose=3 -appimage +ls -lh +find *.AppDir +xpra start :99 + +export DISPLAY=:99 + +until xset -q +do + echo "Waiting for X server to start..." + sleep 1; +done + +bash -e tests/tests.sh diff --git a/tests/tests-environment.sh b/tests/tests-environment.sh new file mode 100755 index 0000000..6777b2c --- /dev/null +++ b/tests/tests-environment.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +sudo add-apt-repository --yes ppa:beineri/opt-qt58-trusty +sudo apt-get update -qq + +git clone https://github.com/NixOS/patchelf.git +cd patchelf +bash ./bootstrap.sh +./configure +make -j2 +sudo make install + +cd - + +sudo wget -c "https://github.com/probonopd/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" -O /usr/local/bin/appimagetool +sudo chmod a+x /usr/local/bin/appimagetool + +sudo apt-get -y install qt58base qt58declarative qt58webengine binutils xpra