arc/docs/dist-git-comparison/stories.rst
Akashdeep Dhar e2e6bf7b8d Document the comparison on existing user stories
Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
2024-08-26 17:07:06 +05:30

159 lines
11 KiB
ReStructuredText

.. _gitlab:
GitLab
======
User stories
------------
Following is the investigation on GitLab based on the user stories collected.
1. **As a package maintainer, I'd like to be able to run my own CI jobs on distgit PRs.**
Reported by **Maxwell G** (``gotmax23``)
2. **As a package maintainer, I'd like to be able to control the-new-hotness monitoring status from distgit.**
Reported by **Maxwell G** (``gotmax23``)
3. **As a provenpackager, I should have push and merge access to all packages in the Fedora package collection.**
Reported by **Maxwell G** (``gotmax23``)
4. **As a package maintainer and Fedora tooling maintainer, I'd like to be able to use Packit in both distgit and upstream repositories.**
Reported by **Maxwell G** (``gotmax23``)
5. **As a package maintainer, I'd like to have easy access links to Koji, Bodhi, and Koschei from the distgit repo.**
Reported by **Maxwell G** (``gotmax23``)
6. **As a packager sponsor/mentor, I'd like to help users from outside the packager make their first PR without requiring special tooling or authentication schemes.**
Reported by **Maxwell G** (``gotmax23``)
7. **As a package maintainer and tooling maintainer, I'd like to be able to set Depends-on: and Blocks: relationships between tickets in the issue tracker.**
Reported by **Maxwell G** (``gotmax23``)
8. **As a package maintainer, I'd like to continue to be able to use fedpkg to fork repositories and otherwise interact with distgit.**
Reported by **Maxwell G** (``gotmax23``)
9. **As a package maintainer, I want to be able to control all aspects of the pull request process (read comments, reply to comments, approve PRs, merge PRs, etc) via an REST API to allow creation command line tools to automate work that otherwise requires a pointy-clicky web UI.**
Reported by **Daniel P. Berrange** (``berrange``)
10. **As a package maintainer, I want to be able to mark a PR to automatically merge if-and-only-if a running CI pipeline has succeeded. This allows reviewing and approving a PR, and moving onto new work, without having to wait around to see if CI passes or not. The PR only needs re-visiting manually if CI failed.**
Reported by **Daniel P. Berrange** (``berrange``)
11. **As a contributor, I want to be able to see who the current maintainer(s) are for a package.**
Reported by **Daniel P. Berrange** (``berrange``)
12. **As a contributor, I want to be able to request to join the maintainer(s) for a package, either as a watcher (just notified of all PRs), or as a developer (participate in MR process), or as a maintainer (control all aspects of the package, ie user ACLs). Joining as merely a watcher should not require approval by current maintainers.**
Reported by **Daniel P. Berrange** (``berrange``)
13. **As a package maintainer, I want opening a MR to automatically create a scratch-build. Approving the MR, should be able to either automatically promote the scratch-build to non-scratch status, or create a new non-scratch build. The latter should have a way to disable for packages with huge build times where creation of one build for multiple approved MRs is desirable for efficiency.**
Reported by **Daniel P. Berrange** (``berrange``)
14. **As a package maintainer, I would like to see the dependencies of this package, and what packages that are required by this package on web UI.**
Reported by **Felix Wang** (``topazus``)
15. **As a contributor, I want to be able to see who the current maintainer(s) are for a package.**
Reported by **Fernando Dos Santos** (``ferox``)
16. **As a contributor, I want to be able to see the contributors that have contributed to this package.**
Reported by **Felix Wang** (``topazus``)
17. **"As a packager I want to be able to have commit access without being added to the bugzilla watch list.**
Reported by **Pierre-Yves Chibon** (``pingou``)
18. **As a community member I want the ability to be added to the bugzilla watch list for a package without having commits or being in the packager group.**
Reported by **Pierre-Yves Chibon** (``pingou``)
19. **As a Fedora Infrastructure member, I want to ensure people who sign in to watch a package on bugzilla have a valid bugzilla account associated with their FAS account.**
Reported by **Pierre-Yves Chibon** (``pingou``)
20. **As a user of Fedora, not necessarily a member of the Fedora Project, I want to receive information about Fedora packages in the form of readable HTML documents, not in the form of programs (in Javascript or Web Assembly) that I must execute before I get to see the information.**
Reported by **Bjorn Persson** (``romboberorn``)
21. **As a security-conscious packager, I want to interact with the web interface without downloading and running programs from a bunch of third parties. I should at most need to whitelist Javascript and Web Assembly from fedoraproject.org only.**
Reported by **Bjorn Persson** (``romboberorn``)
22. **As a member of the Free Software movement, I want all parts of the system to be Free Software. That includes both server-side software and all Javascript, Web Assembly and/or CSS that my browser will download and execute.**
Reported by **Bjorn Persson** (``romboberorn``)
23. **As a package maintainer, I want to be able to use a pull-request-only workflow for specific packages (like packages that could break a lot of things, or packages that are security sensitive).**
Reported by **Fabio Valentini** (``decathorpe``)
24. **As a package maintainer with provenpackager or scm-admin rights, I want to be able to circumvent pull-request-only requirements on packages when pushing changes (i.e. mass rebuilds).**
Reported by **Fabio Valentini** (``decathorpe``)
25. **As a package maintainer, I'd like existing STI and TMT CI tests to continue working while also providing a simpler, more familiar YAML-based format.**
Reported by **Daniel P. Berrange** (``berrange``)
26. **As a package maintainer, I want to be able to prevent direct push to git, and using merge requests process only.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
27. **As a package maintainer, I want to be able to deal with bugs directly from the forge, and be able to reassign them between projects.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
28. **As a package maintainer, I want to be able to sync a fork with the upstream with a button click.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
29. **As a package maintainer, I wish we had CI compatible with Github Actions.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
30. **As a contributor, I'd like to be able to interact with git and distgit via email, namely to reply to issue and PR comments.**
Reported by **Maxwell G** (``gotmax23``)
31. **A contributor, I'd like to be able to create repositories under a personal namespace for work related to Fedora.**
Reported by **Maxwell G** (``gotmax23``)
32. **As a package maintainer, I'd like to block branch creation outside of official ones, or remove branches outside of official ones.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
33. **As a contributor, I'd like the forge to be accessible (alt text for images, respecting whatwg standards for contrast, color blindness, aria support).**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
34. **As a package maintainer I'd like to be able to delete a wrong file from the look aside cache.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
35. **As a package maintainer, I'd wish to be able to see a tree of the Depends-on and Blocks bugs relationship, and export it to JSON or any easily processable document.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
36. **As a package maintainer, I wish to have a Security tab listing known CVE, and dependencies known CVE for the package.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
37. **As a package maintainer, I still want to be able to use Grokmirror to mirror the Forge packages locally.**
Reported by **Robert-Andre Mauchin** (``eclipseo``)
38. **As an engineer involved in the release process, I want to be able to track blocker bugs and freeze exception bugs in the chosen issue tracker.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
39. **As an engineer involved in the release process, I want to be able to properly triage the state of the blocker bugs and freeze exception bugs with Kanban boards.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
40. **As an engineer involved in the release process, I should be able to notify the affected package maintainers and package testers.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
41. **As an engineer involved in the release process, I want to be able to plan for the effects on release phases (Alpha, Beta, Final) using the Gantt chart.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
42. **As an engineer involved in the release process, I want to be able to control the automated building and testing using comments.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
43. **As an engineer involved in the release process, I want to be able to triage the priorities of the blocker bugs and freeze exception bugs in the chosen issue tracker.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
44. **As an engineer involved in the release process, I want to be able to speed up the creation of blocker bugs and freeze exception bugs with the use of issue ticket templates.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
45. **As an engineer involved in the release process, I want to be able to limit the access of ticket modification to a certain set of people.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
46. **As an engineer involved in the release process, I want to be able to access the chosen issue tracker with the use of an HTTP API.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
47. **As an engineer involved in the release process, I want to be able to show related issue tickets to the reporter to avoid repeated rejections.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
48. **As an engineer involved in the release process, I want to be able to use the already established Bug Status Workflow as closely as possible.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
49. **As an engineer involved in the release process, I want to be able to automate ticketing workflows according to the phases of a release.**
Reported by **Akashdeep Dhar** (``t0xic0der``)
50. **As an engineer involved in the release process, I want to be able to track accepted previous release blocker bugs in the chosen issue tracker.**
Reported by **Akashdeep Dhar** (``t0xic0der``)