fix parsing errors and sphinx warnings

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
Ryan Lercho 2023-11-16 08:02:56 +10:00 committed by zlopez
parent 8fb9b2fdf0
commit ba720c3d77
98 changed files with 4799 additions and 4788 deletions

View file

@ -1,69 +1,68 @@
.. _ci:
Pagure Dist Git Interactions With Fedora CI
====
===========================================
`Fedora CI <https://docs.fedoraproject.org/en-US/ci/>`_ is a service
that handles Continuous Integration of packages in Fedora project.
As that it interacts with dist-git.
Fedora CI consists of multiple services:
`Fedora CI <https://docs.fedoraproject.org/en-US/ci/>`_ is a service that handles
Continuous Integration of packages in Fedora project. As that it interacts with
dist-git. Fedora CI consists of multiple services:
- Jenkins - Fedora hosted instance that runs the tests
- `Greenwave <https://pagure.io/greenwave>`_ - service to evaluate
gating policies on test results
- `ResultsDB <https://pagure.io/taskotron/resultsdb>`_ - stores
results of the tests
- `WaiverDB <https://pagure.io/waiverdb>`_ - service for recording
waivers against test results
- `Greenwave <https://pagure.io/greenwave>`__ - service to evaluate gating policies on
test results
- `ResultsDB <https://pagure.io/taskotron/resultsdb>`_ - stores results of the tests
- `WaiverDB <https://pagure.io/waiverdb>`_ - service for recording waivers against test
results
Possible Interactions
----
---------------------
The following are a set of documented interactions possible between Pagure Dist
Git and Fedora CI.
The following are a set of documented interactions possible between Pagure Dist Git and
Fedora CI.
Rawhide gating
^^^^
~~~~~~~~~~~~~~
- To configure rawhide gating rules for Greenwave user needs to add ``gating.yaml`` file
to package repository
Notification about results
^^^^
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Notification about CI results is done by creating flags using API calls:
* ``/api/0/<package_name>/pull-request/<pr_id>/flag``
* ``/api/0/<package_name>/c/<commit_id>/flag``
- ``/api/0/<package_name>/pull-request/<pr_id>/flag``
- ``/api/0/<package_name>/c/<commit_id>/flag``
Those flags are then visible on the corresponding commit or pull request.
Triggering tests on pull requests
^^^^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- The automatic trigger of CI when creating pull request is done by emitting
message topic ``pull-request.new`` and it's consumed by Jenkins
- The automatic trigger of CI when creating pull request is done by emitting message
topic ``pull-request.new`` and it's consumed by Jenkins
Changes proposed
----
----------------
In order to switch out Pagure Dist Git for an alternative that provides a
relatively compatible API pattern, the following changes must be made in the
places mentioned below.
In order to switch out Pagure Dist Git for an alternative that provides a relatively
compatible API pattern, the following changes must be made in the places mentioned
below.
Necessary
^^^^
~~~~~~~~~
- If URL for dist git is change it will need to be reflected in each component
that is part of Fedora CI and directly interacts with dist-git:
- If URL for dist git is change it will need to be reflected in each component that is
part of Fedora CI and directly interacts with dist-git:
* `Greenwave <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/greenwave/templates/settings.py>`_ -
HTTP get request to the repository to check the ``gating.yaml``
- `Greenwave
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/greenwave/templates/settings.py>`__
- HTTP get request to the repository to check the ``gating.yaml``
Unnecessary
^^^^
~~~~~~~~~~~
- In case message schema will change we would need to update the topics that
are consumed by Fedora CI. The
`configuration <https://github.com/fedora-ci/dist-git-build-trigger/blob/pull-request.new/Jenkinsfile>`_
- In case message schema will change we would need to update the topics that are
consumed by Fedora CI. The `configuration
<https://github.com/fedora-ci/dist-git-build-trigger/blob/pull-request.new/Jenkinsfile>`_
for Jenkins is here.