Files
OpenSpace/tests/visual/VisualTesting.Jenkinsfile
2021-04-21 15:19:16 -06:00

89 lines
2.6 KiB
Plaintext

import groovy.io.FileType
library('sharedSpace'); // jenkins-pipeline-lib
def url = 'https://github.com/OpenSpace/OpenSpace';
//def branch = env.BRANCH_NAME;
def branch = "feature/visual-testing-try2"
@NonCPS
def readDir() {
def dirsl = [];
new File("${workspace}").eachDir() {
dirs -> println dirs.getName()
if (!dirs.getName().startsWith('.')) {
dirsl.add(dirs.getName());
}
}
return dirs;
}
def moduleCMakeFlags() {
def modules = [];
// using new File doesn't work as it is not allowed in the sandbox
if (isUnix()) {
modules = sh(returnStdout: true, script: 'ls -d modules/*').trim().split('\n');
};
else {
modules = bat(returnStdout: true, script: '@dir modules /b /ad /on').trim().split('\r\n');
}
def flags = '';
for (module in modules) {
flags += "-DOPENSPACE_MODULE_${module.toUpperCase()}=ON "
}
return flags;
}
//
// Pipeline start
//
//hi micah
parallel linux_gcc_make: {
if (env.USE_BUILD_OS_LINUX == 'true') {
node('linux-visual' && 'gcc') {
stage('linux-gcc-make/scm') {
deleteDir();
gitHelper.checkoutGit(url, branch);
}
stage('linux-gcc-make/build') {
def cmakeCompileOptions = moduleCMakeFlags();
cmakeCompileOptions += ' -DMAKE_BUILD_TYPE=Release';
// Not sure why the linking of OpenSpaceTest takes so long
compileHelper.build(compileHelper.Make(), compileHelper.Gcc(), cmakeCompileOptions, 'OpenSpace', 'build-make');
compileHelper.recordCompileIssues(compileHelper.Gcc());
}
stage('linux-gcc-make/test') {
// testHelper.runUnitTests('build/OpenSpaceTest');
// testHelper.runUnitTests('bin/codegentest')
}
cleanWs()
} // node('linux')
}
},
windows_msvc: {
if (env.USE_BUILD_OS_WINDOWS == 'true') {
node('windows-visual') {
stage('windows-msvc/scm') {
deleteDir();
gitHelper.checkoutGit(url, branch);
}
stage('windows-msvc/build') {
compileHelper.build(compileHelper.VisualStudio(), compileHelper.VisualStudio(), moduleCMakeFlags(), '', 'build-msvc');
compileHelper.recordCompileIssues(compileHelper.VisualStudio());
}
stage('windows/visual-tests') {
dir('OpenSpace') {
testHelper.linkFolder(env.OPENSPACE_FILES + "\\sync_full", "sync", );
testHelper.linkFolder(env.OPENSPACE_FILES + "\\cache_gdal", "cache_gdal");
}
testHelper.startTestRunner();
testHelper.runUiTests()
//commit new test images
//copy test results to static dir
}
}
}
}