From 855ed801113998eb3a4c95cc78bb9488239d75bc Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 8 Jun 2020 09:48:11 -0400 Subject: Help/dev: Update CMake Review Process document for GitLab CI We have replaced use of `buildbot` with GitLab CI. Update the relevant section of our review process documentation. --- Help/dev/review.rst | 65 +++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/Help/dev/review.rst b/Help/dev/review.rst index ad0bb22..e430fbb 100644 --- a/Help/dev/review.rst +++ b/Help/dev/review.rst @@ -278,42 +278,39 @@ merging. Topic Testing ============= -CMake has a `buildbot`_ instance watching for merge requests to test. -`CMake GitLab Project Developers`_ may activate buildbot on a MR by -adding a comment with a command among the `comment trailing lines`_:: +CMake uses `GitLab CI`_ to test merge requests, configured by the top-level +``.gitlab-ci.yml`` file. Results may be seen both on the merge request's +pipeline page and on the `CMake CDash Page`_. Filtered CDash results +showing just the pipeline's jobs can be reached by selecting the ``cdash`` +job in the ``External`` stage of the pipeline. - Do: test +Lint and documentation build jobs run automatically after every push. +Heavier jobs require a manual trigger to run: -``@kwrobot`` will add an award emoji to the comment to indicate that it -was processed and also inform buildbot about the request. The buildbot -user (``@buildbot``) will schedule builds and respond with a comment -linking to the `CMake CDash Page`_ with a filter for results associated -with the topic test request. If the MR topic branch is updated by a -push a new ``Do: test`` command is needed to activate testing again. - -The ``Do: test`` command accepts the following arguments: - -* ``--stop``: clear the list of commands for the merge request -* ``--clear``: clear previous commands before adding this command -* ``--regex-include `` or ``-i ``: only build on builders - matching ```` (a Python regular expression) -* ``--regex-exclude `` or ``-e ``: exclude builds on builders - matching ```` (a Python regular expression) - -Builder names follow the pattern ``project-host-os-buildtype-generator``: - -* ``project``: always ``cmake`` for CMake builds -* ``host``: the buildbot host -* ``os``: one of ``windows``, ``osx``, or ``linux`` -* ``buildtype``: ``release`` or ``debug`` -* ``generator``: ``ninja``, ``makefiles``, ``vs``, - or ``lint-iwyu-tidy`` - -The special ``lint-`` generator name is a builder that builds -CMake using lint tools but does not run the test suite (so the actual -generator does not matter). - -.. _`buildbot`: http://buildbot.net +* Merge request authors may visit their merge request's pipeline and click the + "Play" button on one or more jobs manually. If the merge request has the + "Allow commits from members who can merge to the target branch" check box + enabled, CMake maintainers may use the "Play" button too. + +* `CMake GitLab Project Developers`_ may trigger CI on a merge request by + adding a comment with a command among the `comment trailing lines`_:: + + Do: test + + ``@kwrobot`` will add an award emoji to the comment to indicate that it + was processed and also trigger all manual jobs in the merge request's + pipeline. + + The ``Do: test`` command accepts the following arguments: + + * ``--named ``, ``-n ``: Trigger jobs matching ```` + anywhere in their name. Job names may be seen on the merge request's + pipeline page. + +If the merge request topic branch is updated by a push, a new manual trigger +using one of the above methods is needed to start CI again. + +.. _`GitLab CI`: https://gitlab.kitware.com/help/ci/README.md .. _`CMake CDash Page`: https://open.cdash.org/index.php?project=CMake Integration Testing -- cgit v0.12