diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9e6559cb6357465a9844bde9f749ea957c286c4b..5e53c9ee9de181d804885f033e4f91190f90b87e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -115,11 +115,9 @@ clang-tidy: before_script: - git clone https://gitlab.com/aroffringa/aocommon.git script: - - cmake --version - mkdir build && cd build - - cmake -DAOCOMMON_INCLUDE_DIR=../aocommon/include -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_CXX_FLAGS="-coverage" -DCMAKE_EXE_LINKER_FLAGS="-coverage" .. - - make -j`nproc` - - make install + - cmake -DAOCOMMON_INCLUDE_DIR=../aocommon/include -DBUILD_TESTING=ON -DCMAKE_CXX_FLAGS="${CXX_FLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${LINKER_FLAGS}" .. + - make -j`nproc` install artifacts: paths: - aocommon @@ -130,31 +128,28 @@ build-2004: build-2204: extends: [".needs-2204",".build"] - -.test: - stage: test - script: - - cd build/ - - ctest -j`nproc` --output-on-failure -T test - - mkdir coverage-unit - - gcovr -j`nproc` -r ../ -e '.*/external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' --txt coverage.txt --xml coverage.xml --html-details coverage-unit/coverage.html - - cat coverage.txt + variables: + CXX_FLAGS: -coverage -fprofile-update=atomic + LINKER_FLAGS: -coverage test-2004: - extends: .test + stage: test needs: ["versioning","build-2004"] image: $BASE_IMAGE_2004 + script: + - cd build/ + - ctest -j`nproc` --output-on-failure -T test test-2204: - extends: .test + stage: test needs: ["versioning","build-2204"] image: $BASE_IMAGE_2204 - after_script: - - cd build/ - - tar cfz coverage-unit.tar.gz coverage-unit/ + script: + - cd build + - ctest -j`nproc` --output-on-failure -T test + - gcovr -j`nproc` -r .. -e '.*/external/.*' -e '.*/CompilerIdCXX/.*' -e '.*/test/.*' --txt --xml coverage.xml . + coverage: /^TOTAL.*\s+(\d+\%)$/ artifacts: - paths: - - build/coverage-unit.tar.gz reports: coverage_report: coverage_format: cobertura diff --git a/docker/ubuntu_20_04_base b/docker/ubuntu_20_04_base index c592989598ee091fa3b0966d88cc6cb818bffaaa..37f9d43440cb75f1fc67ad0bc379b00bba596c7f 100644 --- a/docker/ubuntu_20_04_base +++ b/docker/ubuntu_20_04_base @@ -3,19 +3,13 @@ # base FROM ubuntu:20.04 -RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get upgrade -y && \ +RUN export DEBIAN_FRONTEND=noninteractive \ + && apt-get update && apt-get upgrade -y \ # install astronomy packages - apt-get -y install libcfitsio-dev wcslib-dev libfftw3-dev libgsl-dev \ + && apt-get -y install libcfitsio-dev wcslib-dev libfftw3-dev libgsl-dev \ # install misc packages wget git make cmake g++ doxygen \ # install dependencies libboost-all-dev libhdf5-dev libpython3-dev python3-pip \ - casacore-dev casacore-tools clang-format-12 clang-tidy-12 \ - && rm -rf /var/lib/apt/lists/* \ -# The formatter needs a binary named 'clang-format', not 'clang-format-12'. -# Same for clang-tidy-12. - && ln -sf clang-format-12 /usr/bin/clang-format \ - && ln -sf clang-tidy-12 /usr/bin/clang-tidy \ -# 20220624: The latest GCOVR (5.1) is broken, so use 5.0. -# jinja2<3.1 is required for the html details of GCOVR 5.0 - && python3 -m pip install gcovr==5.0 'jinja2<3.1' cmake-format isort \ No newline at end of file + casacore-dev casacore-tools \ + && rm -rf /var/lib/apt/lists/* diff --git a/docker/ubuntu_22_04_base b/docker/ubuntu_22_04_base index 4c62b2c0180681a05459dc8df385f0620678cfba..f7c4aab0af8096cde557f7a5be83cf3fe4a4553c 100644 --- a/docker/ubuntu_22_04_base +++ b/docker/ubuntu_22_04_base @@ -3,9 +3,10 @@ # base FROM ubuntu:22.04 -RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get upgrade -y && \ +RUN export DEBIAN_FRONTEND=noninteractive \ + && apt-get update && apt-get upgrade -y \ # install astronomy packages - apt-get -y install libcfitsio-dev wcslib-dev libfftw3-dev libgsl-dev \ + && apt-get -y install libcfitsio-dev wcslib-dev libfftw3-dev libgsl-dev \ # install misc packages wget git make cmake g++ doxygen \ # install dependencies @@ -16,6 +17,4 @@ RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get upgrade - # Same for clang-tidy-12. && ln -sf clang-format-12 /usr/bin/clang-format \ && ln -sf clang-tidy-12 /usr/bin/clang-tidy \ -# 20220624: The latest GCOVR (5.1) is broken, so use 5.0. -# jinja2<3.1 is required for the html details of GCOVR 5.0 - && python3 -m pip install gcovr==5.0 'jinja2<3.1' black cmake-format isort \ No newline at end of file + && python3 -m pip install gcovr black cmake-format isort