Skip to content
Snippets Groups Projects
Commit 155509ff authored by Marco Clemencic's avatar Marco Clemencic
Browse files

Merge branch 'gitlab-pages-doxygen' into 'master'

Improve Gitlab-CI configuration and deploy Doxygen to EOSWEB

See merge request !319
parents 995157c5 c0c38e56
No related branches found
No related tags found
1 merge request!319Improve Gitlab-CI configuration and deploy Doxygen to EOSWEB
Pipeline #
stages:
- build
- test
- deploy
before_script: before_script:
- export BINARY_TAG=x86_64-slc6-gcc62-opt - export BINARY_TAG=x86_64-slc6-gcc62-opt
- export LCG_hostos=x86_64-slc6
- export PATH=/cvmfs/sft.cern.ch/lcg/contrib/CMake/3.7.0/Linux-x86_64/bin:/cvmfs/sft.cern.ch/lcg/contrib/ninja/1.7.1/x86_64-slc6:/cvmfs/sft.cern.ch/lcg/releases/Python/2.7.13-597a5/${BINARY_TAG}/bin:${PATH} - export PATH=/cvmfs/sft.cern.ch/lcg/contrib/CMake/3.7.0/Linux-x86_64/bin:/cvmfs/sft.cern.ch/lcg/contrib/ninja/1.7.1/x86_64-slc6:/cvmfs/sft.cern.ch/lcg/releases/Python/2.7.13-597a5/${BINARY_TAG}/bin:${PATH}
- export LCG_release_area=/cvmfs/sft.cern.ch/lcg/releases
- export PATH=/cvmfs/lhcb.cern.ch/lib/lhcb/LBSCRIPTS/dev/InstallArea/scripts:${PATH} - export PATH=/cvmfs/lhcb.cern.ch/lib/lhcb/LBSCRIPTS/dev/InstallArea/scripts:${PATH}
- export CMAKE_PREFIX_PATH=/cvmfs/sft.cern.ch/lcg/releases - export CMAKE_PREFIX_PATH=/cvmfs/sft.cern.ch/lcg/releases:/cvmfs/projects.cern.ch/intelsw/psxe/linux/x86_64/2017/vtune_amplifier_xe
- export CCACHE_DIR=${PWD}/.ccache
build: build:
image: lhcbdev/slc6-build-cvmfs:latest
stage: build stage: build
script: script:
- curl -o artifacts.zip --location ${CI_PROJECT_URL}/builds/artifacts/master/download?job=build
- unzip -q artifacts.zip '.ccache/*' || true
- /cvmfs/sft.cern.ch/lcg/releases/ccache/3.3.4-e92e5/${BINARY_TAG}/bin/ccache -z
- echo 'set(CMAKE_USE_CCACHE ON CACHE BOOL "")' >> cache_preload.cmake - echo 'set(CMAKE_USE_CCACHE ON CACHE BOOL "")' >> cache_preload.cmake
- make - make BUILDDIR=build
- mv build.${BINARY_TAG} build - /cvmfs/sft.cern.ch/lcg/releases/ccache/3.3.4-e92e5/${BINARY_TAG}/bin/ccache -s
tags:
- slc6
artifacts: artifacts:
paths: paths:
- build/ - build
expire_in: 1 day - .ccache
expire_in: 1 week
doxygen: doxygen:
image: lhcbdev/slc6-build-cvmfs:latest
stage: test stage: test
script: script:
- mv build build.${BINARY_TAG} - make BUILDDIR=build doc
- make doc - rm -rf public
- mv build.${BINARY_TAG}/doxygen . - mkdir -p public/doxygen
tags: - mv build/doxygen/html ${CI_COMMIT_REF_NAME}
- slc6 - yum install -y zip
- zip -r public/doxygen/${CI_COMMIT_REF_NAME}.zip ${CI_COMMIT_REF_NAME}
only: only:
- master - master
- tags
artifacts: artifacts:
paths: paths:
- doxygen/ - public
expire_in: 1 week expire_in: 1 day
test: test:
image: lhcbdev/slc6-build-cvmfs:latest
stage: test stage: test
script: script:
- mv build build.${BINARY_TAG} - make BUILDDIR=build test ARGS='-j4'
- make test ARGS='-j4' - mv build/html test_report
- mv build.${BINARY_TAG}/html test_report
tags:
- slc6
artifacts: artifacts:
paths: paths:
- test_report/ - test_report
expire_in: 1 week expire_in: 1 week
# see https://gitlab.cern.ch/gitlabci-examples/deploy_eos for the details
# of the configuration
deploy-doxygen:
stage: deploy
only:
- master
- tags
image: gitlab-registry.cern.ch/ci-tools/ci-web-deployer:latest
script:
# Script that performs the deploy to EOS. Makes use of the variables defined in the project
# It will copy the generated content to the folder in EOS
- deploy-eos
# do not run any globally defined before_script or after_script for this step
before_script: []
after_script: []
cmake_minimum_required(VERSION 2.8.12)
if(std_library_path)
# FindDoxygen.cmake needs to call the doxygen command at configuration time
set(ENV{LD_LIBRARY_PATH} "${std_library_path}:$ENV{LD_LIBRARY_PATH}")
endif()
find_package(Doxygen) find_package(Doxygen)
if(DOXYGEN_FOUND) if(DOXYGEN_FOUND)
# make sure we have the right environment (for heptools installation)
if(DOXYGEN_DOT_EXECUTABLE)
get_filename_component(graphviz_bin "${DOXYGEN_DOT_EXECUTABLE}" DIRECTORY)
set(graphviz_env -p PATH=${graphviz_bin} -p LD_LIBRARY_PATH=${graphviz_bin}/../lib)
endif()
# directories used in the include search path during compilation # directories used in the include search path during compilation
set(DOXYGEN_INCLUDE_DIRS) set(DOXYGEN_INCLUDE_DIRS)
foreach(package ${packages}) foreach(package ${packages})
...@@ -40,7 +53,7 @@ Release notes of the packages: ...@@ -40,7 +53,7 @@ Release notes of the packages:
# run Doxygen to generate the documentation # run Doxygen to generate the documentation
add_custom_target(run-doxygen add_custom_target(run-doxygen
COMMAND ${env_cmd} --xml ${env_xml} COMMAND ${env_cmd} --xml ${env_xml} ${graphviz_env}
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
COMMENT "Running Doxygen...") COMMENT "Running Doxygen...")
...@@ -65,7 +78,7 @@ Release notes of the packages: ...@@ -65,7 +78,7 @@ Release notes of the packages:
add_dependencies(run-doxygen install-MathJax) add_dependencies(run-doxygen install-MathJax)
set(MATHJAX_RELPATH "../mathjax") set(MATHJAX_RELPATH "../mathjax")
else() else()
set(MATHJAX_RELPATH "http://cdn.mathjax.org/mathjax/latest") set(MATHJAX_RELPATH "https://cdn.mathjax.org/mathjax/latest")
endif() endif()
option(DOXYGEN_WITH_CPPREFERENCE_LINKS option(DOXYGEN_WITH_CPPREFERENCE_LINKS
......
...@@ -95,7 +95,7 @@ ifneq ($(USE_NINJA),) ...@@ -95,7 +95,7 @@ ifneq ($(USE_NINJA),)
else else
BUILD_CONF_FILE := Makefile BUILD_CONF_FILE := Makefile
endif endif
BUILD_CMD := $(CMAKE) --build build.$(BINARY_TAG) --target BUILD_CMD := $(CMAKE) --build $(BUILDDIR) --target
# default target # default target
all: all:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment