From Fedora Project Wiki
(link to the flock website)
(Wordsmithing on objective text. Add link about Packit)
Line 11: Line 11:
  
 
=== Goal ===
 
=== Goal ===
In this iteration of the CI Objective, we focus on Continuous Integration for Rawhide across all Fedora packages. We want Rawhide to be the place where changes and experiments are welcome - with less worry about breaking other things.
+
In this iteration of the CI Objective, we focus on Continuous Integration for Rawhide across all Fedora packages. We still want Rawhide to be the place where changes and experiments are welcome, but we want to avoid having those changes break other contributions to the operating system.
Continuous Integration is meant to be part of the development workflow - shorter feedback loops mean that content is fresher in developers’ minds and can usually be corrected more easily in case something went wrong. We want to make Fedora is trivial to develop for/on and developers / packagers get immediate feedback if a proposed change has negative side effects, e.g. if the system can’t boot anymore. To achieve this, we need to touch several areas in Fedora ranging from infrastructure, to testing, policy and the upstream communities.
+
 
 +
Continuous Integration is meant to be part of the development workflow - shorter feedback loops mean that content is fresher in developers’ minds and can usually be corrected more easily in case something went wrong. We want to make Fedora trivial to develop for/on and for both packagers and upstream developers to get immediate feedback if a proposed change has negative side effects, e.g. if the system can’t boot anymore. To achieve this, we need to touch several areas in Fedora ranging from infrastructure, to testing, policy and the upstream communities.
  
 
=== Deliverables and scope ===
 
=== Deliverables and scope ===
 
In order to increase the quality of rawhide and make it easier for contributors to work on Fedora we aim to:
 
In order to increase the quality of rawhide and make it easier for contributors to work on Fedora we aim to:
* Implement gating Rawhide packages [pingou, [https://teams.fedoraproject.org/project/ci/epic/5 Taiga epic]]
+
* Implement gating of Rawhide packages [pingou, [https://teams.fedoraproject.org/project/ci/epic/5 Taiga epic]]
 
* Implement distribution-wide tests that run on every package update and dist-git pull-request [dcantrell, [https://teams.fedoraproject.org/project/ci/epic/9 Taiga epic]]
 
* Implement distribution-wide tests that run on every package update and dist-git pull-request [dcantrell, [https://teams.fedoraproject.org/project/ci/epic/9 Taiga epic]]
 
* Improve the documentation for the packager experience [bookwar, [https://teams.fedoraproject.org/project/ci/epic/8 Taiga epic]]
 
* Improve the documentation for the packager experience [bookwar, [https://teams.fedoraproject.org/project/ci/epic/8 Taiga epic]]
* Automate integration between upstream projects and Fedora (via Packit) [ttomecek, [https://teams.fedoraproject.org/project/ci/epic/6 Taiga epic]]
+
* Automate feedback and packaging between upstream projects and Fedora (via [https://packit.dev/ Packit]) [ttomecek, [https://teams.fedoraproject.org/project/ci/epic/6 Taiga epic]]
  
 
All deliverables are targeting production by [https://flocktofedora.org/ '''Flock 2019'''] (August 8th, 2019).
 
All deliverables are targeting production by [https://flocktofedora.org/ '''Flock 2019'''] (August 8th, 2019).

Revision as of 11:29, 17 May 2019

Warning.png
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

Fedora CI Objective 2019

Communication

Taiga: https://teams.fedoraproject.org/project/ci/

Irc: #fedora-ci

Regular community meetings: [TBD @bookwar]

Goal

In this iteration of the CI Objective, we focus on Continuous Integration for Rawhide across all Fedora packages. We still want Rawhide to be the place where changes and experiments are welcome, but we want to avoid having those changes break other contributions to the operating system.

Continuous Integration is meant to be part of the development workflow - shorter feedback loops mean that content is fresher in developers’ minds and can usually be corrected more easily in case something went wrong. We want to make Fedora trivial to develop for/on and for both packagers and upstream developers to get immediate feedback if a proposed change has negative side effects, e.g. if the system can’t boot anymore. To achieve this, we need to touch several areas in Fedora ranging from infrastructure, to testing, policy and the upstream communities.

Deliverables and scope

In order to increase the quality of rawhide and make it easier for contributors to work on Fedora we aim to:

  • Implement gating of Rawhide packages [pingou, Taiga epic]
  • Implement distribution-wide tests that run on every package update and dist-git pull-request [dcantrell, Taiga epic]
  • Improve the documentation for the packager experience [bookwar, Taiga epic]
  • Automate feedback and packaging between upstream projects and Fedora (via Packit) [ttomecek, Taiga epic]

All deliverables are targeting production by Flock 2019 (August 8th, 2019).

Key results

The work is tracked in the https://teams.fedoraproject.org/project/ci/epics space, see links above There is a video tutorial and Fedora Community blog post (with screenshots) as guides explaining the gating workflows [bookwar]

Current issues

We have the CI pipelines from the previous CI object running tests, and a fair number of packages use those tests. Results can be seen in Pagure, and pull requests can be tested. There have been problems with usability when workflows weren’t as expected and developers had difficulty finding appropriate documentation.

Objective lead

Dominik Perpeet -- will represent product owner -- define vision, manage priorities, provide oversight and communications Objective summary page