Skip to content

fix(ci): fire the dead-links filer on the synced link-check name too - #15506

Closed
kyle-sexton wants to merge 1 commit into
mainfrom
fix/dead-links-trigger-both-names
Closed

kyle-sexton wants to merge 1 commit into
mainfrom
fix/dead-links-trigger-both-names

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

No related issue: unblocks the standards sync PR #15467, which renames the link-check caller's display name.

session: GitHub Support

Summary

The dead-links filer's workflow_run trigger names the link-check workflow by display name. The standards sync (#15467) renames that caller from "Maintenance Check Links Online Claude Code Plugins" to "Maintenance Check Links Online", so the sync PR fails scripts/maintenance-file-dead-links.test.sh, and once the sync merged the filer would stop firing.

Fix

.github/workflows/maintenance-file-dead-links.yml lists both names in workflows:. The old name can come out in a later PR once #15467 is on main.

Verification

  • bash scripts/maintenance-file-dead-links.test.sh: PASS=27 FAIL=0 with the caller's current name.
  • The same test with the caller's first line changed to the synced name Maintenance Check Links Online: PASS=27 FAIL=0 (edit reverted).
  • GitHub call count: unchanged (a trigger filter).

Related

🤖 Generated with Claude Code

https://claude.ai/code/session_01VQb9Q1HHi6JACp77x2ZbE7

The standards sync (#15467) renames the link-check caller's display name to "Maintenance Check Links Online". The filer's workflow_run filter named only the old name, so the sync PR failed maintenance-file-dead-links.test.sh, and after merge the filer would have stopped firing. List both names until the sync lands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VQb9Q1HHi6JACp77x2ZbE7
@kyle-sexton

Copy link
Copy Markdown
Member Author

Closing as a duplicate: #15477 (armed) makes the same workflow_run filter change in maintenance-file-dead-links.yml. #15467's fresh sync run follows #15477's merge.

@kyle-sexton
kyle-sexton deleted the fix/dead-links-trigger-both-names branch November 12, 2026 02:58
@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-12T02:59:06.181873Z 39e3734 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown
Contributor

claude-security-review reviewed 39e3734c56bc181d31944a52cff361ff7855a4b4: read 1 of 1 changed file(s); 0 finding(s), 0 as inline comments.

Security review: no security issues found

This PR changes one line in .github/workflows/maintenance-file-dead-links.yml. The workflow_run trigger's workflows: filter now lists both the current display name of the link-check caller and the new name the standards sync gives it (Maintenance Check Links Online). That matches what the PR description says the change does.

What I checked

  • Who can fire the trigger. The read job still runs only when github.event.workflow_run.head_branch == 'main' and head_repository.full_name == github.repository (L48-L51). A fork pull request that adds a workflow with either name therefore can't reach the job. The file job runs only after read. Today no workflow in .github/workflows/ uses the new name; only maintenance-check-links-online-claude-code-plugins.yml uses the old one. So the extra name lets through nothing new outside the owner's own default branch.
  • Permissions and data handling. These are unchanged. The top-level block is permissions: {}, the read job has actions: read, and the file job has issues: write with no checkout. The artifact is still treated as data: it is shape-checked with jq, URLs and paths are restricted to safe patterns, and the server's text is dropped.
  • Trust controls. No trust control is widened. The changed file isn't on the trusted-path list, and this isn't one of the trust controls (trusted-trigger check, token broker, kill switch, merge holds, other actions). The dangerous-triggers zizmor ignore was already there before this PR.

Not checked

  • No instruction-surface deletions or plugin manifest changes are in this diff, so those lenses didn't apply.

Spend: none. This is only a trigger filter, and it fires on the same weekly link-check run under either name.

critical-findings: 0

@github-actions

Copy link
Copy Markdown
Contributor

claude-review reviewed 39e3734c56bc181d31944a52cff361ff7855a4b4: read 1 of 1 changed file(s); 0 finding(s), 0 as inline comments.

Code review: no findings

This is a full review of the whole change. It is the first review of this pull request, so it was not blocking only.

What changed. .github/workflows/maintenance-file-dead-links.yml used to start only after a run of "Maintenance Check Links Online Claude Code Plugins". Its workflow_run.workflows filter now names that workflow and also "Maintenance Check Links Online", the new name the standards sync in #15467 gives it.

What I checked

  • Trigger filter. The workflow is still named Maintenance Check Links Online Claude Code Plugins on head (caller), so the filer keeps firing now and will still fire after chore: sync standards components #15467 renames it.
  • Job gate. The read job still requires a main head branch from this repository and a success/failure conclusion (L49-L51). workflow_run only fires for workflows in this repository. Adding a name that nothing uses yet therefore lets no new source start the filer, and it still reads the artifact as data and checks it before use.
  • Shape test. The test splits the filter on commas (scripts/maintenance-file-dead-links.test.sh#L51-L52), so it passes whichever of the two names the workflow carries. The PASS=27 runs in the description are the author's claim; I did not run them because this lane has no shell.
  • Closing issue. None. The pull request says it unblocks chore: sync standards components #15467, so there were no acceptance criteria to check.
  • Leftover old name. The description says the old name comes out in a later pull request once chore: sync standards components #15467 is on main. Leaving it until then does no harm.

Usage. This is only a trigger filter. It adds no lane runs and spends no extra API credit.

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