[libvirt PATCH] docs: introduce a page showing a overall CI dashboard

Daniel P. Berrangé posted 1 patch 3 years, 11 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20200504123517.336906-1-berrange@redhat.com
There is a newer version of this series
docs/ci.rst       | 408 ++++++++++++++++++++++++++++++++++++++++++++++
docs/docs.html.in |   3 +
2 files changed, 411 insertions(+)
create mode 100644 docs/ci.rst
[libvirt PATCH] docs: introduce a page showing a overall CI dashboard
Posted by Daniel P. Berrangé 3 years, 11 months ago
With the move to GitLab CI one of the things we miss from Jenkins is a
single page dashboard showing CI status across all projects. This is a
very simple replacement that uses badges for CI pipeline status.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 docs/ci.rst       | 408 ++++++++++++++++++++++++++++++++++++++++++++++
 docs/docs.html.in |   3 +
 2 files changed, 411 insertions(+)
 create mode 100644 docs/ci.rst

diff --git a/docs/ci.rst b/docs/ci.rst
new file mode 100644
index 0000000000..2b997a9115
--- /dev/null
+++ b/docs/ci.rst
@@ -0,0 +1,408 @@
+==============================
+Libvirt Continuous Integration
+==============================
+
+The libvirt project primarily uses GitLab CI for automated testing of Linux
+builds, and cross-compiled Windows builds. `Travis <https://travis-ci.org/libvirt/libvirt>`_
+is used for validating macOS builds, and `Jenkins <https://ci.centos.org/view/libvirt>`_
+is temporarily used for validating FreeBSD builds.
+
+GitLab CI Dashboard
+===================
+
+The dashboard below shows the current status of the GitLab CI jobs for each
+repository:
+
+.. raw:: html
+
+   <table>
+     <thead>
+       <tr>
+         <th>Project</th>
+         <th>Pipeline</th>
+       </tr>
+     </thead>
+     <tbody>
+       <tr>
+         <th colspan="2">Core</th>
+       </tr>
+       <tr>
+         <td>libvirt</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <th colspan="2">Language bindings</th>
+       </tr>
+       <tr>
+         <td>libvirt-csharp</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-csharp/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-csharp/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-go</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-go/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-go/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-java</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-java/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-java/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-ocaml</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-ocaml/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-ocaml/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-perl</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-perl/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-perl/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-php</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-php/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-php/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-python</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-python/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-python/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-rust</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-rust/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-rust/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>ruby-libvirt</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/ruby-libvirt/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/ruby-libvirt/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <th colspan="2">Object mappings</th>
+       </tr>
+       <tr>
+         <td>libvirt-cim</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-cim/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-cim/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-dbus</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-dbus/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-dbus/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-glib</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-glib/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-glib/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-go-xml</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-go-xml/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-go-xml/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-snmp</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-snmp/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-snmp/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <th colspan="2">Testing</th>
+       </tr>
+       <tr>
+         <td>libvirt-ci</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-ci/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-ci/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-dockerfiles</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-dockerfiles/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-dockerfiles/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-test-API</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-test-API/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-test-API/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-tck</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-tck/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-tck/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <th colspan="2">Docs / web</th>
+       </tr>
+       <tr>
+         <td>libvirt-publican</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-publican/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-publican/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-appdev-guide-python</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-appdev-guide-python/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-appdev-guide-python/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-wiki</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-wiki/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-wiki/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>virttools-planet</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/virttools-planet/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/virttools-planet/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>virttools-web</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/virttools-web/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/virttools-web/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <th colspan="2">Misc</th>
+       </tr>
+       <tr>
+         <td>libvirt-console-proxy</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-console-proxy/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-console-proxy/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-designer</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-designer/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-designer/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-devaddr</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-devaddr/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-devaddr/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-sandbox</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-sandbox/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-sandbox/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-sandbox-image</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-sandbox-image/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-sandbox-image/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-security-notice</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-security-notice/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-security-notice/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>test</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/test/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/test/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <th colspan="2">Archived</th>
+       </tr>
+       <tr>
+         <td>autotest</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/autotest/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/autotest/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>cimtest</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/cimtest/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/cimtest/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>hooks</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/hooks/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/hooks/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libcmpiutil</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libcmpiutil/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libcmpiutil/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-appdev-guide</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-appdev-guide/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-appdev-guide/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-autobuild</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-autobuild/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-autobuild/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-builder</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-builder/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-builder/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-kube</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-kube/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-kube/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-media</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-media/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-media/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-qpid</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-qpid/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-qpid/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>libvirt-virshcmdref</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/libvirt-virshcmdref/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-virshcmdref/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>patchchecker</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/patchchecker/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/patchchecker/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>php-virt-control</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/php-virt-control/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/php-virt-control/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+       <tr>
+         <td>scripts</td>
+         <td>
+           <a href="https://gitlab.com/libvirt/scripts/pipelines">
+             <img alt="pipeline status" src="https://gitlab.com/libvirt/scripts/badges/master/pipeline.svg"/>
+           </a>
+         </td>
+       </tr>
+     </tbody>
+   </table>
diff --git a/docs/docs.html.in b/docs/docs.html.in
index 6bdf0c32b8..f1d44fadc0 100644
--- a/docs/docs.html.in
+++ b/docs/docs.html.in
@@ -142,6 +142,9 @@
         <dt><a href="strategy.html">Project strategy</a></dt>
         <dd>Sets a vision for future direction &amp; technical choices</dd>
 
