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
		Add a link
		
	
		Reference in a new issue