diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ca7e00fea5936ed12f165d9c55dec6c889ccfcd2..ee5cb0a361f537ecfd6425fa02fe71fcf566e163 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,9 +10,7 @@ variables: # normal multi-step pipeline for each commit stages: - config - - build - - test - - release + - build_test - optional # job/stage to just prepare cmake @@ -46,76 +44,50 @@ config-clang-8: - build # normal pipeline for each commit -build-u-18_04: +build-test-u-18_04: image: corsika/devel:u-18.04 dependencies: - config-u-18_04 - stage: build + stage: build_test tags: - corsika script: - cd build - cmake --build . -- -j4 - artifacts: - expire_in: 1 day - paths: - - build - -# normal pipeline for each commit -build-clang-8: - image: corsika/devel:clang-8 - dependencies: - - config-clang-8 - stage: build - tags: - - corsika - script: - - cd build - - cmake --build . -- -j4 - artifacts: - expire_in: 1 day - paths: - - build - -test-u-18_04: - image: corsika/devel:u-18.04 - dependencies: - - build-u-18_04 - stage: test - tags: - - corsika - script: - set -o pipefail - - cd build - ctest -VV | gzip -v -9 > test.log.gz artifacts: - expire_in: 3 months + when: always + expire_in: 1 week reports: junit: - build/test_outputs/junit*.xml paths: - build/test.log.gz -test-clang-8: +# normal pipeline for each commit +build-test-clang-8: image: corsika/devel:clang-8 dependencies: - - build-clang-8 - stage: test + - config-clang-8 + stage: build_test tags: - corsika script: - - set -o pipefail - cd build + - cmake --build . -- -j4 + - set -o pipefail - ctest -VV | gzip -v -9 > test.log.gz artifacts: - expire_in: 3 months + when: always + expire_in: 1 week reports: junit: - build/test_outputs/junit*.xml paths: - build/test.log.gz - -# normal pipeline for each commit + +# optional release pipeline for each commit release-u-18_04: image: corsika/devel:u-18.04 dependencies: @@ -127,10 +99,19 @@ release-u-18_04: - cd build - cmake .. -DCMAKE_BUILD_TYPE=Release - cmake --build . -- -j4 - - ctest -j4 + - set -o pipefail + - ctest -VV | gzip -v -9 > test.log.gz + artifacts: + when: always + expire_in: 1 week + reports: + junit: + - build/test_outputs/junit*.xml + paths: + - build/test.log.gz when: manual -# normal pipeline for each commit +# optional release pipeline for each commit release-clang-8: image: corsika/devel:clang-8 dependencies: @@ -142,7 +123,16 @@ release-clang-8: - cd build - cmake .. -DCMAKE_BUILD_TYPE=Release - cmake --build . -- -j4 - - ctest -j4 + - set -o pipefail + - ctest -VV | gzip -v -9 > test.log.gz + artifacts: + when: always + expire_in: 1 week + reports: + junit: + - build/test_outputs/junit*.xml + paths: + - build/test.log.gz when: manual # the coverage generation should either run when manually requested, OR for all changes on the master @@ -182,7 +172,7 @@ coverage_master: # special job to run on master banch changes documentation: image: corsika/devel:u-18.04 dependencies: - - build-u-18_04 + - config-u-18_04 stage: optional tags: - corsika @@ -193,7 +183,7 @@ documentation: - cp -r Documentation/Doxygen/html .public/ - mv .public ../public artifacts: - expire_in: 3 months + expire_in: 3 weeks paths: - public when: manual