diff --git a/ci/build.linux.gitlab-ci.yml b/ci/build.linux.gitlab-ci.yml index e5eae5b2b..be6ab45ca 100644 --- a/ci/build.linux.gitlab-ci.yml +++ b/ci/build.linux.gitlab-ci.yml @@ -97,6 +97,16 @@ build:linux:cross:x86-64:clang-12:avx512dq: variables: EIGEN_CI_ADDITIONAL_ARGS: "-DEIGEN_TEST_AVX512DQ=on" +build:linux:doc: + extends: .build:linux:cross + variables: + EIGEN_CI_TARGET_ARCH: any + EIGEN_CI_BUILD_TARGET: doc + EIGEN_CI_INSTALL: ca-certificates clang flex python3 bison + EIGEN_CI_C_COMPILER: clang + EIGEN_CI_CXX_COMPILER: clang++ + EIGEN_CI_BEFORE_SCRIPT: ". ci/scripts/build_and_install_doxygen.sh Release_1_13_2" + # # Sanitizers (Disabled because ASAN hangs and MSAN requires instrumented libc++) # build:linux:cross:x86-64:clang-12:default:asan: # extends: build:linux:cross:x86-64:clang-12:default diff --git a/ci/deploy.gitlab-ci.yml b/ci/deploy.gitlab-ci.yml index e65395adf..32c6d93cb 100644 --- a/ci/deploy.gitlab-ci.yml +++ b/ci/deploy.gitlab-ci.yml @@ -14,3 +14,24 @@ deploy:tag:nightly: rules: - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen" - if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen" + + # Upload docs if pipeline succeeded. +deploy:doc:nightly: + stage: deploy + image: busybox + dependencies: [ build:linux:doc ] + script: + - mv ${EIGEN_CI_BUILDDIR}/doc/html public + pages: + path_prefix: doc-nightly + expire_in: never + artifacts: + name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG" + paths: + - public/ + tags: + - linux + - eigen-runner + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen" + - if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen" diff --git a/ci/scripts/build_and_install_doxygen.sh b/ci/scripts/build_and_install_doxygen.sh new file mode 100644 index 000000000..9cb47b760 --- /dev/null +++ b/ci/scripts/build_and_install_doxygen.sh @@ -0,0 +1,6 @@ +git clone --depth 1 --branch $1 https://github.com/doxygen/doxygen.git +cmake -B doxygen/.build -G Ninja \ + -DCMAKE_CXX_COMPILER=${EIGEN_CI_CXX_COMPILER} \ + -DCMAKE_C_COMPILER=${EIGEN_CI_C_COMPILER} \ + doxygen +cmake --build doxygen/.build -t install diff --git a/ci/scripts/common.linux.before_script.sh b/ci/scripts/common.linux.before_script.sh index 509bffa9b..622e62f6f 100644 --- a/ci/scripts/common.linux.before_script.sh +++ b/ci/scripts/common.linux.before_script.sh @@ -21,7 +21,7 @@ apt-get install -y --no-install-recommends ninja-build cmake git > /dev/null # Install required dependencies and set up compilers. # These are required even for testing to ensure that dynamic runtime libraries # are available. -if [[ "$ARCH" == "${EIGEN_CI_TARGET_ARCH}" ]]; then +if [[ "$ARCH" == "${EIGEN_CI_TARGET_ARCH}" || "${EIGEN_CI_TARGET_ARCH}" == "any" ]]; then apt-get install -y --no-install-recommends ${EIGEN_CI_INSTALL} > /dev/null; export EIGEN_CI_CXX_IMPLICIT_INCLUDE_DIRECTORIES=""; export EIGEN_CI_CXX_COMPILER_TARGET="";