fix: resolve failing CI (run 31368149984) - #121
Merged
Merged
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe change adds six successful link-check cache entries to ChangesLink-check cache
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Member
Author
|
Ralph verified: CI is green and the PR is mergeable — ready for your review/merge. |
WomB0ComB0
added a commit
that referenced
this pull request
Aug 20, 2026
…found (#124) * fix(ci): drop removed --exclude-mail flag breaking lychee since May The weekly lychee job has failed 14 consecutive scheduled runs (every run since 2026-05-11). The cause is not external link flake, which the workflow comment anticipates — lychee never checked a single link: error: unexpected argument '--exclude-mail' found Usage: lychee ... --include-mail[=<false|true>] [inputs]... Upstream removed `--exclude-mail` and inverted it to `--include-mail`. lychee-action is pinned by SHA but tracks the latest lychee binary (0.24.2 today), so the flag vanished under a pinned action and the job has aborted during argument parsing ever since. Mail is now excluded by default (`--include-mail` = "Also check email addresses", default false), so deleting the flag preserves the original intent exactly rather than changing what gets checked. Also pins actions/checkout and actions/cache to commit SHAs, and sets `persist-credentials: false` on checkout. The pin is required by the same blanket `unpinned-uses` policy that broke #117; the credentials flag is needed because pinning edits the checkout line, which would otherwise surface the pre-existing `artipacked` finding as a new alert on a changed line. This job only reads files, so it never needs the token persisted. Verified: lychee 0.24.2 --help confirms --exclude-mail is gone and --include-mail defaults to false. zizmor v1.29.0 on this file goes from 3 findings (2 high unpinned-uses, 1 artipacked) to 0. actionlint passes. Note: #121 attempted to fix this by committing six .lycheecache entries. That could not have worked — all six are 200s (caching successes cannot suppress an argument-parsing abort) and --max-cache-age 1d expires them within a day. Left in place as harmless; it is dead weight, not a fix. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix(ci): scope lychee to external links only With the argument-parsing abort fixed, lychee ran for the first time since May and failed with 11,529 errors out of 34,557 links. None were external-link problems: ~11,380 file:// local links (mostly generated SDK API doc anchors) 148 root-relative links (/sdks/typescript) that cannot resolve Both classes are internal links, which this workflow explicitly does not own — see its own header: "Internal MDX link integrity is enforced by `mint broken-links` in required.yml." lychee was walking every internal link in the docs tree, including the generated Python/TS API reference, and that was being misread as "external link flake" for months. Two flags are needed, and both are required — neither works alone: --scheme http/https confines checking to external URLs. Measured with --dump over identical inputs: 16,257 links -> 2,984, zero file:// surviving the filter. --root-dir root-relative links fail during *resolution*, which happens before scheme filtering, so --scheme alone cannot suppress them (confirmed: --exclude '^/' has no effect either). --root-dir lets them resolve to file:// URLs, which the scheme filter then excludes. Verified repo-wide: 148 resolution errors -> 0. --root-dir does not turn this into a second internal link checker: the resolved file:// links are excluded, never fetched. Rejected --base-url, which would instead point all 148 at the live site — locally that timed out on all inputs and took 80s for one file. Last verified CI run on this branch (31910818811) had all 2,972 external links passing, with 148 resolution errors as the only remaining failure; this commit removes those. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix: resolve failing CI (run 31911555547) * fix(docs): complete the ResQ-type cross-link fix in generated .NET docs The automated fix in #124 retargeted ResQ.Clients.CoordinationHceClient but missed the other two ResQ types mapped to learn.microsoft.com, and skipped ScenarioRunner.ValidateLocation entirely. Lychee on that branch went 12 -> 4 errors, with all four being the same generator bug: learn.microsoft.com/en-us/dotnet/api/resq.clients.infrastructureapiclient x2 learn.microsoft.com/en-us/dotnet/api/resq.core.location x2 Both are our own types; Microsoft does not document them, so both 404. Retargeted to the sibling generated pages, matching the relative-link form #124 already established. Both targets verified present in-tree. This is a stopgap, not the fix. These files are regenerated output -- api-docs.dotnet.yml clears sdks/dotnet/api/ before copying fresh output over it -- so this is discarded on the next api-docs run from resq-software/dotnet-sdk. The generator bug is filed as resq-software/dotnet-sdk#93. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: resq-sw <engineer@resq.software>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated CI fix from
ralph triage --fix-ciusing a local model. Failing run: https://github.com/resq-software/docs/actions/runs/31368149984Summary by CodeRabbit