mNo edit summary |
(Refactor stories and add acceptance criteria) |
||
Line 25: | Line 25: | ||
===== '''Automating checks''' ===== | ===== '''Automating checks''' ===== | ||
As a release engineer I want to ''automatically'' check if a package is | {| class="wikitable" | ||
|- | |||
| As a release engineer I want to ''automatically'' check if a package can be unorphaned. | |||
|- | |||
| Acceptance Criteria: | |||
1 - A script is provided taking a package name as argument | |||
2 - Verify that the provided package is not a retired package, if retired the script exits with a error message | |||
3 - Verify that the provided package is owned by the orphan user, if not owned by the orphan user the scripts exists with an error message | |||
4 - Verify that the provided package was orphaned less or equal than 2 weeks ago, if not the scripts exists with an error message | |||
5 - When all conditions are met the script prints a success message. | |||
|} | |||
===== '''Automating processing''' ===== | ===== '''Automating processing''' ===== | ||
As a release engineer I want new tickets with "Unorphan <package_name>" | {| class="wikitable" | ||
|- | |||
| As a release engineer I want new tickets with "Unorphan <package_name>" title to automatically process the request. | |||
|- | |||
| Acceptance Criteria: | |||
1 - Creating a new ticket on "https://pagure.io/releng/issues" with the title "Unorphan <package_name>" triggers the script check unorphaned script. | |||
2 - If all conditions are met, the script checks if the requester is member of the packager FAS group. | |||
3 - If the requester of is a packager give him package. | |||
4 - When successful the script updates the original ticket with a comment and close the ticket. | |||
5 - If the conditions are not met or the requester is not a packager the script updates the original ticket with the failure reason in a comment and close the ticket. | |||
|} |
Revision as of 09:06, 30 January 2019
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 can be unorphaned. |
Acceptance Criteria:
1 - A script is provided taking a package name as argument 2 - Verify that the provided package is not a retired package, if retired the script exits with a error message 3 - Verify that the provided package is owned by the orphan user, if not owned by the orphan user the scripts exists with an error message 4 - Verify that the provided package was orphaned less or equal than 2 weeks ago, if not the scripts exists with an error message 5 - When all conditions are met the script prints a success message. |
Automating processing
As a release engineer I want new tickets with "Unorphan <package_name>" title to automatically process the request. |
Acceptance Criteria:
1 - Creating a new ticket on "https://pagure.io/releng/issues" with the title "Unorphan <package_name>" triggers the script check unorphaned script. 2 - If all conditions are met, the script checks if the requester is member of the packager FAS group. 3 - If the requester of is a packager give him package. 4 - When successful the script updates the original ticket with a comment and close the ticket. 5 - If the conditions are not met or the requester is not a packager the script updates the original ticket with the failure reason in a comment and close the ticket. |