Skip to content

.github/WORKFLOWS.md documents 5 workflows that do not exist and omits 9 that do — including a changeset gate and a skip-changeset label neither of which is real #3724

Description

@os-project-manager

Found while implementing #3523 (PR #3722). Filed rather than fixed there — out of that card's scope — but it cost real time in that task, which is the argument for it being a defect rather than tidiness.

Measured

Comparing the **File**: ...yml entries in .github/WORKFLOWS.md against .github/workflows/:

Documented, but does not exist (5): changeset-check.yml, codeql.yml, deploy-docs.yml, pr-checks.yml, size-check.yml

Exists, but undocumented (9): changeset-guard.yml, check-links.yml, control-bytes.yml, cross-repo-issue-closer.yml, docs-links.yml, live-e2e.yml, lint.yml, performance-budget.yml, shadcn-check.yml

Why this is worse than an out-of-date file

The page does not merely lag; it advertises guardrails that do not exist, which is the exact direction scripts/__tests__/ci-cd-pipeline-doc.test.ts was written to catch on the other page:

Two candidate resolutions

  1. Delete .github/WORKFLOWS.md and leave content/docs/guide/ci-cd-pipeline.md as the single home. That page is pinned in both directions — a workflow with no heading fails pnpm test, and a heading naming a nonexistent .yml fails too — so the drift cannot recur there. A second, unpinned copy of the same inventory is a drift generator by construction, which is the lint.yml 的头部注释说「三条 object-ui/* 规则设成 error」,实际已经是四条 #3261 argument for not keeping hand-maintained enumerations at all.
  2. Keep it and extend the pin to cover both files. More work, and it leaves two documents saying the same thing, which is how they diverged.

Recommendation: (1). The content worth keeping (the "when to skip" guidance, the per-workflow "if it fails" notes) either already exists on the guide page or can be moved there in the same change, and the guide page's pin then owns it.

Not urgent, but not cosmetic either: this page is what an agent or a new contributor reads first, being in .github/, and it currently instructs them to do impossible things.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions