<div><div dir="auto">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.</div></div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">-Alex</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 28, 2019 at 9:52 PM Patrick Nappa via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi all,</div><div><br></div><div>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.</div><div><br></div><div>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?<br></div><div><br></div><div>I ran a web crawler to find each of the dead links (this may not be exhaustive), and they are as follows: <br></div><div><span style="font-family:monospace"><a href="https://llvm.org/docs/TestSuiteMakefileGuide" target="_blank">https://llvm.org/docs/TestSuiteMakefileGuide</a></span><br><span style="font-family:monospace"><a href="https://llvm.org/docs/doxygen/structLICM.html" target="_blank">https://llvm.org/docs/doxygen/structLICM.html</a><br><a href="https://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression" target="_blank">https://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression</a><br><a href="https://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables" target="_blank">https://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables</a><br><a href="http://llvm.org/docs/lnt/modindex.html" target="_blank">http://llvm.org/docs/lnt/modindex.html</a><br><a href="https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl6.html#user-defined-unary-operators" target="_blank">https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl6.html#user-defined-unary-operators</a><br><a href="https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl5.html#for-loop-expression" target="_blank">https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl5.html#for-loop-expression</a><br><a href="https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl7.html#user-defined-local-variables" target="_blank">https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl7.html#user-defined-local-variables</a><br><a href="https://llvm.org/docs/tutorial/LangRef.html#instruction-reference" target="_blank">https://llvm.org/docs/tutorial/LangRef.html#instruction-reference</a><br><a href="https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl4.html#adding-a-jit-compiler" target="_blank">https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl4.html#adding-a-jit-compiler</a><br><a href="https://llvm.org/docs/tutorial/WritingAnLLVMPass.html" target="_blank">https://llvm.org/docs/tutorial/WritingAnLLVMPass.html</a><br><a href="https://llvm.org/docs/tutorial/Passes.html" target="_blank">https://llvm.org/docs/tutorial/Passes.html</a><br><a href="https://llvm.org/docs/tutorial/ProgrammersManual.html#viewing-graphs-while-debugging-code" target="_blank">https://llvm.org/docs/tutorial/ProgrammersManual.html#viewing-graphs-while-debugging-code</a><br><a href="https://llvm.org/docs/tutorial/SourceLevelDebugging.html" target="_blank">https://llvm.org/docs/tutorial/SourceLevelDebugging.html</a><br><a href="https://llvm.org/docs/tutorial/Frontend/PerformanceTips.html" target="_blank">https://llvm.org/docs/tutorial/Frontend/PerformanceTips.html</a><br><a href="https://llvm.org/docs/tutorial/GetElementPtr.html" target="_blank">https://llvm.org/docs/tutorial/GetElementPtr.html</a><br><a href="https://llvm.org/docs/tutorial/GarbageCollection.html" target="_blank">https://llvm.org/docs/tutorial/GarbageCollection.html</a><br><a href="https://llvm.org/docs/tutorial/ExceptionHandling.html" target="_blank">https://llvm.org/docs/tutorial/ExceptionHandling.html</a><br><a href="https://www.llvm.org/docs/doxygen/structLICM.html" target="_blank">https://www.llvm.org/docs/doxygen/structLICM.html</a><br><a href="http://llvm.org/docs/TestSuiteMakefileGuide" target="_blank">http://llvm.org/docs/TestSuiteMakefileGuide</a><br><a href="http://llvm.org/docs/doxygen/structLICM.html" target="_blank">http://llvm.org/docs/doxygen/structLICM.html</a><br><a href="https://www.llvm.org/docs/TestSuiteMakefileGuide" target="_blank">https://www.llvm.org/docs/TestSuiteMakefileGuide</a><br><a href="http://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression" target="_blank">http://llvm.org/docs/tutorial/LangImpl5.html#for-loop-expression</a><br><a href="http://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables" target="_blank">http://llvm.org/docs/tutorial/LangImpl7.html#user-defined-local-variables</a></span> </div><div><br></div><div>Some of these are trivial mistakes (i.e. <a href="https://llvm.org/docs/tutorial/LangRef.html#instruction-reference" target="_blank">https://llvm.org/docs/tutorial/LangRef.html#instruction-reference</a> -> <a href="https://llvm.org/docs/LangRef.html#instruction-reference" target="_blank">https://llvm.org/docs/LangRef.html#instruction-reference</a>), and some require a bit more inspection.<br></div><div><br></div><div>Regards,</div><div>Patrick<br></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>