+        <dt><a href="ci.html">CI Testing</a></dt>
+        <dd>Details of the Continuous Integration testing strategy</dd>
+
         <dt><a href="bugs.html">Bug reports</a></dt>
         <dd>How and where to report bugs and request features</dd>
 
-- 
2.26.2

Re: [libvirt PATCH] docs: introduce a page showing a overall CI dashboard
Posted by Daniel P. Berrangé 3 years, 11 months ago
On Mon, May 04, 2020 at 01:35:17PM +0100, Daniel P. Berrangé wrote:
> With the move to GitLab CI one of the things we miss from Jenkins is a
> single page dashboard showing CI status across all projects. This is a
> very simple replacement that uses badges for CI pipeline status.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  docs/ci.rst       | 408 ++++++++++++++++++++++++++++++++++++++++++++++
>  docs/docs.html.in |   3 +
>  2 files changed, 411 insertions(+)
>  create mode 100644 docs/ci.rst

ping



Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Re: [libvirt PATCH] docs: introduce a page showing a overall CI dashboard
Posted by Andrea Bolognani 3 years, 11 months ago
On Mon, 2020-05-04 at 13:35 +0100, Daniel P. Berrangé wrote:
> +The dashboard below shows the current status of the GitLab CI jobs for each
> +repository:
> +
> +.. raw:: html
> +
> +       <tr>
> +         <th colspan="2">Language bindings</th>
> +       </tr>
> +       <tr>
> +         <td>libvirt-csharp</td>
> +         <td>
> +           <a href="https://gitlab.com/libvirt/libvirt-csharp/pipelines">
> +             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-csharp/badges/master/pipeline.svg"/>
> +           </a>
> +         </td>
> +       </tr>
> +       <tr>
> +         <td>libvirt-go</td>
> +         <td>
> +           <a href="https://gitlab.com/libvirt/libvirt-go/pipelines">
> +             <img alt="pipeline status" src="https://gitlab.com/libvirt/libvirt-go/badges/master/pipeline.svg"/>
> +           </a>
> +         </td>
> +       </tr>

Using raw HTML is not great. I suggest we do something like

  .. list-table::
     :widths: 80 20
     :header-rows: 1

     * - Language binding
       - GitLab CI

     * - libvirt-csharp
       - .. image:: https://gitlab.com/libvirt/libvirt-csharp/badges/master/pipeline.svg
            :target: https://gitlab.com/libvirt/libvirt-csharp/pipelines
            :alt: libvirt-csharp pipeline status

     * - libvirt-go
       - .. image:: https://gitlab.com/libvirt/libvirt-go/badges/master/pipeline.svg
            :target: https://gitlab.com/libvirt/libvirt-go/pipelines
            :alt: libvirt-go pipeline status

with a separate table for each category instead.

The rows in the resulting tables are much thicker, but that's
something that we should address in our CSS anyway, since this is not
the only place where we're using reStructuredText tables.

> +         <td>ruby-libvirt</td>
> +         <td>
> +           <a href="https://gitlab.com/libvirt/ruby-libvirt/pipelines">
> +             <img alt="pipeline status" src="https://gitlab.com/libvirt/ruby-libvirt/badges/master/pipeline.svg"/>
> +           </a>
> +         </td>

Unrelated, but why is this repository not called libvirt-ruby?

> +         <td>test</td>
> +         <td>
> +           <a href="https://gitlab.com/libvirt/test/pipelines">
> +             <img alt="pipeline status" src="https://gitlab.com/libvirt/test/badges/master/pipeline.svg"/>
> +           </a>
> +         </td>

This is just a test repository and should not show up in the
dashboard in my opinion.

> +       <tr>
> +         <th colspan="2">Archived</th>
> +       </tr>

I think the "Archived" section should not exist right now. Once we
start archiving projects that used to have a proper GitLab CI
configuration, then maybe, but that's not the case right now.

-- 
Andrea Bolognani / Red Hat / Virtualization