infra-docs-fpo/modules/developer_guide/pages/ci.adoc
Michal Konečný 3f7bb8b38c Add CI section to developer guide
Signed-off-by: Michal Konečný <mkonecny@redhat.com>
2022-04-22 09:00:33 +00:00

49 lines
1.8 KiB
Text

== CI (Continuous Integration)
CI is an important part of development and it helps to keep the project maintainable.
Fedora infra is using https://fedora.softwarefactory-project.io/zuul/status[Fedora CI].
This CI is hosted by Fedora and open to any Fedora project.
Fedora Infra also maintains their own https://pagure.io/fedora-infra/zuul[zuul jobs repository].
This repository is open to contributions and every project in Fedora can use these jobs.
=== Setting up CI for new project
==== Pagure
There is an https://fedoraproject.org/wiki/Zuul-based-ci#How_to_attach_a_Pagure_repository_on_Zuul[official
guide] for new repositories that want to be added
https://fedora.softwarefactory-project.io/zuul/status[Fedora CI].
==== Github
https://github.com/fedora-infra[Fedora Infra organization] on Github already has the corresponding
application installed. To have it enabled for the project you need to
https://fedoraproject.org/wiki/Zuul-based-ci#Add_the_repository_into_the_Zuul_configuration[add the repository to Zuul configuration] and create a `.zuul.yaml` file
Following is the basic `zuul.yaml` file that could be used:
....
---
# The root of the configuration is project
- project:
check:
# Jobs to run on the project
# This example runs various tox environments
# More info about these jobs can be found on
# https://fedora.softwarefactory-project.io/zuul/jobs
jobs:
- fi-tox-mypy
- fi-tox-lint
- fi-tox-format
- fi-tox-python38
- fi-tox-python39
- fi-tox-python310
- fi-tox-docs:
vars:
dependencies:
- graphviz
- python3-sphinxcontrib-httpdomain
- python3-sqlalchemy_schemadisplay
- fi-tox-bandit
- fi-tox-diff-cover
....