Page MenuHomePhabricator

Require tools to host a valid toolinfo.json file (e.g. while upgrading from one Debian version to another)
Open, Needs TriagePublic

Description

Context:

I'm coming from my cluelessly created T254637: How to make https://tools.wmflabs.org/admin/tools list Author and Source Code URI for my tool?.

Problem:

Improve discoverability of source code: Reduce bus factor / risk when a maintainer is AWOL and nobody can inspect code who does not have access to the instance; allow more contributions by allowing to inspect code which is in public, hopefully end up with less cases of applying https://wikitech.wikimedia.org/wiki/Help:Toolforge/Abandoned_tool_policy etc.

Proposal:

Align a requirement for tools to provide a toolinfo.json file with the next Debian upgrade from Stretch (https://wikitech.wikimedia.org/wiki/News/Stretch_deprecation to be created some future day) to Buster (cf. Jessie to Stretch in 2019/2020 in T232677: Remove support for Debian Jessie in Cloud Services).

See https://meta.wikimedia.org/wiki/Toolhub#Publish_a_toolinfo_file_and_register_it_with_Toolhub's_web_crawler

Misc:

  • Might help define one of the checkmarks what makes a tool stable (cf. T115650: Create an authoritative and well promoted catalog of Wikimedia tools): source code is public (requirement anyway but reality can bite).
  • If we lived in a Git "filesystem" world, I'd propose a pre-commit.hook which checks for existence of a toolinfo.json file && that its field values are valid. If not, then refuse pushing. Not sure if that's socially acceptable though. And not sure what's feasible in a non-Git world where people might scp their stuff.
  • Feel free to decline if this turns out to be a bad idea and/or if you can think of better approaches.
  • Wondering if I should tag this with Toolforge-standards-committee or not.

Event Timeline

Aklapper changed the task status from Open to Stalled.Jan 11 2021, 1:15 PM
Aklapper created this task.
bd808 moved this task from Backlog to Radar on the Toolhub board.
Aklapper renamed this task from Require tools to host a valid toolinfo.json file (e.g. while moving from Debian Stretch to Debian Buster) to Require tools to host a valid toolinfo.json file (e.g. while upgrading from one Debian version to another).Mar 17 2022, 4:14 PM
Aklapper changed the task status from Stalled to Open.Jun 5 2022, 7:31 AM

I don't think this is stalled on anything. Maybe social buy-in, but not technically.

I think we're better off recommending people fill out the toolinfo via striker or toolhub these days, rather than getting each maintainer to add a toolinfo.json to their tool.

I'm also wondering if there is any kind of concept for validation, and if that should be a separate subtask.
Looking at current values on https://admin.toolforge.org/tools , I find code repository values like

  • become enhourly ; cd public_html/cgi or test or welcome.py or working on it
  • 404 URLs on GitHub or on hub.paws.wmcloud.org or on toolsadmin.wikimedia.org
  • empty repositories on GitHub
  • archived repositories on GitHub

See also https://wikitech.wikimedia.org/w/index.php?title=Wikitech%3ACloud_Services_Terms_of_use&diff=2080048&oldid=2080046 Section 6 requiring such data after June 2024 (T320915#9155450).