Add CI doc for dist-git ARC investigation
This document describes the interactions between dist git and Fedora CI. Signed-off-by: Michal Konecny <mkonecny@redhat.com>
This commit is contained in:
parent
b378a14159
commit
971c5673f1
2 changed files with 70 additions and 0 deletions
69
docs/dist-git-move/ci.rst
Normal file
69
docs/dist-git-move/ci.rst
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
.. _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:
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
Possible Interactions
|
||||||
|
----
|
||||||
|
|
||||||
|
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``
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
* `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>`_
|
||||||
|
for Jenkins is here.
|
|
@ -43,6 +43,7 @@ Index
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
ci
|
||||||
copr
|
copr
|
||||||
hotness
|
hotness
|
||||||
notifications
|
notifications
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue