Skip to content

Listing a new repo in the public profile README at creation time publishes a dead link #42

Description

@gavinbee

The conflict

CONTRIBUTING.md, under "Creating a new repo":

After creation, add the new repo to the org profile README and file
issues against it to add CI ...

Two sentences earlier, the same section says the helper defaults to --private because
"SwimBlocks repos usually start that way and graduate to public later."

profile/README.md renders on the org's public landing page. So following the rule as written
publishes a link that returns 404 for everyone who isn't a member, for as long as the repo
stays private — which is the documented normal case, not an edge case.

Nobody has followed it, which is the other half of the problem: swimblocks/officials-admin
was created weeks ago and is not listed. Right outcome, reached by ignoring the rule rather
than by the rule saying so.

Suggested fix

  1. Add a step to scripts/make-public.sh — after the visibility
    flip, add the repo to profile/README.md's table (or check it is there and warn if not).
    That script already describes itself as "the canonical place where SwimBlocks
    accumulates pre-public checks and post-flip steps", and this is exactly a post-flip step.
    settings.yml is applied at step 9; this belongs alongside.
  2. Drop the at-creation phrasing in CONTRIBUTING.md and say the listing happens at
    promotion. Keep the rest of that sentence — filing the CI / dependabot / AGENTS.md
    issues at creation is right and unaffected.

Worth deciding while implementing: the profile README is in this repo, so the step either
commits here on the operator's behalf or just prints the row to paste. Printing is honest and
avoids a script that pushes to its own repo mid-run; committing is the thing that actually
stops the drift. Either is defensible — the second is more in the spirit of "nobody should
have to remember 'did I check X?'".

Also worth confirming

The repos currently listed — deck-eval-gen, deck-eval-parser, rems-sync — should be
checked as actually public, since the same rule would have listed them while private too.

Found while auditing the repo split in swimblocks/officials-admin#3.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions