Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .gitlab/gitlab-ci-spack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,25 @@ default:
script:
- bash scripts/ci/gitlab-ci/run.sh memcheck

.common-test-coverage:
extends:
- .common
stage: test
script:
- bash scripts/ci/gitlab-ci/run.sh test &> coverage-test.log
- bash scripts/ci/gitlab-ci/run.sh coverage &> coverage-ctest.log || true
- lcov --capture --directory "$CI_BIN_DIR" --output-file coverage.info &> coverage-lcov.log
- genhtml coverage.info --output-directory coverage-report &> coverage-lcov.log
artifacts:
expire_in: 1 week
when: always
paths:
- coverage.info
- coverage-report/
- coverage-test.log
- coverage-ctest.log
- coverage-lcov.log

#===============================================================================
build:uo-sanitizer-asan:
image:
Expand Down Expand Up @@ -90,6 +109,17 @@ test:uo-sanitizer-ubsan:
extends: [.common-memcheck]
needs: [build:uo-sanitizer-ubsan]

build:uo-coverage:
image:
name: ghcr.io/ornladios/adios2:ci-opensuse-tw-coverage-20260313
extends: [.common-build]

test:uo-coverage:
image:
name: ghcr.io/ornladios/adios2:ci-opensuse-tw-coverage-20260313
extends: [.common-test-coverage]
needs: [build:uo-coverage]

deploy:sync-ornl:
environment: ornl
rules:
Expand Down
36 changes: 36 additions & 0 deletions scripts/ci/cmake/ci-uo-coverage.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# SPDX-FileCopyrightText: 2026 Oak Ridge National Laboratory and Contributors
#
# SPDX-License-Identifier: Apache-2.0

# Client maintainer: vicente.bolea@kitware.com

set(ENV{CC} gcc)
set(ENV{CXX} g++)

find_program(CTEST_COVERAGE_COMMAND NAMES gcov)

set(dashboard_cache "
BUILD_TESTING:BOOL=ON
ADIOS2_BUILD_EXAMPLES:BOOL=ON

ADIOS2_USE_Fortran:STRING=OFF
ADIOS2_USE_HDF5:STRING=ON
ADIOS2_USE_MPI:STRING=OFF
ADIOS2_USE_Python:STRING=OFF
ADIOS2_USE_ZFP:STRING=ON

CMAKE_BUILD_TYPE:STRING=Debug
CMAKE_C_FLAGS:STRING=--coverage
CMAKE_CXX_FLAGS:STRING=--coverage
CMAKE_EXE_LINKER_FLAGS:STRING=--coverage
CMAKE_MODULE_LINKER_FLAGS:STRING=--coverage
CMAKE_SHARED_LINKER_FLAGS:STRING=--coverage
")

set(dashboard_track "Analysis")
set(CTEST_CMAKE_GENERATOR "Ninja")
set(CTEST_BUILD_CONFIGURATION Debug)

set(ADIOS_TEST_REPEAT 0)
list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)
2 changes: 1 addition & 1 deletion scripts/ci/gitlab-ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ enable_submission=ON
while getopts "hs" opt; do
case $opt in
h)
echo "Usage: $0 [-s] [update|configure|build|test|memcheck|submit]"
echo "Usage: $0 [-s] [update|configure|build|test|memcheck|coverage|submit]"
echo "OPTIONS:"
echo " -s skip submit to cdash"
;;
Expand Down
15 changes: 8 additions & 7 deletions scripts/ci/images/opensuse-tw/build-images-opensuse-tw
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@ declare -u ENABLE_PUSH=
function docker_build() {
local docker_file=$1
local docker_tag=$2
local args=(--progress=plain --rm)
local full_tag="${DOCKER_REPOSITORY}:${docker_tag}-$(date +"%Y%m%d")"

if [[ -n "${ENABLE_PUSH}" ]]; then
args+=("--push")
fi

sudo docker build "${args[@]}" \
podman build --rm \
--file "${docker_file}" \
--tag "${DOCKER_REPOSITORY}:${docker_tag}-$(date +"%Y%m%d")" \
--tag "${full_tag}" \
.

if [[ -n "${ENABLE_PUSH}" ]]; then
podman push "${full_tag}"
fi
}

function usage() {
Expand All @@ -51,3 +51,4 @@ docker_build opensuse-tw-asan.dockerfile ci-opensuse-tw-asan
docker_build opensuse-tw-msan.dockerfile ci-opensuse-tw-msan
docker_build opensuse-tw-tsan.dockerfile ci-opensuse-tw-tsan
docker_build opensuse-tw-ubsan.dockerfile ci-opensuse-tw-ubsan
docker_build opensuse-tw-coverage.dockerfile ci-opensuse-tw-coverage
27 changes: 27 additions & 0 deletions scripts/ci/images/opensuse-tw/opensuse-tw-coverage.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# SPDX-FileCopyrightText: 2026 Oak Ridge National Laboratory and Contributors
#
# SPDX-License-Identifier: Apache-2.0

FROM ghcr.io/ornladios/adios2:ci-opensuse-tw-sanitizer-base-20260313
LABEL maintainer "Vicente Adolfo Bolea Sanchez<vicente.bolea@kitware.com>"

RUN zypper refresh && \
zypper install -y --no-recommends \
lcov \
&& \
zypper clean --all

# Install ZFP
WORKDIR /opt/zfp
RUN curl -L https://github.com/LLNL/zfp/releases/download/1.0.1/zfp-1.0.1.tar.gz | tar -xvz && \
cmake -GNinja -S zfp-1.0.1 -B build \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/zfp/1.0.1 \
&& \
cmake --build build && \
cmake --install build && \
rm -rf zfp-1.0.1 build
ENV PATH=/opt/zfp/1.0.1/bin:${PATH} \
LD_LIBRARY_PATH=/opt/zfp/1.0.1/lib64:${LD_LIBRARY_PATH} \
CMAKE_PREFIX_PATH=/opt/zfp/1.0.1:${CMAKE_PREFIX_PATH}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ RUN zypper refresh && \
bzip2 \
gzip \
bzip3-devel \
clang17 \
clang18 \
cmake \
curl \
file \
Expand All @@ -25,7 +25,7 @@ RUN zypper refresh && \
libffi-devel \
libpng16-devel \
libunwind-devel \
llvm17 \
llvm18 \
ninja \
patch \
python3-devel \
Expand Down
Loading