Patrick Nappa via llvm-dev
2019-Aug-29 01:52 UTC
[llvm-dev] 404s within LLVM documentation
Hi all, I'm currently in the process of updating the Kaleidoscope tutorials (first and foremost, the ORC/BuildingAJIT ones), and I've noticed a fair few 404s which are lingering within the current visible documentation. Some of these don't seem to have linked to existing pages for a while. I was wondering if there was a way to set up a check in the buildbot to ensure that documentation doesn't break between builds? I'm happy to fix the current dead links I've found (see below) but thought it might be wise to set up a more automated approach in the future. Does anyone have any tips on how I'd go about doing this/if this should be set up at all? I ran a web crawler to find each of the dead links (this may not be exhaustive), and they are as follows: https://llvm.org/docs/TestSuiteMakefileGuide https://llvm.org/docs/doxygen/structLICM.html https://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression https://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables http://llvm.org/docs/lnt/modindex.html https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl6.html#user-defined-unary-operators https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl5.html#for-loop-expression https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl7.html#user-defined-local-variables https://llvm.org/docs/tutorial/LangRef.html#instruction-reference https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl4.html#adding-a-jit-compiler https://llvm.org/docs/tutorial/WritingAnLLVMPass.html https://llvm.org/docs/tutorial/Passes.html https://llvm.org/docs/tutorial/ProgrammersManual.html#viewing-graphs-while-debugging-code https://llvm.org/docs/tutorial/SourceLevelDebugging.html https://llvm.org/docs/tutorial/Frontend/PerformanceTips.html https://llvm.org/docs/tutorial/GetElementPtr.html https://llvm.org/docs/tutorial/GarbageCollection.html https://llvm.org/docs/tutorial/ExceptionHandling.html https://www.llvm.org/docs/doxygen/structLICM.html http://llvm.org/docs/TestSuiteMakefileGuide http://llvm.org/docs/doxygen/structLICM.html https://www.llvm.org/docs/TestSuiteMakefileGuide http://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression http://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables Some of these are trivial mistakes (i.e. https://llvm.org/docs/tutorial/LangRef.html#instruction-reference -> https://llvm.org/docs/LangRef.html#instruction-reference), and some require a bit more inspection. Regards, Patrick -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190829/d556c033/attachment.html>
Alex Brachet-Mialot via llvm-dev
2019-Aug-29 02:11 UTC
[llvm-dev] 404s within LLVM documentation
I don’t know the best way to do this, but big +1 that it would be great if there could somehow be tests for broken documentation. I don’t know this for sure, but I believe there aren’t even currently bots testing if the doxygen and sphinx docs were successfully built. -Alex On Wed, Aug 28, 2019 at 9:52 PM Patrick Nappa via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi all, > > I'm currently in the process of updating the Kaleidoscope tutorials (first > and foremost, the ORC/BuildingAJIT ones), and I've noticed a fair few 404s > which are lingering within the current visible documentation. Some of these > don't seem to have linked to existing pages for a while. > > I was wondering if there was a way to set up a check in the buildbot to > ensure that documentation doesn't break between builds? I'm happy to fix > the current dead links I've found (see below) but thought it might be wise > to set up a more automated approach in the future. Does anyone have any > tips on how I'd go about doing this/if this should be set up at all? > > I ran a web crawler to find each of the dead links (this may not be > exhaustive), and they are as follows: > https://llvm.org/docs/TestSuiteMakefileGuide > https://llvm.org/docs/doxygen/structLICM.html > https://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression > https://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables > http://llvm.org/docs/lnt/modindex.html > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl6.html#user-defined-unary-operators > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl5.html#for-loop-expression > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl7.html#user-defined-local-variables > https://llvm.org/docs/tutorial/LangRef.html#instruction-reference > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl4.html#adding-a-jit-compiler > https://llvm.org/docs/tutorial/WritingAnLLVMPass.html > https://llvm.org/docs/tutorial/Passes.html > > https://llvm.org/docs/tutorial/ProgrammersManual.html#viewing-graphs-while-debugging-code > https://llvm.org/docs/tutorial/SourceLevelDebugging.html > https://llvm.org/docs/tutorial/Frontend/PerformanceTips.html > https://llvm.org/docs/tutorial/GetElementPtr.html > https://llvm.org/docs/tutorial/GarbageCollection.html > https://llvm.org/docs/tutorial/ExceptionHandling.html > https://www.llvm.org/docs/doxygen/structLICM.html > http://llvm.org/docs/TestSuiteMakefileGuide > http://llvm.org/docs/doxygen/structLICM.html > https://www.llvm.org/docs/TestSuiteMakefileGuide > http://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression > http://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables > > Some of these are trivial mistakes (i.e. > https://llvm.org/docs/tutorial/LangRef.html#instruction-reference -> > https://llvm.org/docs/LangRef.html#instruction-reference), and some > require a bit more inspection. > > Regards, > Patrick > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190828/5905583a/attachment.html>
Patrick, You have identified a good way to do this. Given it is likely that the links are to files in a directory structure on a single server with that file structure/path given by the link text, as we see in your dead link list, and that in a good number, perhaps likely a large majority of the cases, that the file names (less the directory path) are unique, It would be a fairly direct procedure to associate links by their file name (less path) with file locations. The process would then update the links for the correct paths, list links without an existing file, and list dead links having more than one existing file with the same name. The frequency of that run would depend on the frequency of dead-link discovery that the run could provide. Regards, Neil Nelson On 8/28/19 7:52 PM, Patrick Nappa via llvm-dev wrote:> Hi all, > > I'm currently in the process of updating the Kaleidoscope tutorials > (first and foremost, the ORC/BuildingAJIT ones), and I've noticed a > fair few 404s which are lingering within the current visible > documentation. Some of these don't seem to have linked to existing > pages for a while. > > I was wondering if there was a way to set up a check in the buildbot > to ensure that documentation doesn't break between builds? I'm happy > to fix the current dead links I've found (see below) but thought it > might be wise to set up a more automated approach in the future. Does > anyone have any tips on how I'd go about doing this/if this should be > set up at all? > > I ran a web crawler to find each of the dead links (this may not be > exhaustive), and they are as follows: > https://llvm.org/docs/TestSuiteMakefileGuide > https://llvm.org/docs/doxygen/structLICM.html > https://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression > https://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables > http://llvm.org/docs/lnt/modindex.html > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl6.html#user-defined-unary-operators > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl5.html#for-loop-expression > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl7.html#user-defined-local-variables > https://llvm.org/docs/tutorial/LangRef.html#instruction-reference > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl4.html#adding-a-jit-compiler > https://llvm.org/docs/tutorial/WritingAnLLVMPass.html > https://llvm.org/docs/tutorial/Passes.html > https://llvm.org/docs/tutorial/ProgrammersManual.html#viewing-graphs-while-debugging-code > https://llvm.org/docs/tutorial/SourceLevelDebugging.html > https://llvm.org/docs/tutorial/Frontend/PerformanceTips.html > https://llvm.org/docs/tutorial/GetElementPtr.html > https://llvm.org/docs/tutorial/GarbageCollection.html > https://llvm.org/docs/tutorial/ExceptionHandling.html > https://www.llvm.org/docs/doxygen/structLICM.html > http://llvm.org/docs/TestSuiteMakefileGuide > http://llvm.org/docs/doxygen/structLICM.html > https://www.llvm.org/docs/TestSuiteMakefileGuide > http://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression > http://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables > > Some of these are trivial mistakes (i.e. > https://llvm.org/docs/tutorial/LangRef.html#instruction-reference -> > https://llvm.org/docs/LangRef.html#instruction-reference), and some > require a bit more inspection. > > Regards, > Patrick > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190828/753f1fdf/attachment.html>
James Henderson via llvm-dev
2019-Aug-29 09:19 UTC
[llvm-dev] 404s within LLVM documentation
Patrick, how long does the crawl take? I suspect if we fixed internal documentation links so that they point to local copies of documentation when building locally it would be quite quick (no actual idea though). That in turn would probably make it feasible to add to the existing documentation build bots, I think. James On Thu, 29 Aug 2019 at 03:47, Neil Nelson via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Patrick, You have identified a good way to do this. Given it is likely > that the links are to files in a directory structure on a single server > with that file structure/path given by the link text, as we see in your > dead link list, and that in a good number, perhaps likely a large majority > of the cases, that the file names (less the directory path) are unique, > > It would be a fairly direct procedure to associate links by their file > name (less path) with file locations. The process would then update the > links for the correct paths, list links without an existing file, and list > dead links having more than one existing file with the same name. > > The frequency of that run would depend on the frequency of dead-link > discovery that the run could provide. > > Regards, Neil Nelson > On 8/28/19 7:52 PM, Patrick Nappa via llvm-dev wrote: > > Hi all, > > I'm currently in the process of updating the Kaleidoscope tutorials (first > and foremost, the ORC/BuildingAJIT ones), and I've noticed a fair few 404s > which are lingering within the current visible documentation. Some of these > don't seem to have linked to existing pages for a while. > > I was wondering if there was a way to set up a check in the buildbot to > ensure that documentation doesn't break between builds? I'm happy to fix > the current dead links I've found (see below) but thought it might be wise > to set up a more automated approach in the future. Does anyone have any > tips on how I'd go about doing this/if this should be set up at all? > > I ran a web crawler to find each of the dead links (this may not be > exhaustive), and they are as follows: > https://llvm.org/docs/TestSuiteMakefileGuide > https://llvm.org/docs/doxygen/structLICM.html > https://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression > https://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables > http://llvm.org/docs/lnt/modindex.html > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl6.html#user-defined-unary-operators > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl5.html#for-loop-expression > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl7.html#user-defined-local-variables > https://llvm.org/docs/tutorial/LangRef.html#instruction-reference > > https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl4.html#adding-a-jit-compiler > https://llvm.org/docs/tutorial/WritingAnLLVMPass.html > https://llvm.org/docs/tutorial/Passes.html > > https://llvm.org/docs/tutorial/ProgrammersManual.html#viewing-graphs-while-debugging-code > https://llvm.org/docs/tutorial/SourceLevelDebugging.html > https://llvm.org/docs/tutorial/Frontend/PerformanceTips.html > https://llvm.org/docs/tutorial/GetElementPtr.html > https://llvm.org/docs/tutorial/GarbageCollection.html > https://llvm.org/docs/tutorial/ExceptionHandling.html > https://www.llvm.org/docs/doxygen/structLICM.html > http://llvm.org/docs/TestSuiteMakefileGuide > http://llvm.org/docs/doxygen/structLICM.html > https://www.llvm.org/docs/TestSuiteMakefileGuide > http://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression > http://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables > > Some of these are trivial mistakes (i.e. > https://llvm.org/docs/tutorial/LangRef.html#instruction-reference -> > https://llvm.org/docs/LangRef.html#instruction-reference), and some > require a bit more inspection. > > Regards, > Patrick > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190829/fdf88c45/attachment-0001.html>