Commit 93c4dabe authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#1360 Almost complete Yaml: 6 different Linux flavors are built and both...

#1360 Almost complete Yaml: 6 different Linux flavors are built and both compilation and Doxygen warnings are checked.
parent 041e9057
Pipeline #69317 passed with stages
in 23 minutes and 38 seconds
stages:
- stage1
- stage2
- build_and_test
- check_warnings
# - analysis
# - documentation
# - deploy
......@@ -8,41 +8,66 @@ stages:
# Todo: Doxygen doc should be published with pages.
.build_template: &build_template
stage: stage1
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/${OS}-${COMPILER}-${MODE}:nostromo
stage: build_and_test
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/${OS}-${COMPILER}-${MODE}
cache:
key: "${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-UniqueLib_${IS_ONLY_ONE_LIB}"
key: "cache_${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-${IS_ONLY_ONE_LIB}"
untracked: true
paths:
- build
artifacts:
name: "${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-UniqueLib_${IS_ONLY_ONE_LIB}"
untracked: true
expire_in: 2 hours
name: "artifact_${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-${IS_ONLY_ONE_LIB}"
expire_in: 8 hours
paths:
- build/compilation.log
script:
- mkdir -p build
- cd build && python ../cmake/Scripts/configure_cmake.py --cache_file=../cmake/PreCache/linux.cmake --cmake_args="-G Ninja" --third_party_directory=/opt/MoReFEM --mode=${MODE} --library_type=${LIB_NATURE} --morefem_as_single_library=${IS_ONLY_ONE_LIB}
- cd build && python ../cmake/Scripts/configure_cmake.py --cache_file=../cmake/PreCache/linux.cmake --cmake_args="-G Ninja" --third_party_directory=/opt --mode=${MODE} --library_type=${LIB_NATURE} --morefem_as_single_library=${IS_ONLY_ONE_LIB}
- ninja |& tee compilation.log
- ninja test # as asrtifact are limited in size, I can;'t unfortunately use a separate stage...
- ninja test # as artifact are limited in size, I can't unfortunately use a separate stage...
.check_warning_template: &check_warning_template
stage: stage2
.run_doxygen_template: &run_doxygen_template
stage: build_and_test
image: alpine:latest
artifacts:
name: "doxygen"
expire_in: 2 hours
paths:
- Documentation/Doxygen/${OUTPUT_FILE}
before_script:
- apk add --update doxygen graphviz && rm -rf /var/cache/apk/*
script:
- cd Documentation/Doxygen
- doxygen ${DOX}
.check_compilation_warning_template: &check_compilation_warning_template
stage: check_warnings
image: alpine:latest
before_script:
- apk add --update python && rm -rf /var/cache/apk/*
- apk add --update python python-dev && rm -rf /var/cache/apk/*
# dependencies: in the instantiations!
script:
- python Scripts/Tools/find_warning_in_compilation_log.py --log build/compilation.log
allow_failure: true
.check_doxygen_warning_template: &check_doxygen_warning_template
stage: check_warnings
image: alpine:latest
before_script:
- apk add --update python python-dev && rm -rf /var/cache/apk/*
# dependencies: in the instantiations!
script:
- python Scripts/Tools/find_warning_in_doxygen_log.py --log Documentation/Doxygen/${DOXYGEN_OUTPUT_FILE}
allow_failure: true
# .test_template: &test_template
# stage: stage2
# stage: check_warnings
# image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/${OS}-${COMPILER}-${MODE}:latest
# cache:
# key: "${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-UniqueLib_${IS_ONLY_ONE_LIB}"
......@@ -52,55 +77,10 @@ stages:
# script:
# - cd build && ctest
#
# build-Ubuntu-gcc-debug-shared-several_libs:
# <<: *build_template
# variables:
# OS: "ubuntu"
# COMPILER: "gcc"
# MODE: "debug"
# LIB_NATURE: "shared"
# IS_ONLY_ONE_LIB: "False"
# build-Ubuntu-gcc-release-static-unique_lib:
# <<: *build_template
# variables:
# OS: "ubuntu"
# COMPILER: "gcc"
# MODE: "release"
# LIB_NATURE: "static"
# IS_ONLY_ONE_LIB: "True"
#
#
# build-Fedora-gcc-debug-static-one_lib:
# <<: *build_template
# variables:
# OS: "fedora"
# COMPILER: "gcc"
# MODE: "debug"
# LIB_NATURE: "static"
# IS_ONLY_ONE_LIB: "True"
#
# build-Fedora-gcc-release-shared-several_libs:
# <<: *build_template
# variables:
# OS: "fedora"
# COMPILER: "gcc"
# MODE: "release"
# LIB_NATURE: "shared"
# IS_ONLY_ONE_LIB: "False"
#
build-Ubuntu-gcc-debug-shared-several_libs:
<<: *build_template
tags:
- ubuntu
- gcc
- debug
variables:
OS: "ubuntu"
COMPILER: "gcc"
......@@ -109,8 +89,8 @@ build-Ubuntu-gcc-debug-shared-several_libs:
IS_ONLY_ONE_LIB: "False"
check_Ubuntu-gcc-debug-shared-several_libs:
<<: *check_warning_template
check_warning_Ubuntu-gcc-debug-shared-several_libs:
<<: *check_compilation_warning_template
dependencies:
- build-Ubuntu-gcc-debug-shared-several_libs
variables:
......@@ -120,91 +100,109 @@ check_Ubuntu-gcc-debug-shared-several_libs:
LIB_NATURE: "shared"
IS_ONLY_ONE_LIB: "False"
run_doxygen:
stage: stage1
image: alpine:latest
before_script:
- apk add --update doxygen graphviz && rm -rf /var/cache/apk/*
artifacts:
name: "doxygen"
expire_in: 2 hours
paths:
- Documentation/Doxygen/complete.log
script:
- cd Documentation/Doxygen
- doxygen complete_dev_guide.dox
analyze_doxygen:
stage: stage2
dependencies:
- run_doxygen
script:
- cd Documentation/Doxygen
- wc -l complete.log && grep -v "return type of" complete.log > filtered.txt && wc -l filtered.txt # Obvioulsy to be refined...
allow_failure: true
#
# build-Fedora-clang-debug-static-one_lib:
# <<: *build_template
# variables:
# OS: "fedora"
# COMPILER: "clang"
# MODE: "debug"
# LIB_NATURE: "static"
# IS_ONLY_ONE_LIB: "True"
#
#
# check_warning_Fedora-clang-debug-static-one_lib:
# <<: *check_warning_template
# dependencies:
# - build-Fedora-clang-debug-static-one_lib
# variables:
# OS: "fedora"
# COMPILER: "clang"
# MODE: "debug"
# LIB_NATURE: "static"
# IS_ONLY_ONE_LIB: "True"
build-Ubuntu-gcc-release-static-one_lib:
<<: *build_template
variables:
OS: "ubuntu"
COMPILER: "gcc"
MODE: "release"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
check_warning_Ubuntu-gcc-release-static-one_lib:
<<: *check_compilation_warning_template
dependencies:
- build-Ubuntu-gcc-release-static-one_lib
variables:
OS: "ubuntu"
COMPILER: "gcc"
MODE: "release"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
build-Fedora-clang-debug-static-one_lib:
<<: *build_template
variables:
OS: "fedora"
COMPILER: "clang"
MODE: "debug"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
check_warning_Fedora-clang-debug-static-one_lib:
<<: *check_compilation_warning_template
dependencies:
- build-Fedora-clang-debug-static-one_lib
variables:
OS: "fedora"
COMPILER: "clang"
MODE: "debug"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
build-Fedora-clang-release-shared-one_lib:
<<: *build_template
variables:
OS: "fedora"
COMPILER: "clang"
MODE: "release"
LIB_NATURE: "shared"
IS_ONLY_ONE_LIB: "False"
check_warning_Fedora-clang-release-shared-one_lib:
<<: *check_compilation_warning_template
dependencies:
- build-Fedora-clang-release-shared-one_lib
variables:
OS: "fedora"
COMPILER: "clang"
MODE: "release"
LIB_NATURE: "shared"
IS_ONLY_ONE_LIB: "False"
# build-Fedora-clang-release-shared-several_libs:
# <<: *build_template
# variables:
# OS: "fedora"
# COMPILER: "clang"
# MODE: "release"
# LIB_NATURE: "shared"
# IS_ONLY_ONE_LIB: "False"
build-Fedora-gcc-debug-static-one_lib:
<<: *build_template
variables:
OS: "fedora"
COMPILER: "gcc"
MODE: "debug"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
check_warning_Fedora-gcc-debug-static-one_lib:
<<: *check_compilation_warning_template
dependencies:
- build-Fedora-gcc-debug-static-one_lib
variables:
OS: "fedora"
COMPILER: "gcc"
MODE: "debug"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
complete_doxygen:
<<: *run_doxygen_template
variables:
DOX: "complete_dev_guide.dox"
OUTPUT_FILE: "complete.log"
# build-macos-clang-debug-shared-several_libs:
# <<: *build_template
# tags:
# - macos, debug, shared, several_libs
# variables:
# OS: "macos"
# COMPILER: "clang"
# MODE: "debug"
# LIB_NATURE: "shared"
# IS_ONLY_ONE_LIB: "False"
#
# doxygen:
# stage: stage1
#
# cache:
# key: "$CI_COMMIT_REF_SLUG_doxygen"
# untracked: true
# paths:
# - Documentation/Doxygen
# tags:
# - Ubuntu
# - debug
# script:
# - cd Documentation/Doxygen
# - doxygen complete_dev_guide.dox
check_warning_complete_doxygen:
<<: *check_doxygen_warning_template
dependencies:
- complete_doxygen
variables:
DOXYGEN_OUTPUT_FILE: "complete.log"
# Pages doesn't work as invoked from a subgroup (not supported yet in gitlab)
......
Markdown is supported
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