Commit 7f11b280 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#1360 Gitlab-CI: experiment with templates to respect DRY principle.

parent 86ec5e1d
......@@ -7,36 +7,99 @@ stages:
# Todo: Doxygen doc should be published with pages.
# Test for Docker executor!:
build-Ubuntu-gcc-debug-shared-several_libs:
stage: stage1
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/ubuntu-gcc-debug:latest
cache:
key: "${CI_COMMIT_REF_SLUG}_Ubuntu-gcc-debug-shared-several_libs"
untracked: true
paths:
- build
tags:
- docker-test
script:
.build_template: &build_template
stage: stage1
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/${OS}-${COMPILER}-${MODE}:latest
cache:
key: "${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-UniqueLib_${ONE_OR_MANY_LIB}"
untracked: true
paths:
- build
script:
- mkdir -p build
- cd build && python ../cmake/Scripts/configure_cmake.py --cache_file=../cmake/PreCache/linux.cmake --cmake_args="-G Ninja" --install_directory=/opt --third_party_directory=/opt
- cd build && python ../cmake/Scripts/configure_cmake.py --cache_file=../cmake/PreCache/linux.cmake --cmake_args="-G Ninja" --install_directory=/opt --third_party_directory=/opt --mode=${MODE} --library_type=${LIB_NATURE} --morefem_as_single_library=${ONE_OR_MANY_LIB}
- ninja -j 4
.test_template: &test_template
stage: stage2
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/${OS}-${COMPILER}-${MODE}:latest
cache:
key: "${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-UniqueLib_${ONE_OR_MANY_LIB}"
untracked: true
paths:
- build
script:
- cd build && ctest
build-Ubuntu-gcc-debug-shared-several_libs:
<<: *build_template
variables:
OS: "Ubuntu"
COMPILER: "gcc"
MODE: "debug"
LIB_NATURE: "shared"
ONE_OR_MANY_LIB: False
build-Fedora-gcc-release-static-one_lib:
<<: *build_template
variables:
OS: "Fedora"
COMPILER: "gcc"
MODE: "release"
LIB_NATURE: "static"
ONE_OR_MANY_LIB: True
test-Ubuntu-gcc-debug-shared-several_libs:
stage: stage2
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/ubuntu-gcc-debug:latest
cache:
key: "${CI_COMMIT_REF_SLUG}_Ubuntu-gcc-debug-shared-several_libs"
untracked: true
paths:
- build
tags:
- docker-test
script:
- cmake -h
- cd build && ctest
<<: *test_template
variables:
OS: "Ubuntu"
COMPILER: "gcc"
MODE: "debug"
LIB_NATURE: "shared"
ONE_OR_MANY_LIB: False
test-Fedora-gccrelease-static-one_lib:
<<: *test_template
variables:
OS: "Fedora"
COMPILER: "gcc"
MODE: "release"
LIB_NATURE: "static"
ONE_OR_MANY_LIB: True
# test-Ubuntu-gcc-debug-shared-several_libs:
# stage: stage2
# image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/ubuntu-gcc-debug:latest
# cache:
# key: "${CI_COMMIT_REF_SLUG}_Ubuntu-gcc-debug-shared-several_libs"
# untracked: true
# paths:
# - build
# # tags:
# # - docker-test
# script:
# - cd build && ctest
# test-Ubuntu-gcc-debug-shared-several_libs:
# stage: stage2
# image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/ubuntu-gcc-debug:latest
# cache:
# key: "${CI_COMMIT_REF_SLUG}_Ubuntu-gcc-debug-shared-several_libs"
# untracked: true
# paths:
# - build
# # tags:
# # - docker-test
# script:
# - cd build && ctest
# build-Fedora-debug-shared-several_libs:
# stage: stage1
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment