Commit 978f6675 authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#1397 Add a temporary new Yaml file to help in the settings of new macos runners / jobs.

parent 9582cede
Pipeline #71537 failed with stages
in 48 minutes and 53 seconds
stages:
- build_and_test
- check_warnings
# - analysis
# - documentation
# - deploy
# Todo: Doxygen doc should be published with pages.
.build_template_linux: &build_template_linux
stage: build_and_test
image: registry.gitlab.inria.fr/morefem/thirdpartycompilationfactory/${OS}-${COMPILER}-${MODE}
cache:
key: "cache_${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-${IS_ONLY_ONE_LIB}"
untracked: true
paths:
- build
artifacts:
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 --mode=${MODE} --library_type=${LIB_NATURE} --morefem_as_single_library=${IS_ONLY_ONE_LIB}
- ninja |& tee compilation.log
- ninja test # as artifact are limited in size, I can't unfortunately use a separate stage...
.build_template_macos: &build_template_macos
stage: build_and_test
tags:
- macos
cache:
key: "cache_${CI_COMMIT_REF_SLUG}_${OS}-${COMPILER}-${MODE}-${LIB_NATURE}-${IS_ONLY_ONE_LIB}"
untracked: true
paths:
- build
artifacts:
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
- source activate Python3
- cd build && python ../cmake/Scripts/configure_cmake.py --cache_file=../cmake/PreCache/macos_apple_clang.cmake --cmake_args="-G Ninja" --third_party_directory=/Volumes/Data/ci/opt/${MODE} --mode=${MODE} --library_type=${LIB_NATURE} --morefem_as_single_library=${IS_ONLY_ONE_LIB}
- ninja 2>&1 | tee compilation.log
- ninja test # as artifact are limited in size, I can't unfortunately use a separate stage...
.run_doxygen_template: &run_doxygen_template
stage: build_and_test
image: ubuntu:latest
artifacts:
name: "artifact_run_doxygen_${CI_COMMIT_REF_SLUG}_${DOX}"
expire_in: 2 hours
paths:
- Documentation/Doxygen/${OUTPUT_FILE}
before_script:
- apt-get update -y
- apt-get install -y doxygen graphviz libjs-mathjax
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 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
artifacts:
name: "artifact_check_warning_doxygen_${CI_COMMIT_REF_SLUG}_${DOXYGEN_OUTPUT_FILE}"
when: on_failure
expire_in: 2 hours
paths:
- filtered_doxygen_log.txt
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: 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}"
# untracked: true
# paths:
# - build
# script:
# - cd build && ctest
build-macos-clang-debug-static-one_lib:
<<: *build_template_macos
variables:
OS: "macOS"
COMPILER: "clang"
MODE: "debug"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
check_warning_macos-clang-debug-static-one_lib:
<<: *check_compilation_warning_template
dependencies:
- build-macos-clang-debug-static-one_lib
variables:
OS: "macOS"
COMPILER: "clang"
MODE: "debug"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
build-macos-clang-debug-shared-several_libs:
<<: *build_template_macos
variables:
OS: "macOS"
COMPILER: "clang"
MODE: "debug"
LIB_NATURE: "shared"
IS_ONLY_ONE_LIB: "False"
check_warning-macos-clang-debug-shared-several_libs:
<<: *check_compilation_warning_template
dependencies:
- build-macos-clang-debug-shared-several_libs
variables:
OS: "macOS"
COMPILER: "clang"
MODE: "debug"
LIB_NATURE: "shared"
IS_ONLY_ONE_LIB: "False"
build-macos-clang-release-static-one_lib:
<<: *build_template_macos
variables:
OS: "macOS"
COMPILER: "clang"
MODE: "release"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
check_warning_macos-clang-release-static-one_lib:
<<: *check_compilation_warning_template
dependencies:
- build-macos-clang-release-static-one_lib
variables:
OS: "macOS"
COMPILER: "clang"
MODE: "release"
LIB_NATURE: "static"
IS_ONLY_ONE_LIB: "True"
complete_doxygen:
<<: *run_doxygen_template
variables:
DOX: "complete_dev_guide.dox"
OUTPUT_FILE: "complete.log"
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)
# pages:
# stage: deploy
# cache:
# key: "$CI_COMMIT_REF_SLUG_doxygen"
# untracked: true
# paths:
# - Documentation/Doxygen
# before_script:
# - mkdir -p public
# tags:
# - linux
# - debug
# script:
# - cd Documentation/Doxygen
# - mv Complete/* ../../public/
# artifacts:
# paths:
# - public
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