Gerrit/Neaktivní projekty
Pozadí
Tato stránka se věnuje označování repozitářů kódu bez nedávné aktivity (předchozí diskuse viz phab:T102920).
Pro záměrné archivování/ukončování projektů viz #Projects-Cleanup ve Phabricatoru.
Definice
(Possibly) Inactive code repositories are defined by:
- Předpoklad: Do repozitáře nebyly sloučeny žádné záplaty za posledních alespoň 180 dní (aktualizace lokalizace se nepočítají).
- POSSIBLY INACTIVE: If there are open changesets submitted without any review or stuck with 0/+1 after 90 days, the repository is labelled POSSIBLY INACTIVE. Ideally, a notification would be sent to the identified maintainers and other contributors to the project.
- INACTIVE: If there are open changesets submitted without any review or stuck with 0/+1 after 180 days, the repository is labelled INACTIVE.
UNUSED Repozitáře kódu jsou místo toho definovány jako takové, u kterých nejsou známy žádní uživatelé softwaru.
Repozitáře kódu jsou místo toho definovány jako takové, u kterých nejsou známy žádní uživatelé softwaru.
Akce pro označení repozitáře jako (možná) neaktivního
Chcete-li sledovat akce pro označení repozitáře jako (možná) aktivního, vytvořte úlohu ve Phabricatoru pomocí daného formuláře/šablony.
- For POSSIBLY INACTIVE code repositories, try to contact the authors / maintainers (e.g. check the latest changes or a project homepage if existing) and ask about the status of the project (and whether potentially proposed patches in Gerrit will receive a review). Za předpokladu, že neobdržíte žádnou odpověď:
- For POSSIBLY INACTIVE code repositories, either write a patch to update the CI/Zuul configuration to automatically add an explanatory comment in Gerrit about the repository's status. Or create a Phabricator task in the project #Continuous-Integration-Config to let someone else do it. (Neodstraňujeme jej z CI/Zuul, protože pak by se daly i nadále nahrávat záplaty, ale nedostávaly by žádnou odpověď nebo by se zobrazovala neaktivní verze.)
- For POSSIBLY INACTIVE code repositories, go to Gerrit and update the project description: Prefix it with "[INACTIVE]" and add the sentence "See https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership if you are interested in taking over maintainership". Or create a Phabricator task in the project #Gerrit to let someone else do it. (We do not set the State to Read Only as that would block translation updates.)
- For INACTIVE code repositories, check their open patches in Gerrit and add a comment "Thanks for your contribution! This code repository appears to be inactive (see https://www.mediawiki.org/wiki/Gerrit/Inactive_projects ). If you are interested in taking over maintainership, see https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership . Also feel encouraged to contact the previous maintainer(s) if possible". Or create a Phabricator task in the project #Gerrit to let someone else do it. (We do not set the State to Read Only as that would block translation updates.)
- Update the extension/project wiki page of INACTIVE projects to reflect the inactive status of the codebase by applying the Template:Unmaintained extension.
- Edit the Phabricator description of INACTIVE projects by adding a prefix to the project description: "This project has been marked as inactive. See https://www.mediawiki.org/wiki/Gerrit/Inactive_projects for more information. If you are interested in taking over maintainership, please see https://www.mediawiki.org/wiki/Gerrit/Project_ownership#Requesting_repository_ownership and click "Join Project" in this Phabricator project."
- For INACTIVE projects, edit mw:Developers/Maintainers by removing inactive maintainers.
Akce pro deaktivaci nepoužívaného repozitáře
For an unused repository the steps for an inactive repository need to be done and additionally:
- Remove the repository from Translatewiki.net by requesting it on the Support page in translatewiki.net or in Wikimedia Phabricator.
- Remove all files in a new commit or make a commit that disables the software contained in it (e.g. disable the entry point if it is a MediaWiki extension), so that a user that pulls it notices that we assume it has no users and it has no maintainer. See example commit.
- Abandon all open changes for the repository
- Set the state in Gerrit to read only: On https://gerrit.wikimedia.org, choose "Projects" and then "List". Find your project and click on the "Project Name". Under "Project Options", set "State" to "Read Only".
- Update the description of the Gerrit project with a prefix "[ARCHIVED]" and, if it exists, add the task number that requested the archival
- Remove it from CI/Zuul.
- In case of a MediaWiki extension or skin project, remove the reference to the project from, respectively, mediawiki/extensions.git or mediawiki/skins.git superproject.
- If the source code location has changed (e.g. moved from Wikimedia Git/Gerrit to GitHub), also replace the repository content (example).
- If the repository was mirrored to GitHub, delete the GitHub mirror.
- Disable Phabricator/Diffusion for this repository (example: https://phabricator.wikimedia.org/diffusion/GAQD/)
Akce pro opětovné označení repozitáře jako aktivního
Once a request for ownership has been received, the steps above need to be reverted.