aboutsummaryrefslogtreecommitdiffhomepage
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorGravatar David Tellenbach <david.tellenbach@me.com>2020-06-27 00:03:35 +0000
committerGravatar Rasmus Munk Larsen <rmlarsen@google.com>2020-06-27 00:03:35 +0000
commit13d25f5ed865c9033ece458fa3452b902327b6ff (patch)
treefe225ea1ea816aa09c202dd87918445f22a1dae1 /.gitlab-ci.yml
parent7222f0b6b58759b2207e6ec3224adb246fd23349 (diff)
Add initial CI configuration file.
The initial CI configuration consists of jobs to build and run tests and to build docs.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml87
1 files changed, 87 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 000000000..7487e5e2a
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,87 @@
+# This file is part of Eigen, a lightweight C++ template library
+# for linear algebra.
+#
+# Copyright (c) 2020, Arm Limited and Contributors
+#
+# This Source Code Form is subject to the terms of the Mozilla
+# Public License v. 2.0. If a copy of the MPL was not distributed
+# with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+stages:
+ - build
+ - test
+ - doc
+
+variables:
+ CMAKE_GENERATOR: "Ninja"
+
+.build-tests:
+ allow_failure: true
+ stage: build
+ image: fedora
+ before_script:
+ - dnf -y install gcc-c++ cmake make ninja-build
+ script:
+ - cmake -B builddir -DEIGEN_TEST_CXX11=${EIGEN_TEST_CXX11}
+ - cmake --build builddir --target buildtests
+ cache:
+ key: "$CI_JOB_NAME"
+ paths:
+ - builddir/
+ policy: push
+ tags:
+ - gce
+ - kubernetes
+
+.run_tests:
+ allow_failure: true
+ stage: test
+ image: fedora
+ before_script:
+ - dnf -y install cmake
+ script:
+ - cd builddir && ctest --output-on-failure
+ cache:
+ key: "$CI_JOB_NAME"
+ paths:
+ - builddir/
+ policy: pull
+ tags:
+ - gce
+ - kubernetes
+
+build-test-cxx11-on:
+ extends: .build-tests
+ variables:
+ EIGEN_TEST_CXX11: "ON"
+
+build-test-cxx11-off:
+ extends: .build-tests
+ variables:
+ EIGEN_TEST_CXX11: "OFF"
+
+run-tests-cxx11-on:
+ extends: .run_tests
+ dependencies:
+ - build-test-cxx11-on
+
+run-tests-cxx11-off:
+ extends: .run_tests
+ dependencies:
+ - build-test-cxx11-off
+
+build-doc:
+ only:
+ - schedules
+ image: fedora
+ stage: doc
+ before_script:
+ - dnf -y install g++ cmake make doxygen doxygen-latex
+ script:
+ - cmake -G "Unix Makefiles" -B builddir -DCMAKE_BUILD_TYPE=Release
+ - cmake --build builddir --target doc
+ artifacts:
+ name: "$CI_JOB_NAME-$CI_JOB_ID"
+ paths:
+ - builddir/doc/html
+ expire_in: 2 days