owned this note
owned this note
Published
Linked with GitHub
---
title: CI/CD proposals
tags: Fedora, CPE, CI/CD
---
Over the week of December 16th, I have been meeting with:
- Clément Verna: CPE members
- Dominik Perpeet and Aleksandra Fedorova: OSCI manager and lead
- Neal Gompa, Miro Hroncok and Igor Gnatenko: Fedora community members and packagers
- Mohan Boddu and Tomas Hrcka: CPE members and Fedora releng
On January 8th 2020, I've met with Matthew Miller and Marie to discuss this document
Here is the list of ideas I've gathered from discussing with them (in no particular order).
1. Releng automation
* **Goal**: automate some of the tasks performed by releng
1. Package request creation: automate the approval for new package requests
* size: S, influence: Fedora packagers
2. Package branch creation: automate the approval/process for new branch request
* size: S, influence: Fedora packagers
3. Automate mass-branching
* size: M, influence: releng
4. Automate mass-rebuild
* size: M, influence: releng, Fedora packages
* Investigate the possibility of dropping release and changelog as a mean to simplify/optimize the mass-rebuild
5. Run repoclosure (via the spam-o-matic script?) before doing a compose allowing to fail faster
* size: M, influence: releng
* **Influence**: releng and fedora packager
* **Size**: L
* **Depends on**: the work on spam-o-matic, possibly dropping release and changelog from spec files
1. Drop release and changelog from spec files
* **Goal**: Remove the release field and the changelog from spec files
* **Influence**: Fedora packager, RHEL packager
* **Size**: L
* **Needed for**: Will solve most of the conflicts when working will pull-request or cherry-picking/merging changes from a branch to another
* **Needed for**: automatically rebuild package's dependencies (for example upon soname bumps)
3. Monitoring the packager/gating workflow
* **Goal**: Run regularly the monitoring-gating script in openshift and use it as a way to monitor the packager workflow in Fedora
* **Influence**: CPE, OSCI
* **Size**: S
* **Tag**: CPE, OSCI, OpenShift, FESCo, Fedora
4. Prometheus and Metrics for openshift applications
* **Goal**: Enabling prometheus' monitoring and metrics for the applications running in our openshift instances
* **Influence**: CPE mainly
* **Size**: S
* **Tag**: CPE, OpenShift, new tech, Fedora, CentOS
5. Broken dependency report
* **Goal**: set-up the broken dependency report again so it emails the devel list, produce nice HTML pages and a JSON file for machine consumption
* **Influence**: Fedora packager, CentOS Stream?
* **Size**: M
* **Tag**: build sys, packager, CI
* **Needed for**: the packager dashboard, easier integration of package health info in other tools
7. Investigate scaling up application to cloud providers
* **Goal**: Investigate how applications such as koji, ODCS, COPR could be scaled up to cloud providers out there (AWS, Azure, GCE...) in an hybrid cloud fashion (ie: in addition to a local OpenShift)
* **Influence**: OSCI, CPE
* **Size**: M
* **Needed for**: Scaling up ODCS
* **Tag**: ODCS, koji, copr, build sys, CPE, OSCI
10. Expand mbox to make it easier for developer to set up a near-production development environment
* **Goal**: adjust/improve and document how to use mbox to replicate either locally or in a development environment a near-production environment that can be used for testing/developing
* **Influence**: CPE mainly
* **Size**: M
* **Tag**: CPE, build sys, koji, MBS, dev experience
11. Allow koji to download remote sources if they are not found in the lookaside cache
* **Goal**: Let koji fetch upstream's sources if it cannot find them in the lookaside cache and if they match the `sources` file in dist-git, let koji upload the sources to the lookaside cache for the next build
* **Influence**: Fedora packager
* **Size**: M
* **Tag**: koji, Fedora, RHEL, packagers
* **Risk**: Needs to be validated from a security point of view
* **Needed for**: Having PR on dist-git be more useful (require less post-merge manual work)
---------------------------------
6. Help leveraging more ODCS in Fedora
* **Goal**: Help the OSCI team setting up and leveraging ODCS in Fedora.
* **Influence**: Fedora packagers, Fedora releng
* **Size**: L
* **Tag**: OSCI, gating, releng
8. Mini-compose
* **Goal**: Split the compose process into smaller chunks that can run separately and more often
* **Influence**: releng and fedora packagers
* **Size**: L
* **Depends on**: the ODCS work
* **Question**: Could we leverage the OSCI work to achieve this?
* ie: Would the solution they are working on internally, and want to bring to Fedora, solve this?
9. Independent compose
* **Goal**: currently Labs and Spins are all released by releng at the same time as the traditional Fedora, we would like to give them the tools and opportunities to decouple their release cycle from the Fedora desktop edition. For this they need to be able to perform their own composes at will.
* **Influence**: releng, Fedora Spins and Labs and Editions
* **Size**: L
* **Depends on**: the ODCS work
* **Question**: Would the OSCI work achieve this?