diff --git a/automation/Jenkinsfile b/automation/Jenkinsfile index cdc0ec3f..8fafa37c 100644 --- a/automation/Jenkinsfile +++ b/automation/Jenkinsfile @@ -4,28 +4,29 @@ pipeline { BUILDDIR_LINUX = 'cmake-build-tests-linux' BUILDDIR_FREERTOS = 'cmake-build-tests-freertos' BUILDDIR_RTEMS = 'cmake-build-tests-rtems' + BUILDDIR_WIN = 'cmake-build-tests-windows' DOCDDIR = 'cmake-build-documentation' } agent { docker { - image 'fsfw-ci:d7' + image 'fsfw-ci:d8' args '--network host --sysctl fs.mqueue.msg_max=100' } } stages { - stage('Host') { + stage('Host-clang') { steps { sh 'rm -rf $BUILDDIR_HOST' dir(BUILDDIR_HOST) { - sh 'cmake -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON -DFSFW_CICD_BUILD=ON ..' + sh 'CC=clang CXX=clang++ cmake -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON -DFSFW_CICD_BUILD=ON ..' sh 'cmake --build . -j4' sh 'cmake --build . -- fsfw-tests_coverage -j4' sh 'valgrind --leak-check=full --error-exitcode=1 ./fsfw-tests' } } } - stage('Linux') { + stage('Linux-gcc') { steps { sh 'rm -rf $BUILDDIR_LINUX' @@ -37,7 +38,7 @@ pipeline { } } } - stage('FreeRTOS') { + stage('FreeRTOS-gcc') { steps { sh 'rm -rf $BUILDDIR_FREERTOS' @@ -49,7 +50,7 @@ pipeline { } } } - stage('rtems') { + stage('rtems-gcc') { steps { sh 'rm -rf $BUILDDIR_RTEMS' @@ -60,6 +61,16 @@ pipeline { } } } + stage('Host-msvc') { + steps { + sh 'rm -rf $BUILDDIR_WIN' + + dir(BUILDDIR_WIN) { + sh 'cmake -DFSFW_OSAL=host -DFSFW_BUILD_TESTS=ON -DFSFW_TESTS_GEN_COV=OFF -DFSFW_CICD_BUILD=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../unittests/testcfg/windows/cmake/x64-windows-toolchain.cmake -GNinja ..' + sh 'cmake --build . -j4' + } + } + } stage('Documentation') { when { branch 'development' diff --git a/unittests/testcfg/windows/cmake/x64-windows-toolchain b/unittests/testcfg/windows/cmake/x64-windows-toolchain.cmake similarity index 100% rename from unittests/testcfg/windows/cmake/x64-windows-toolchain rename to unittests/testcfg/windows/cmake/x64-windows-toolchain.cmake