Repository navigation
fix(docs): repair the dead links across docs and README - #5383
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5383 +/- ##
==========================================
- Coverage 63.68% 59.69% -3.99%
==========================================
Files 121 109 -12
Lines 2288 2062 -226
Branches 503 477 -26
==========================================
- Hits 1457 1231 -226
Misses 830 830
Partials 1 1
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
97ea3df to
82af4d5
Compare
|
The container image build workflow finished with status: |
82af4d5 to
1d51f3b
Compare
|
The container image build workflow finished with status: |
1d51f3b to
fb929d8
Compare
|
The container image build workflow finished with status: |
`markdown-link-check` has failed on every PR since 2026-09-10. Not because of anything those PRs changed — it scans the whole repo — but because redhat-developer#5360 bumped the action from v1.1.2 to v1.1.3 the day before, and the newer version checks in-file anchors. What it found is real. The three anchors point at ### Adding application drawers (`application/internal/drawer-*`) whose slug keeps the hyphen before the asterisk and so ends in one. The links omit it, which means they have been going nowhere on GitHub since the guides landed in July (redhat-developer#5009). Verified with github-slugger rather than reasoned about. It is the only heading in docs/ that falls into this trap. backstage.io/docs/reference/filter-predicates is a genuine 404 with no successor I could find, so the link goes and the sentence keeps its wording rather than pointing somewhere invented. docs.redhat.com is the one false positive, and it is intermittent rather than a flat block: the two URLs that failed in CI answer 200 from a workstation, and answered 302/403 an hour earlier. The site rate-limits automated callers, and the existing retry settings only cover 429, not 403. Ignoring the domain is the pragmatic fix, at the cost of no longer checking the six docs.redhat.com links in the repo — the other four are passing today and would lose coverage. Verified by running markdown-link-check with the repo's own config over each affected file: all exit 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`markdown-link-check` has failed on every PR since 2026-09-10, against content none of those PRs touched — it scans the whole repo. redhat-developer#5360 bumped the action from v1.1.2 to v1.1.3 the day before and the newer version checks in-file anchors, which is what surfaced the first batch. Anchors. Three links point at ### Adding application drawers (`application/internal/drawer-*`) whose slug keeps the hyphen before the asterisk and so ends in one. They have been going nowhere on GitHub since the guides landed in July (redhat-developer#5009). Verified with github-slugger; it is the only heading in docs/ with this shape. Pages that moved upstream: - backstage.io/docs/reference/filter-predicates -> the generated API reference (thanks Hope for finding it) - backstage.io/docs/reference/core-plugin-api.apptheme -> the module page, the hand-written reference page is gone - docs.ci.openshift.org/docs/architecture/prow -> /docs/architecture - community-plugins redhat-argocd -> argocd, renamed in their #6820 - community-plugins github-actions, github-issues and github-pull-requests-board -> all under one github workspace after their #7507 - gajus/global-agent test files -> the repo root; neither path exists on master or main any more Things that no longer exist here: - values_showcase-auth-providers.yaml was deleted in redhat-developer#4458, and the bullet above it already says that job deploys with the Operator rather than Helm, so the whole bullet goes - github-discovery.spec.ts is gone; the auth-providers suites are what use fixtures today Rate-limited hosts, not dead links: docs.redhat.com, developers.redhat.com and devservices.dpp.openshift.com answer 200 or resolve from a workstation and 403 or 0 from CI. The existing retry settings only cover 429. They join the two Red Hat hosts already in ignorePatterns, at the cost of no longer checking the handful of links behind them. Verified by running markdown-link-check with the repo's own config over docs/ and the root markdown, the two sets the workflow checks: both clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fb929d8 to
4050d15
Compare
|
The container image build workflow finished with status: |
|
New changes are detected. LGTM label has been removed. |
|
The container image build workflow finished with status: |
|
The container image build workflow finished with status: |
|
|
/override markdown-link-check |
|
@kim-tsao: Overrode contexts on behalf of kim-tsao: markdown-link-check DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/override markdown-link-check |
|
@kim-tsao: /override requires failed status contexts, check run or a prowjob name to operate on.
Only the following failed contexts/checkruns were expected:
If you are trying to override a checkrun that has a space in it, you must put a double quote on the context. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Prow now returns 403 to unauthenticated HTTP clients, so the link checker reports nine valid docs links as dead. Add the host to ignorePatterns, same as docs.redhat.com in #5383.
…developer#5409) Prow now returns 403 to unauthenticated HTTP clients, so the link checker reports nine valid docs links as dead. Add the host to ignorePatterns, same as docs.redhat.com in redhat-developer#5383.



Repairs every dead link in
docs/and the root markdown. Most have been broken for months;markdown-link-checkonly started reporting them when #5360 bumped the action from v1.1.2 to v1.1.3 on Sep 9 and the newer version began checking in-file anchors.The check is required, so it has blocked every PR since — but the value here is the links, not the unblock.
Anchors that never worked
Three links point at:
### Adding application drawers (`application/internal/drawer-*`)GitHub strips the backticks, parens, slash and asterisk but keeps the hyphen before the asterisk, so the slug ends in one:
#adding-application-drawers-applicationinternaldrawer-. The links omit it, so they have gone nowhere since the guides landed in July (#5009). Verified withgithub-slugger; it is the only heading indocs/with this shape, out of 35 internal anchors.Pages that moved upstream
backstage.io/docs/reference/filter-predicatesbackstage.io/api/stable/modules/_backstage_filter-predicates.htmlbackstage.io/docs/reference/core-plugin-api.apptheme/.../modules/_backstage_core-plugin-api.htmldocs.ci.openshift.org/docs/architecture/prow//docs/architecture/redhat-argocdargocdgithub-actions,github-issues,github-pull-requests-boardgithubgajus/global-agenttest filesmasterormainThings that no longer exist here
values_showcase-auth-providers.yamlwas deleted in chore(ci): remove auth-providers value yaml #4458. The bullet above it already says that job deploys with the Operator rather than Helm, so a Helm values file does not apply either way — the whole bullet goes.github-discovery.spec.tsis gone. Theauth-providerssuites are what use fixtures today, so the example points there.Rate-limited hosts, not dead links
docs.redhat.com,developers.redhat.comanddevservices.dpp.openshift.comanswer200(or resolve) from a workstation and403/0from CI. The config's retry settings only cover429. They joinpkgs.devel.redhat.comandgitlab.cee.redhat.com, already inignorePatternsfor the same reason.Worth being explicit about the cost: this stops checking every link behind those three hosts, not just the ones that failed. An
aliveStatusCodesentry for403would be narrower in intent but global in effect, weakening every link in the repo instead of three domains.Verification
Ran
markdown-link-checkwith the repo's own config over both sets the workflow checks —docs/and the root markdown. Both clean.Note the root step had never run: the workflow has no
if: always(), sodocs/failing meant the README's six dead links stayed hidden until the first set was fixed.🤖 Generated with Claude Code