mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add a travis build of subsurface
This runs a subsurface script/build.sh build in travis-ci, and runs the tests afterwards. The build runs on the Ubuntu Trusty image, but due to the fact that the Qt shipped there is to old, it installs a Qt 5.8 from qt.io , and with some trickery caches it. Hacked out are things that doesn't build with Qt 5.8, and the rest is built against WebEngine. The tests currently fail, and I really don't know why, but its a clear indication that they aren't run that often. This cam makes sure they are run at least. The actual testing is just commented out for that reason. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c2ea3c2616
commit
3ae9408a4c
2 changed files with 107 additions and 0 deletions
47
.travis.yml
Normal file
47
.travis.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
language: c++
|
||||
|
||||
dist: trusty
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- Qt
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- git
|
||||
- g++
|
||||
- make
|
||||
- autoconf
|
||||
- automake
|
||||
- libtool
|
||||
- cmake
|
||||
- pkg-config
|
||||
- libxml2-dev
|
||||
- libxslt1-dev
|
||||
- libzip-dev
|
||||
- libsqlite3-dev
|
||||
- libusb-1.0-0-dev
|
||||
- libssl-dev
|
||||
- libssh2-1-dev
|
||||
- libcurl4-openssl-dev
|
||||
# Not a subsurface dependency, but a Qt dependency
|
||||
- mesa-common-dev
|
||||
|
||||
before_install:
|
||||
- if [ ! -e Qt/5.8 ] ; then
|
||||
rm -rf Qt ;
|
||||
wget http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-android-5.8.0.run ;
|
||||
chmod +x ./qt-opensource-linux-x64-android-5.8.0.run ;
|
||||
./qt-opensource-linux-x64-android-5.8.0.run -platform minimal --script qt-installer-noninteractive.qs --no-force-installations ;
|
||||
fi
|
||||
|
||||
script:
|
||||
- perl -pi -e 's/BUILDGRANTLEE=1/BUILDGRANTLEE=0/' scripts/build.sh
|
||||
- perl -pi -e 's/BUILDMARBLE=1/BUILDMARBLE=0/' scripts/build.sh
|
||||
- perl -pi -e 's/-DNO_PRINTING=OFF/-DNO_PRINTING=ON -DNO_MARBLE=ON -DUSE_WEBENGINE=ON/' scripts/build.sh
|
||||
- export CMAKE_PREFIX_PATH=$PWD/Qt/5.8/gcc_64/lib/cmake ;
|
||||
cd .. ;
|
||||
bash -e ./subsurface/scripts/build.sh
|
||||
# - cd subsurface/build ; env CTEST_OUTPUT_ON_FAILURE=1 make check
|
||||
# - cd subsurface/build-mobile ; env CTEST_OUTPUT_ON_FAILURE=1 make check
|
60
qt-installer-noninteractive.qs
Normal file
60
qt-installer-noninteractive.qs
Normal file
|
@ -0,0 +1,60 @@
|
|||
// http://stackoverflow.com/a/34032216/78204
|
||||
|
||||
function Controller() {
|
||||
installer.autoRejectMessageBoxes();
|
||||
installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes);
|
||||
installer.installationFinished.connect(function() {
|
||||
gui.clickButton(buttons.NextButton);
|
||||
})
|
||||
}
|
||||
|
||||
Controller.prototype.WelcomePageCallback = function() {
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.CredentialsPageCallback = function() {
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.IntroductionPageCallback = function() {
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.TargetDirectoryPageCallback = function()
|
||||
{
|
||||
//gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("HomeDir") + "/Qt");
|
||||
gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("InstallerDirPath") + "/Qt");
|
||||
//gui.currentPageWidget().TargetDirectoryLineEdit.setText("/scratch/Qt");
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.ComponentSelectionPageCallback = function() {
|
||||
var widget = gui.currentPageWidget();
|
||||
|
||||
widget.selectAll();
|
||||
widget.deselectComponent('qt.58.src');
|
||||
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.LicenseAgreementPageCallback = function() {
|
||||
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.StartMenuDirectoryPageCallback = function() {
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.ReadyForInstallationPageCallback = function()
|
||||
{
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.FinishedPageCallback = function() {
|
||||
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm
|
||||
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
|
||||
checkBoxForm.launchQtCreatorCheckBox.checked = false;
|
||||
}
|
||||
gui.clickButton(buttons.FinishButton);
|
||||
}
|
Loading…
Add table
Reference in a new issue