variables: GIT_SUBMODULE_STRATEGY: normal stages: - test - analysis workflow: rules: - if: $CI_MERGE_REQUEST_ID - if: $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == "master" mac_llvm_testing: stage: test tags: - mac script: - which git - git --version - module load cmake qt/5.9.1 - which cmake - mkdir build - cd build - export rsm_ENABLE_Fortran=OFF - cmake -DBUILDNAME=$(uname -s)-LLVM-Debug-${CI_BUILD_REF_NAME} -DOPENSSL_ROOT_DIR=/opt/openssl/1.1.1d/ -DLibSSH_DIR=/opt/libssh/0.9.3/lib/cmake/libssh/ -DCMAKE_BUILD_TYPE=DEBUG -Drsm_ENABLE_TESTS=ON -Drsm_ENABLE_rsmcore=ON -Drsm_ENABLE_rsmwidgets=OFF .. - ctest --verbose --output-on-failure -D ExperimentalStart -D ExperimentalBuild -D ExperimentalTest linux_gcc_testing: stage: test tags: - linux script: - which git - git --version - mkdir build - cd build - module load cmake qt/5.9.0 - which cmake - module load valgrind - cmake -DBUILDNAME=$(uname -s)-GCC-4.8.5-Release-${CI_BUILD_REF_NAME} -DOPENSSL_ROOT_DIR=/opt/vendors/openssl/1.1.1d/ -DLibSSH_DIR=/opt/vendors/libssh/0.9.3/lib64/cmake/libssh/ -DCMAKE_BUILD_TYPE=Release -Drsm_ENABLE_TESTS=ON -Drsm_ENABLE_rsmcore=ON -Drsm_ENABLE_rsmwidgets=OFF .. - ctest --verbose --output-on-failure -D ExperimentalStart -D ExperimentalBuild -D ExperimentalTest windows_msvc_testing: stage: test tags: - nsmwin10 script: - ci\windows_testing.bat linux_analysis: stage: analysis tags: - linux script: - which git - git --version - mkdir build - cd build - module load cmake qt/5.9.0 - which cmake - module load valgrind - cmake -D COVERAGE_EXTRA_FLAGS="-s ${CI_PROJECT_DIR}/googletest -d" -D MEMCHECK_COMMAND=$(which valgrind) -DBUILDNAME=$(uname -s)-GCC-4.8.5-Debug-${CI_BUILD_REF_NAME} -DOPENSSL_ROOT_DIR=/opt/vendors/openssl/1.1.1d/ -DLibSSH_DIR=/opt/vendors/libssh/0.9.3/lib64/cmake/libssh/ -DCMAKE_BUILD_TYPE=DEBUG -Drsm_ENABLE_COVERAGE_TESTING=ON -Drsm_ENABLE_TESTS=ON -Drsm_ENABLE_rsmcore=ON -Drsm_ENABLE_rsmwidgets=OFF .. - ctest --verbose --output-on-failure -D ExperimentalStart -D ExperimentalBuild -D ExperimentalTest -D ExperimentalMemCheck -D ExperimentalCoverage allow_failure: true linux_fortify: stage: analysis tags: - linux rules: - when: manual script: - which git - git --version - mkdir build - cd build - module load cmake qt/5.9.0 fortify - export CC="sourceanalyzer -b rsm gcc" - export CXX="sourceanalyzer -b rsm g++" - cmake -Drsm_ENABLE_TESTS=OFF -Drsm_ENABLE_googletest=OFF -DOPENSSL_ROOT_DIR=/opt/vendors/openssl/1.1.1d/ -DLibSSH_DIR=/opt/vendors/libssh/0.9.3/lib64/cmake/libssh/ -Drsm_ENABLE_rsmcore=ON -Drsm_ENABLE_rsmwidgets=OFF .. ## clean after cmake configure - sourceanalyzer -b rsm -clean - make - sourceanalyzer -b rsm -scan -f scanResults.fpr - ReportGenerator -format PDF -f rsmReport.pdf -source scanResults.fpr -template "DeveloperWorkbook.xml" - mv rsmReport.pdf .. artifacts: paths: - rsmReport.pdf expire_in: 1 week allow_failure: true