--- /dev/null
+==============================
+Libvirt Continuous Integration
+==============================
+
+.. contents::
+
+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:
+
+Core project
+------------
+
+.. list-table::
+ :widths: 80 20
+ :header-rows: 1
+
+ * - Project
+ - Pipeline
+
+ * - libvirt
+ - .. image:: https://gitlab.com/libvirt/libvirt/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt/pipelines
+ :alt: libvirt pipeline status
+
+
+Language bindings
+-----------------
+
+.. list-table::
+ :widths: 80 20
+ :header-rows: 1
+
+ * - Project
+ - Pipeline
+
+ * - 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
+
+ * - libvirt-java
+ - .. image:: https://gitlab.com/libvirt/libvirt-java/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-java/pipelines
+ :alt: libvirt-java pipeline status
+
+ * - libvirt-ocaml
+ - .. image:: https://gitlab.com/libvirt/libvirt-ocaml/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-ocaml/pipelines
+ :alt: libvirt-ocaml pipeline status
+
+ * - libvirt-perl
+ - .. image:: https://gitlab.com/libvirt/libvirt-perl/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-perl/pipelines
+ :alt: libvirt-perl pipeline status
+
+ * - libvirt-php
+ - .. image:: https://gitlab.com/libvirt/libvirt-php/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-php/pipelines
+ :alt: libvirt-php pipeline status
+
+ * - libvirt-python
+ - .. image:: https://gitlab.com/libvirt/libvirt-python/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-python/pipelines
+ :alt: libvirt-python pipeline status
+
+ * - libvirt-rust
+ - .. image:: https://gitlab.com/libvirt/libvirt-rust/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-rust/pipelines
+ :alt: libvirt-rust pipeline status
+
+ * - ruby-libvirt
+ - .. image:: https://gitlab.com/libvirt/ruby-libvirt/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/ruby-libvirt/pipelines
+ :alt: ruby-libvirt pipeline status
+
+
+Object mappings
+---------------
+
+.. list-table::
+ :widths: 80 20
+ :header-rows: 1
+
+ * - Project
+ - Pipeline
+
+ * - libvirt-cim
+ - .. image:: https://gitlab.com/libvirt/libvirt-cim/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-cim/pipelines
+ :alt: libvirt-cim pipeline status
+
+ * - libvirt-dbus
+ - .. image:: https://gitlab.com/libvirt/libvirt-dbus/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-dbus/pipelines
+ :alt: libvirt-dbus pipeline status
+
+ * - libvirt-glib
+ - .. image:: https://gitlab.com/libvirt/libvirt-glib/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-glib/pipelines
+ :alt: libvirt-glib pipeline status
+
+ * - libvirt-go-xml
+ - .. image:: https://gitlab.com/libvirt/libvirt-go-xml/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-go-xml/pipelines
+ :alt: libvirt-go-xml pipeline status
+
+ * - libvirt-snmp
+ - .. image:: https://gitlab.com/libvirt/libvirt-snmp/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-snmp/pipelines
+ :alt: libvirt-snmp pipeline status
+
+
+Testing
+-------
+
+.. list-table::
+ :widths: 80 20
+ :header-rows: 1
+
+ * - Project
+ - Pipeline
+
+ * - libvirt-ci
+ - .. image:: https://gitlab.com/libvirt/libvirt-ci/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-ci/pipelines
+ :alt: libvirt-ci pipeline status
+
+ * - libvirt-dockerfiles
+ - .. image:: https://gitlab.com/libvirt/libvirt-dockerfiles/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-dockerfiles/pipelines
+ :alt: libvirt-dockerfiles pipeline status
+
+ * - libvirt-test-API
+ - .. image:: https://gitlab.com/libvirt/libvirt-test-API/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-test-API/pipelines
+ :alt: libvirt-test-API pipeline status
+
+ * - libvirt-tck
+ - .. image:: https://gitlab.com/libvirt/libvirt-tck/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-tck/pipelines
+ :alt: libvirt-tck pipeline status
+
+
+Documentation / websites
+------------------------
+
+.. list-table::
+ :widths: 80 20
+ :header-rows: 1
+
+ * - Project
+ - Pipeline
+ * - libvirt-publican
+ - .. image:: https://gitlab.com/libvirt/libvirt-publican/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-publican/pipelines
+ :alt: libvirt-publican pipeline status
+
+ * - libvirt-appdev-guide-python
+ - .. image:: https://gitlab.com/libvirt/libvirt-appdev-guide-python/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-appdev-guide-python/pipelines
+ :alt: libvirt-appdev-guide-python pipeline status
+
+ * - libvirt-wiki
+ - .. image:: https://gitlab.com/libvirt/libvirt-wiki/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-wiki/pipelines
+ :alt: libvirt-wiki pipeline status
+
+ * - virttools-planet
+ - .. image:: https://gitlab.com/libvirt/virttools-planet/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/virttools-planet/pipelines
+ :alt: virttools-planet pipeline status
+
+ * - virttools-web
+ - .. image:: https://gitlab.com/libvirt/virttools-web/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/virttools-web/pipelines
+ :alt: virttools-web pipeline status
+
+
+Miscellaneous
+-------------
+
+.. list-table::
+ :widths: 80 20
+ :header-rows: 1
+
+ * - Project
+ - Pipeline
+
+ * - libvirt-console-proxy
+ - .. image:: https://gitlab.com/libvirt/libvirt-console-proxy/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-console-proxy/pipelines
+ :alt: libvirt-console-proxy pipeline status
+
+ * - libvirt-designer
+ - .. image:: https://gitlab.com/libvirt/libvirt-designer/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-designer/pipelines
+ :alt: libvirt-designer pipeline status
+
+ * - libvirt-devaddr
+ - .. image:: https://gitlab.com/libvirt/libvirt-devaddr/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-devaddr/pipelines
+ :alt: libvirt-devaddr pipeline status
+
+ * - libvirt-sandbox
+ - .. image:: https://gitlab.com/libvirt/libvirt-sandbox/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-sandbox/pipelines
+ :alt: libvirt-sandbox pipeline status
+
+ * - libvirt-sandbox-image
+ - .. image:: https://gitlab.com/libvirt/libvirt-sandbox-image/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-sandbox-image/pipelines
+ :alt: libvirt-sandbox-image pipeline status
+
+ * - libvirt-security-notice
+ - .. image:: https://gitlab.com/libvirt/libvirt-security-notice/badges/master/pipeline.svg
+ :target: https://gitlab.com/libvirt/libvirt-security-notice/pipelines
+ :alt: libvirt-security-notice pipeline status