summaryrefslogtreecommitdiffstats
path: root/Help/dev
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-03-07 15:36:20 (GMT)
committerBrad King <brad.king@kitware.com>2017-03-07 16:05:57 (GMT)
commit2927e437e0f6001270783958b5c3e447339e3cc7 (patch)
tree1c4b2b6ee72d662783bcd9e9f0885baa3d5ee42f /Help/dev
parentb55e19dd1f6a4d679d36ba9f006a10c291f6b5db (diff)
downloadCMake-2927e437e0f6001270783958b5c3e447339e3cc7.zip
CMake-2927e437e0f6001270783958b5c3e447339e3cc7.tar.gz
CMake-2927e437e0f6001270783958b5c3e447339e3cc7.tar.bz2
Help/dev: Document the CMake Testing Process
Diffstat (limited to 'Help/dev')
-rw-r--r--Help/dev/README.rst2
-rw-r--r--Help/dev/review.rst18
-rw-r--r--Help/dev/testing.rst42
3 files changed, 54 insertions, 8 deletions
diff --git a/Help/dev/README.rst b/Help/dev/README.rst
index 21bbe88..0dc512a 100644
--- a/Help/dev/README.rst
+++ b/Help/dev/README.rst
@@ -23,7 +23,9 @@ branches and tags. Upstream development processes are covered by the
following documents:
* The `CMake Review Process`_ manages integration of changes.
+* The `CMake Testing Process`_ drives integration testing.
.. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
.. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
.. _`CMake Review Process`: review.rst
+.. _`CMake Testing Process`: testing.rst
diff --git a/Help/dev/review.rst b/Help/dev/review.rst
index ca64b95..e23c0fb 100644
--- a/Help/dev/review.rst
+++ b/Help/dev/review.rst
@@ -198,14 +198,14 @@ Integration Testing
The above `topic testing`_ tests the MR topic independent of other
merge requests and on only a few key platforms and configurations.
-CMake also has a large number of testing machines provided by Kitware
-and generous volunteers that cover nearly all supported platforms,
-generators, and configurations. In order to avoid overwhelming these
-resources, they do not test every MR individually. Instead, these
-machines follow an *integration branch*, run tests on a nightly basis
-(or continuously during the day), and post to the `CMake CDash Page`_.
-Some follow ``master``. Most follow a special integration branch,
-the *topic stage*.
+The `CMake Testing Process`_ also has a large number of machines
+provided by Kitware and generous volunteers that cover nearly all
+supported platforms, generators, and configurations. In order to
+avoid overwhelming these resources, they do not test every MR
+individually. Instead, these machines follow an *integration branch*,
+run tests on a nightly basis (or continuously during the day), and
+post to the `CMake CDash Page`_. Some follow ``master``. Most follow
+a special integration branch, the *topic stage*.
The topic stage is a special branch maintained by the "Kitware Robot"
(``@kwrobot``). It consists of the head of the MR target integration
@@ -241,6 +241,8 @@ until one of the following occurs:
Once a MR has been removed from the topic stage a new ``Do: stage``
command is needed to stage it again.
+.. _`CMake Testing Process`: testing.rst
+
Resolve
=======
diff --git a/Help/dev/testing.rst b/Help/dev/testing.rst
new file mode 100644
index 0000000..731930c
--- /dev/null
+++ b/Help/dev/testing.rst
@@ -0,0 +1,42 @@
+CMake Testing Process
+*********************
+
+The following documents the process for running integration testing builds.
+See documentation on `CMake Development`_ for more information.
+
+.. _`CMake Development`: README.rst
+
+CMake Dashboard Scripts
+=======================
+
+The *integration testing* step of the `CMake Review Process`_ uses a set of
+testing machines that follow an integration branch on their own schedule to
+drive testing and submit results to the `CMake CDash Page`_. Anyone is
+welcome to provide testing machines in order to help keep support for their
+platforms working.
+
+The `CMake Dashboard Scripts Repository`_ provides CTest scripts to drive
+nightly, continous, and experimental testing of CMake. Use the following
+commands to set up a new integration testing client:
+
+.. code-block:: console
+
+ $ mkdir -p ~/Dashboards
+ $ cd ~/Dashboards
+ $ git clone https://gitlab.kitware.com/cmake/dashboard-scripts.git CMakeScripts
+ $ cd CMakeScripts
+
+The ``cmake_common.cmake`` script contains comments at the top with
+instructions to set up a testing client. As it instructs, create a
+CTest script with local settings and include ``cmake_common.cmake``.
+
+.. _`CMake Review Process`: review.rst
+.. _`CMake CDash Page`: https://open.cdash.org/index.php?project=CMake
+.. _`CMake Dashboard Scripts Repository`: https://gitlab.kitware.com/cmake/dashboard-scripts
+
+Nightly Start Time
+------------------
+
+The ``cmake_common.cmake`` script expects its includer to be run from a
+nightly scheduled task (cron job). Schedule such tasks for sometime after
+``1:00am UTC``, the time at which our nightly testing branches fast-forward.