This page describes the needs of the fedora-change-wrangler
script to be developed for GSoC 2019. It assumes we will be using Taiga as the tool for managing changes instead of Pagure as previously proposed. Even if we do end up using Pagure, much of the functionality should remain the same.
fedora-change-wrangler
is (will be!) a command line tool for managing Change proposals. For the general process, see the Changes policy page.
An example Taiga project is available.
π General workflow
- Change Owner opens an issue and fills in the fields. When they are ready to submit the Change proposal, they set the status to "Ready for Wrangler"
- The Change Wrangler (FPgM) reviews the proposal. If it is incomplete, they set the status back to "New" and inform the Change Owner of what's needed. If it is ready to process, then...
π Required functionality
π promote
- [Promotes the issue to a user story https://taiga.pm/promote-issue-to-user-story-3/]
- Copies the contents of the custom fields from the issue to the user story
- Closes the issue
π announce
- Announces the Change proposal to the devel@lists.fedoraproject.org and devel-announce@lists.fedoraproject.org mailing lists (example)
- Sets the user story status to announced
π fesco-submit
- Creates a new issue in the FESCo Pagure repo (see example self-contained change and example system-wide change
π accept
- Creates a tracking bug in Bugzilla (see example
- Creates an issue in the release notes pagure (see [1])
- Sets the status of the user story to accepted
π update
- Checks bugzilla trackers for each change
- Updates status to testable if BZ is "MODIFIED"
- Updates status to code complete if BZ is "ON_QA"
π Optional functionality
π Create
- Allows Fedora contributors to create a Change proposal directly from the command line
π Check
- Checks for new change proposals, use cases that need acted on, etc
π report
- Produces a report similar to the ChangeSet wiki pages to provide a quick view of changes and their status. Can be in wiki or html form
π Other ideas
- What would be useful that I haven't thought of here?