From Fedora Project Wiki

Revision as of 14:22, 7 July 2021 by Bittin (talk | contribs)

🔗 Rules

  • Whatever we produce here, it MUST NOT violate Fedora Packaging Guidelines (we should strive to change them if needed).
  • Proven packagers and rel-eng still needs to be able to do their work in dist-git: their workflows MUST NOT be dirupted.
  • Maintainers HAVE TO be able to step in for automation and replace some of its actions if needed. The automation NEEDS TO handle such situation.

🔗 Goals

Our main goal is build a Minimal Viable Product during the Fedora 35 development cycle.

🔗 MVP

  • Source git repos can be easily created, set up and this is well-documented.
  • The workflow is defined well and it's clear where the repositories are hosted.
  • Source-git content is synchronized into dist-git via dist-git pull requests.
  • Specfile changes are synchronized back to the source-git repo from dist-git.

🔗 Benefits to Fedora

  • Downstream patches are tracked as git commits. This way it's easier to backport or cherry-pick changes from the upstream and rebase the patches when a new upstream release happens.
  • Patch files are handled by automation which makes the job of maintainers easier.
  • It should be easier to onboard more maintainers in Fedora community since the workflow would be closer to the way the contributors work in the upstream project.

🔗 Meetings

We have bi-weekly meetings on Wednesday, 14:30 (2:30pm) UTC on google meet.

https://apps.fedoraproject.org/calendar/SIGs/2021/5/3/#m9975

🔗 Meeting minutes

The meeting is scheduled for Thu, April 22nd: https://apps.fedoraproject.org/calendar/SIGs/2021/4/22/#m9966

* 1st meeting (IRC): https://meetbot.fedoraproject.org/packit/2021-04-22/source-git-sig.2021-04-22-13.01.html
* 2nd meeting (gmeet): https://pagure.io/fedora-source-git/sig/blob/main/f/meeting-minutes/2020-05-05.md
* 3rd meeting (gmeet): https://pagure.io/fedora-source-git/sig/blob/main/f/meeting-minutes/2021-05-12.md

🔗 Follow-up work

Once the MVP is implemented, we can start building more automated workflow on top of the MVP.

🔗 Workflow
  1. Set up a source-git repository manually on a packit-supported platform (github.com, gitlab.com)
    • This includes creating a specific branch and setting up jobs for packit-service to handle events.
    • CI can (and should) be set up (such as Testing Farm).
  2. Anyone in the community is able to interact with this repository the same way with any other open-source project.
  3. Packit-service can accept events when a new upstream release is done (via Upstream Release Monitoring).
  4. Packit-service creates a pull request which contains changes to bring the new release to Rawhide.
    • A dist-git PR is created in parallel. Downstream checks are synchronized to the source-git PR.
  5. The owner of the source-git repository reviews and updates the pull request as needed.
  6. Once approved, dist-git PR is merged first and packit-service triggers a build in Rawhide. If the build passes, source-git PR is merged as well. If the build fails, source-git PR is updated a new dist-git PR is created and doing the cycle of this step again.

🔗 Members

🔗 Status

The SIG is now announced on the devel list: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/ITHR2QMNH3NXICI56JNBSVXWLKREXCN6/

We are looking for early adopters of the workflow and members to give us feedback during the development.

🔗 Communication

🔗 Important links