CI (Continuous Integration)
CI is an important part of development and it helps to keep the project maintainable. Fedora infra is using Fedora CI. This CI is hosted by Fedora and open to any Fedora project.
Fedora Infra also maintains their own 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 official guide for new repositories that want to be added Fedora CI.
Github
Fedora Infra organization on Github already has the corresponding
application installed. To have it enabled for the project you need to
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
Want to help? Learn how to contribute to Fedora Docs ›