🐛 Bug fix: check links test#26739
Conversation
|
Before, links to files added by the PR would simply be skipped over in the search for dead links. Instead, by using relative links to markup files, all links are checked regardless. Closes #26713 |
There was a problem hiding this comment.
Yay, your first PR! 😃
Couple high-level comments here:
- This PR will break the common use-case where a PR adds a new
.mdfile and also adds a full, non-relative link to that file from another file in the repo. See #9628 (comment) for the original motivation behind ignoring links to files added by the PR. - Forcing all
amphtmldocumentation to use relative links is not something we should aim to do. There are hundreds of files with a few hundred non-relative links in our codebase right now.
To address this, I think a good compromise would be to forgive any non-relative links to files added by the same PR if the relative portion of that link is correct. (See comment below).
WDYT?
| for (const {link, status, statusCode} of results) { | ||
| // Skip links to files that were introduced by the PR. | ||
| if (isLinkToFileIntroducedByPR(link)) { | ||
| continue; |
There was a problem hiding this comment.
After restoring all the lines deleted, instead of doing a continue here, maybe you could remove the https://github.com/ampproject/amphtml/blob/master/ prefix from the link (if it exists), normalize the rest of the path, and see if the link resolves correctly file exists in the PR branch?
Edit: Fixed prefix, altered suggested action.
ea98b24 to
53b91d9
Compare
build-system/tasks/check-links.js
Outdated
| for (const {link, status, statusCode} of results) { | ||
| // Skip links to files that were introduced by the PR. | ||
| // Catch all files that were introduced by the PR. | ||
| if (isLinkToFileIntroducedByPR(link)) { |
There was a problem hiding this comment.
What if the link is a relative path?
| if (isLinkToFileIntroducedByPR(link)) { | |
| if (isLinkToFileIntroducedByPR(link) && status == 'dead') { |
|
Merged. Nice job on your first PR @ajwhatson 🎉 |
* master: (41 commits) custom-element: Minor test improvements (ampproject#26923) amp-pixel: Minor test improvements (ampproject#26918) viewer: Minor test improvements (ampproject#26906) dom: Minor test improvements (ampproject#26913) amp-action: Support whitelist lookup in AmpDocShadow (ampproject#26684) ✨ Update amp-access-scroll (ampproject#26810) 🚀 Remove doc css and base css from ESM build (ampproject#26889) 📖 [amp-story-player] Initial docs (ampproject#26606) Amp consent restrict fullscreen prod flag (ampproject#26909) 📖 Clarify SXG duration minimum (ampproject#26890) Improve test vendor requests macros (ampproject#26828) 🚀 Move scroll left and top macros out of url-replacement-impl (ampproject#25594) Update consent string maximum size to 200 bytes (ampproject#26741) ✨[amp-story-player] Adds tap-to-next/previous story (ampproject#26865) update owners file with correct syntax (ampproject#26899) amp-sticky-ad: Fix unit test (ampproject#26855) Add performance metrics to README (ampproject#26891) 🐛 Bug fix: check links test (ampproject#26739) ✨Idealmedia uniq ad (ampproject#25838) 📦 Update dependency jsdom to v16.2.0 (ampproject#26591) ...
This breaks due to reassigning `const`, introduced in #26739
This breaks due to reassigning `const`, introduced in #26739
No description provided.