Skip to content

fix(docs): repair the dead links across docs and README - #5383

Merged
kim-tsao merged 6 commits into
redhat-developer:mainfrom
gustavolira:fix/markdown-link-check
Sep 14, 2026
Merged

kim-tsao merged 6 commits into
redhat-developer:mainfrom
gustavolira:fix/markdown-link-check

Conversation

@gustavolira

@gustavolira gustavolira commented Sep 11, 2026 •

Copy link
Copy Markdown
Member

Repairs every dead link in docs/ and the root markdown. Most have been broken for months; markdown-link-check only 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 with github-slugger; it is the only heading in docs/ with this shape, out of 35 internal anchors.

Pages that moved upstream

Was Now Why
backstage.io/docs/reference/filter-predicates backstage.io/api/stable/modules/_backstage_filter-predicates.html moved to the generated API reference — thanks @hopehadfield for finding it
backstage.io/docs/reference/core-plugin-api.apptheme/ .../modules/_backstage_core-plugin-api.html same move; the hand-written page is gone
docs.ci.openshift.org/docs/architecture/prow/ /docs/architecture/ subpage removed
community-plugins redhat-argocd argocd renamed in their #6820
community-plugins github-actions, github-issues, github-pull-requests-board all under github merged in their #7507
gajus/global-agent test files the repo root neither path exists on master or main

Things that no longer exist here

  • values_showcase-auth-providers.yaml was 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.ts is gone. The auth-providers suites are what use fixtures today, so the example points there.

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/0 from CI. The config's retry settings only cover 429. They join pkgs.devel.redhat.com and gitlab.cee.redhat.com, already in ignorePatterns for 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 aliveStatusCodes entry for 403 would be narrower in intent but global in effect, weakening every link in the repo instead of three domains.

Verification

Ran markdown-link-check with 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(), so docs/ failing meant the README's six dead links stayed hidden until the first set was fixed.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.69%. Comparing base (1e73ec1) to head (eee41fb).

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              
Flag Coverage Δ
rhdh 59.69% <ø> (-3.99%) ⬇️
Components Coverage Δ
Backend plugins ∅ <ø> (∅)
Backend app 69.69% <ø> (ø)
Frontend app 58.82% <ø> (ø)
Plugin utils ∅ <ø> (∅)

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1e73ec1...eee41fb. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gustavolira
gustavolira force-pushed the fix/markdown-link-check branch from 97ea3df to 82af4d5 Compare September 11, 2026 18:16
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@gustavolira
gustavolira force-pushed the fix/markdown-link-check branch from 82af4d5 to 1d51f3b Compare September 11, 2026 18:22
@gustavolira gustavolira changed the title fix(docs): unblock markdown-link-check fix(docs): repair three broken anchors and one dead link Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@gustavolira
gustavolira force-pushed the fix/markdown-link-check branch from 1d51f3b to fb929d8 Compare September 11, 2026 18:25
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: cancelled.

@github-actions

Copy link
Copy Markdown
Contributor

Image was built and published successfully. It is available at:

Comment thread docs/dynamic-plugins/migrating-plugins-to-new-frontend-system.md Outdated
gustavolira and others added 2 commits September 11, 2026 17:01
`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>
@gustavolira
gustavolira force-pushed the fix/markdown-link-check branch from fb929d8 to 4050d15 Compare September 11, 2026 20:04
@gustavolira gustavolira changed the title fix(docs): repair three broken anchors and one dead link fix(docs): repair the dead links across docs and README Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: failure.

@hopehadfield hopehadfield left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot removed the lgtm label Sep 11, 2026
@openshift-ci

openshift-ci Bot commented Sep 11, 2026

Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: failure.

@github-actions

Copy link
Copy Markdown
Contributor

The container image build workflow finished with status: failure.

@github-actions

Copy link
Copy Markdown
Contributor

The container image was built successfully but failed to publish to the registry.

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown
Contributor

The container image was built successfully but failed to publish to the registry.

@kim-tsao

Copy link
Copy Markdown
Member

/override markdown-link-check

@openshift-ci

openshift-ci Bot commented Sep 14, 2026

Copy link
Copy Markdown

@kim-tsao: Overrode contexts on behalf of kim-tsao: markdown-link-check

Details

In response to this:

/override markdown-link-check

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.

@kim-tsao

Copy link
Copy Markdown
Member

/override markdown-link-check

@openshift-ci

openshift-ci Bot commented Sep 14, 2026

Copy link
Copy Markdown

@kim-tsao: /override requires failed status contexts, check run or a prowjob name to operate on.
The following unknown contexts/checkruns were given:

  • markdown-link-check

Only the following failed contexts/checkruns were expected:

  • Auto-Approve and Label PRs
  • Build Image
  • Build with Node.js
  • Test with Node.js
  • tide

If you are trying to override a checkrun that has a space in it, you must put a double quote on the context.

Details

In response to this:

/override markdown-link-check

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.

@kim-tsao
kim-tsao merged commit 487a395 into redhat-developer:main Sep 14, 2026
21 of 24 checks passed
openshift-merge-bot Bot pushed a commit that referenced this pull request Sep 15, 2026
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.
jonkoops added a commit to jonkoops/rhdh that referenced this pull request Sep 15, 2026
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants