Skip to content

CI: gate the registry README sources so a stale README cannot ship silently #1738

Description

@kwit75

The four registry READMEs — npm (rocketride), PyPI (rocketride), PyPI (rocketride-mcp), and the VS Code Marketplace + OpenVSX — are not stored in git. Each package's scripts/tasks.js copies one in from docs/ at build time, which is why those directories contain no README.md:

packages/client-python/scripts/tasks.js:52      docs/README-python-client.md
packages/client-mcp/scripts/tasks.js:62         docs/README-mcp-client.md
packages/client-typescript/scripts/tasks.js:73  docs/README-typescript-client.md
apps/vscode/scripts/tasks.js:40                 docs/README-vscode.md

That copy is silent when it breaks, and the consequence is unusually long-lived: a registry README cannot be corrected without publishing a new version, so a stale or wrong one stays live until the next release of that artifact.

Three failure modes, none of which anything currently catches:

  1. a README_SRC path renamed on one side only — the build copies nothing or the wrong file, every check stays green
  2. a README.md committed into a package directory, shadowing the generated one — which wins is then decided by build order rather than intent
  3. a relative link or image in a source README — invisible in review, because each registry resolves relative paths against itself rather than against GitHub. A README that renders perfectly in the repo can render broken on npm, PyPI and the Marketplace simultaneously, and vsce needs --baseContentUrl to have any chance at all

Proposal: a dependency-free check in CI that fails on any of the three. Raised by Charlie while refreshing all four sources (#1736).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions