Skip to content

check-links: don't fail the generated-docs sync PR over absolute self-links it can't fix - #1944

Open
marcleblanc2 wants to merge 1 commit into
mainfrom
marc/check-links/upstream-generated-files
Open

check-links: don't fail the generated-docs sync PR over absolute self-links it can't fix#1944
marcleblanc2 wants to merge 1 commit into
mainfrom
marc/check-links/upstream-generated-files

Conversation

@marcleblanc2

@marcleblanc2 marcleblanc2 commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Why

#1858 added the Check links job (--check-anchors --check-self-links), and #1899 rewrote the absolute https://sourcegraph.com/docs/… links in the generated observability/telemetry pages to relative ones. The sync bot (doc/_generated.push.sh) regenerates those files from Go sources that still contain the absolute links, so its next push to sync/generated-docs (#1883) reintroduces them, and the job flags each one as new against main.

Replaying the bot's output (#1883 head 80fb54e4, applied over main) through the job's exact command gives exit 1 with 26 findings, all "Absolute self-link" in alerts.mdx, dashboards.mdx, protocol.mdx and private-metadata-allowlist.mdx. Nothing in this repo can make that go green: the fix belongs in the generators.

What

In the files _generated.push.sh overwrites (self-hosted/observability/{alerts,dashboards}.mdx, cli/references/**, cody/capabilities/supported-models.mdx, admin/telemetry/{protocol,private-metadata-allowlist}.mdx), an absolute self-link is a finding only when its (redirect-followed) target is missing, and the message says (generated in sourcegraph/sourcegraph; fix it there). Everywhere else the check is unchanged. next build runs without --check-self-links, so deploys are unaffected.

Verification

  • Same replay with this branch: 26 → 2 findings, both real dead anchors in upstream source (monitoring/definitions/worker.go/admin/code-hosts/github#github-com-rate-limits, zoekt.go/code-search/features#shard-merging). Upstream fix: sourcegraph/sourcegraph PR to follow.
  • node dev/check-links.mjs --check-anchors --check-self-links --format json on this branch vs main: 248 findings each, 0 new, 0 removed.
  • npx tsc --noEmit passes.

Merge order for the PR-check stack

Trial-merged onto main in this order with no conflicts:

  1. ci: Comment the Vercel build log on PRs whose build fails #1946 Vercel build log comment — independent; first so the other PRs' Vercel failures get a readable log
  2. check-links: one suggestion per fix, synced with findings; one fact per line in reports #1916 check-links report format — adds dev/sync-review-comments.sh, which ci/redirects: Add Redirect check for PRs #1935 calls
  3. ci/redirects: Add Redirect check for PRs #1935 redirect check — needs check-links: one suggestion per fix, synced with findings; one fact per line in reports #1916 merged first
  4. spell check: update inline comments whose text changed #1947 spell check comment updates — independent
  5. check-links: don't fail the generated-docs sync PR over absolute self-links it can't fix #1944 check-links, generated-docs sync PR — conflicts with check-links: one suggestion per fix, synced with findings; one fact per line in reports #1916 on dev/check-links.mjs; rebase after check-links: one suggestion per fix, synced with findings; one fact per line in reports #1916 merges

Squash-merge each, then rebase the next onto main.

#1948 (broken) and #1949 (fixed) are the example PRs that exercise every check; never merge, close them once the stack has landed.

…ink finding

doc/_generated.push.sh in sourcegraph/sourcegraph overwrites alerts.mdx,
dashboards.mdx, cli/references/**, supported-models.mdx, protocol.mdx and
private-metadata-allowlist.mdx on every sync, with absolute
https://sourcegraph.com/docs/... links. Since #1899 made those links
relative here, the next sync PR reintroduces 26 findings and fails the
Check links job; nothing in this repo can fix that. In those files, an
absolute self-link is now only a finding when its target is missing, and
the message names the repository that owns the file.
@vercel

vercel Bot commented Sep 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
sourcegraph-docs Error Error Sep 11, 2026 5:26pm UTC

Request Review

marcleblanc2 added a commit that referenced this pull request Sep 11, 2026
…er line in reports (#1916)

Follow-ups from testing the PR checks on #1913 / #1914.

- Review comments: one suggested change per finding (not one per line),
no review body. Each comment starts with an HTML marker; the workflow
deletes suggestions whose finding is gone (or that GitHub could no
longer place, `line: null`) and skips ones already posted, so resolved
suggestions disappear like the spell check's do.
- Summary comment and review comments put line, link, problem, and fix
each on their own line.
- Absolute links to this site get their own **Absolute links** section
instead of being lumped into Outbound.
- Case-mismatch findings now come with a fix (`/Code-Search/queries` →
`/code-search/queries`).
- Wording: "Write links on this site as relative paths", "fix the
inbound links on these other pages", dropped
`https://docs.sourcegraph.com/…`; reproduce command matches
`package.json` (`pnpm check links …`).

Tested locally against the `test-pr-checks-broken` branch with the CI
recipe (baseline from `origin/main`, `--diff`, `--review`); build-mode
run (`node dev/check-links.mjs`) still clean.

Trade-off: when several fixes sit on one line, applying one suggestion
outdates the others until the next run re-posts them, because GitHub
will not batch overlapping suggestions.

<!-- pr-stack-merge-order -->
## Merge order for the PR-check stack

Trial-merged onto `main` in this order with no conflicts:

1. #1946 Vercel build log comment — independent; first so the other PRs'
Vercel failures get a readable log
2. #1916 check-links report format — adds `dev/sync-review-comments.sh`,
which #1935 calls
3. #1935 redirect check — needs #1916 merged first
4. #1947 spell check comment updates — independent
5. #1944 check-links, generated-docs sync PR — conflicts with #1916 on
`dev/check-links.mjs`; rebase after #1916 merges

Squash-merge each, then rebase the next onto `main`.

#1948 (broken) and #1949 (fixed) are the example PRs that exercise every
check; never merge, close them once the stack has landed.

---------

Co-authored-by: Amp <amp@ampcode.com>
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.

1 participant