From Fedora Project Wiki

Revision as of 09:39, 29 January 2019 by Cverna (talk | contribs)

Release Engineering Automation

This is a working document that aims to identify and breakdown the work needed to automate most of Fedora Release engineering.

Release Engineering Tasks that would benefit from automation

  • Adopting a package
  • TBD

Adopting a package

Currently when a packager wants to adopt a package that was previously orphan he needs to file a ticket for releng to process the requests (example : https://pagure.io/releng/issues?status=Closed&search_pattern=orphan)

The following need to be true for a package to be successfully adopted.

  • the package is not retired
  • the package is actually orphaned
  • the package is orphaned for less than 2 weeks
  • the person adopting the package is in the packager FAS group

When all these conditions are meet the following script can be use to give the package https://pagure.io/releng/blob/master/f/scripts/distgit/give-package.py

Automating checks

As a release engineer I want to automatically check if a package is retired because it saves me the time to perform the check manually.

As a release engineer I want to automatically check if a package is owned by orphan because I only want to give a package that is orphaned.

As a release engineer I want to automatically' check if a package was orphaned for more than 2 weeks because it needs a new package review.

As a release engineer I want to "automatically" check if a person requesting a orphan package is in the FAS packager group because it is required to owned a package.


Automating processing

As a release engineer I want new tickets with "Unorphan <package_name>" as title to trigger the above checks and report results to the tickets because I want to be able to know if I can process the request just by looking at the ticket.

As a release engineer I want to "automatically" give a package if all checks have passed because it saves me the time to run the script.