Gerrit/Inactive projects

Background

This page is about marking code repositories with no recent activity (for previous discussion see phab:T102920).

For intentionally archiving/sunsetting projects, see #Projects-Cleanup in Phabricator.

Definitions

(Possibly) Inactive code repositories are defined by:

  • Premise: no patches have been merged to the repository in at least 180 days (localization updates don't count).
  • 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 code repositories instead are defined as one where no users are known for the software. Or no users should exist of the repository as the software moved to a different one.

Actions to mark a repository as (possibly) inactive

To track the actions to mark a repository as (possibly) in active, please create a task in Phabricator using that form / template.

Actions to deactivate an unused repository

This is mostly superseded by the checklist for Projects Cleanup in Phabricator.

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 an 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/)


Actions to mark a repository as active again

Once a request for ownership has been received, the steps above need to be reverted.

See also