Mentions légales du service
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
ScalFMM
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
solverstack
ScalFMM
Commits
faf30b99
Commit
faf30b99
authored
5 months ago
by
PRUVOST Florent
Browse files
Options
Downloads
Patches
Plain Diff
Update docker environment for ci jobs
parent
6597be39
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gitlab-ci.yml
+77
-37
77 additions, 37 deletions
.gitlab-ci.yml
Dockerfile-ci
+37
-0
37 additions, 0 deletions
Dockerfile-ci
cmake/dependencies/blas_lapack.cmake
+2
-2
2 additions, 2 deletions
cmake/dependencies/blas_lapack.cmake
with
116 additions
and
39 deletions
.gitlab-ci.yml
+
77
−
37
View file @
faf30b99
stages
:
-
docker
-
build
-
test
-
deploy
default
:
tags
:
[
'
docker'
]
image
:
registry.gitlab.inria.fr/solverstack/docker/distrib
before_script
:
-
wget https://github.com/Kitware/CMake/releases/download/v3.22.0/cmake-3.22.0-linux-x86_64.tar.gz
-
tar xvf cmake-3.22.0-linux-x86_64.tar.gz
-
export PATH="$PWD/cmake-3.22.0-linux-x86_64/bin/:$PATH"
image
:
$CI_REGISTRY_IMAGE
tags
:
[
'
ci.inria.fr'
,
'
linux'
,
'
large'
]
# gitlab instance runner (i.e. docker on linux)
interruptible
:
true
variables
:
GIT_SUBMODULE_STRATEGY
:
recursive
stages
:
-
build_main
-
test_main
# push event: executed only if the source branch name is main or starts with ci-
# merge request event: executed if the source branch name does not start with notest-
# schedule event: not executed
.only-main-mr
:
rules
:
-
if
:
($CI_COMMIT_BRANCH =~ /^ci-.*$/)
-
if
:
($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH) &&
(($CI_PROJECT_ROOT_NAMESPACE == "solverstack" ) ||
($CI_PROJECT_ROOT_NAMESPACE == $CI_PROJECT_NAME))
-
if
:
(($CI_PIPELINE_SOURCE == "merge_request_event") &&
($CI_MERGE_REQUEST_SOURCE_BRANCH_NAME !~ /^notest-.*$/))
-
if
:
($CI_PIPELINE_SOURCE == "schedule" )
when
:
never
build_main
:
stage
:
build_main
interruptible
:
true
artifacts
:
name
:
scalfmm_build_main
expire_in
:
1 day
paths
:
-
build_main/
docker
:
stage
:
docker
image
:
docker
when
:
manual
before_script
:
-
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script
:
-
mkdir build_main && cd build_main && cmake ..
-
docker build -f Dockerfile-ci -t $CI_REGISTRY_IMAGE $PWD
-
docker push $CI_REGISTRY_IMAGE
build
:
stage
:
build
extends
:
.only-main-mr
timeout
:
2 hours
script
:
-
cmake -B build -DCMAKE_INSTALL_PREFIX=$PWD/install
-Dscalfmm_USE_MKL=ON
-Dscalfmm_USE_MPI=OFF
-Dscalfmm_BUILD_EXAMPLES=ON
-Dscalfmm_BUILD_UNITS=ON
-Dscalfmm_BUILD_TOOLS=ON
-Dscalfmm_BUILD_CHECK=ON
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=g++
-
make -j5 2>&1 |tee scalfmm-main-build.log
-
make examples 2>&1 |tee scalfmm-main-examples-build.log
-
make units 2>&1 |tee scalfmm-main-units-build.log
only
:
-
main
-DCMAKE_CXX_FLAGS="-O0 -g -Wall -fPIC -fno-inline --coverage"
-
cmake --build build -j 4 > /dev/null
-
cmake --build build -j 4 --target examples > /dev/null
-
cmake --build build -j 4 --target units > /dev/null
-
cmake --install build
artifacts
:
name
:
"
$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
expire_in
:
1 week
untracked
:
true
test
_main
:
stage
:
test
_main
interruptible
:
true
test
:
stage
:
test
extends
:
.only-main-mr
dependencies
:
-
build_main
-
build
variables
:
OMP_NUM_THREADS
:
4
script
:
-
ctest --test-dir build --output-on-failure --no-compress-output --output-junit $PWD/test.xml
-
gcovr --xml-pretty --exclude-unreachable-branches --print-summary -o coverage.xml --root $PWD
coverage
:
/^\s*lines......:\s*\d+.\d+\%/
artifacts
:
name
:
scalfmm_main_test
expire_in
:
1 day
paths
:
-
build_main/
reports
:
junit
:
test.xml
coverage_report
:
coverage_format
:
cobertura
path
:
coverage.xml
pages
:
stage
:
deploy
when
:
manual
needs
:
[]
script
:
-
(cd build_main && OMP_NUM_THREADS=8 ctest --no-compress-output -VV -j
8
-I 16,19,1 --repeat until-fail:10 --output-on-failure --stop-on-failure)
only
:
-
main
-
cmake -B build
-Dscalfmm_USE_MKL=ON
-Dscalfmm_BUILD_DOC=ON
-DCMAKE_VERBOSE_MAKEFILE=ON
-
cmake --build build -j 4 > /dev/null
-
cmake --build build -j 4 --target doc > /dev/null
-
cp -r build/docs/sphinx/ public
artifacts
:
paths
:
-
public
This diff is collapsed.
Click to expand it.
Dockerfile-ci
0 → 100644
+
37
−
0
View file @
faf30b99
#
# @file Dockerfile-ci
#
# @copyright 2025-2025 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
# Univ. Bordeaux. All rights reserved.
#
# @version 3.0.0
# @author Florent Pruvost
# @date 2025-01-21
#
# This docker image is used to test the package during gitlab-ci pipelines.
# It should be stored in the gitlab's project container registry:
# https://gitlab.inria.fr/solverstack/ScalFMM/container_registry
#
# solverstack/docker/base docker image is defined here: https://gitlab.inria.fr/solverstack/docker
FROM registry.gitlab.inria.fr/solverstack/docker/base
USER root
RUN apt-get -y update
# ScalFMM dependencies: cpu kernels, mpi, ...
RUN apt-get -y upgrade --no-install-recommends \
libmkl-dev \
sphinx-common \
python3-breathe \
python3-exhale \
python3-recommonmark \
python3-sphinx-rtd-theme
#libopenmpi-dev \
#libstarpu-dev \
#pybind11-dev
# Set some default environment variables
ENV MKLROOT /usr
USER gitlab
This diff is collapsed.
Click to expand it.
cmake/dependencies/blas_lapack.cmake
+
2
−
2
View file @
faf30b99
...
...
@@ -16,7 +16,7 @@ if(${CMAKE_PROJECT_NAME}_USE_MKL)
set
(
CBLAS_FOUND TRUE
)
set_target_properties
(
MKL::MKL PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES
"
${
MKL_ROOT
}
/include;
${
MKL_ROOT
}
/include/fftw"
"
${
MKL_ROOT
}
/include;
${
MKL_ROOT
}
/include/fftw
;
${
MKL_ROOT
}
/include/mkl/fftw
"
)
list
(
APPEND CBLAS_TARGET MKL::MKL
)
else
()
...
...
@@ -25,7 +25,7 @@ if(${CMAKE_PROJECT_NAME}_USE_MKL)
if
(
DEFINED BLAS_FOUND
)
set_target_properties
(
BLAS::BLAS PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES
"
${
MKL_ROOT
}
/include;
${
MKL_ROOT
}
/include/fftw"
"
${
MKL_ROOT
}
/include;
${
MKL_ROOT
}
/include/fftw
;
${
MKL_ROOT
}
/include/mkl/fftw
"
)
list
(
APPEND CBLAS_TARGET BLAS::BLAS
)
list
(
APPEND FUSE_LIST CBLAS
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment