ci: Add granular build configs

This commit is contained in:
Dennis Klein 2021-06-06 13:24:42 +02:00
parent 0c0f2a1b6a
commit 39f217bd3b
2 changed files with 21 additions and 10 deletions

View File

@ -40,14 +40,20 @@ endif()
ctest_start(Continuous) ctest_start(Continuous)
list(APPEND options list(APPEND options "-DDISABLE_COLOR=ON")
"-DDISABLE_COLOR=ON" if(HAS_ASIO AND HAS_DDS)
"-DBUILD_SDK_COMMANDS=ON" list(APPEND options "-DBUILD_SDK_COMMANDS=ON" "-DBUILD_SDK=ON" "-DBUILD_DDS_PLUGIN=ON")
"-DBUILD_SDK=ON" endif()
"-DBUILD_DDS_PLUGIN=ON") if(HAS_PMIX)
list(APPEND options "-DBUILD_SDK_COMMANDS=ON" "-DBUILD_PMIX_PLUGIN=ON")
endif()
if(HAS_ASIO AND HAS_ASIOFI)
list(APPEND options "-DBUILD_OFI_TRANSPORT=ON")
endif()
if(RUN_STATIC_ANALYSIS) if(RUN_STATIC_ANALYSIS)
list(APPEND options "-DRUN_STATIC_ANALYSIS=ON") list(APPEND options "-DRUN_STATIC_ANALYSIS=ON")
endif() endif()
list(REMOVE_DUPLICATES options)
list(JOIN options ";" optionsstr) list(JOIN options ";" optionsstr)
ctest_configure(OPTIONS "${optionsstr}") ctest_configure(OPTIONS "${optionsstr}")

15
Jenkinsfile vendored
View File

@ -9,6 +9,7 @@ def jobMatrix(String type, List specs) {
def os = spec.os def os = spec.os
def ver = spec.ver def ver = spec.ver
def check = spec.check def check = spec.check
def extra = spec.extra
nodes[label] = { nodes[label] = {
node(selector) { node(selector) {
@ -18,7 +19,7 @@ def jobMatrix(String type, List specs) {
checkout scm checkout scm
def jobscript = 'job.sh' def jobscript = 'job.sh'
def ctestcmd = "ctest -S FairMQTest.cmake -V --output-on-failure" def ctestcmd = "ctest ${extra} -S FairMQTest.cmake -V --output-on-failure"
sh "echo \"set -e\" >> ${jobscript}" sh "echo \"set -e\" >> ${jobscript}"
sh "echo \"export LABEL=\\\"\${JOB_BASE_NAME} ${label}\\\"\" >> ${jobscript}" sh "echo \"export LABEL=\\\"\${JOB_BASE_NAME} ${label}\\\"\" >> ${jobscript}"
if (selector =~ /^macos/) { if (selector =~ /^macos/) {
@ -81,10 +82,14 @@ pipeline{
steps{ steps{
script { script {
def builds = jobMatrix('build', [ def builds = jobMatrix('build', [
[os: 'ubuntu', ver: '20.04', arch: 'x86_64', compiler: 'gcc-9'], [os: 'ubuntu', ver: '20.04', arch: 'x86_64', compiler: 'gcc-9',
[os: 'fedora', ver: '32', arch: 'x86_64', compiler: 'gcc-10'], extra: '-DHAS_DDS=ON -DHAS_ASIO=ON -DHAS_PMIX=ON'],
[os: 'fedora', ver: '34', arch: 'x86_64', compiler: 'gcc-11'], [os: 'fedora', ver: '32', arch: 'x86_64', compiler: 'gcc-10',
[os: 'macos', ver: '11', arch: 'x86_64', compiler: 'apple-clang-12'], extra: '-DHAS_PMIX=ON -DHAS_DDS=ON -DHAS_ASIOFI=ON -DHAS_ASIO=ON'],
[os: 'fedora', ver: '34', arch: 'x86_64', compiler: 'gcc-11',
extra: '-DHAS_PMIX=ON -DHAS_DDS=ON -DHAS_ASIOFI=ON -DHAS_ASIO=ON'],
[os: 'macos', ver: '11', arch: 'x86_64', compiler: 'apple-clang-12',
extra: '-DHAS_DDS=ON -DHAS_ASIO=ON'],
]) ])
parallel(builds) parallel(builds)