Skip to content

Commit 9f7d37f

Browse files
authored
Adds automated job to check for broken links in documentation and fixes some links (#3888)
# Description Broken links often creep into the documentation without anyone noticing. This adds an automated job to check through links referenced in the docs and readmes to find any broken or outdated links. Additionally, fixes a few broken links that were discovered by the job. ## Type of change - Documentation update ## Checklist - [x] I have read and understood the [contribution guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html) - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [ ] I have added my name to the `CONTRIBUTORS.md` or my name already exists there <!-- As you go through the checklist above, you can mark something as done by putting an x character in it For example, - [x] I have done this task - [ ] I have not done this task -->
1 parent d83eebe commit 9f7d37f

File tree

4 files changed

+123
-3
lines changed

4 files changed

+123
-3
lines changed

.github/ISSUE_TEMPLATE/question.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Basic questions, related to robot learning, that are not bugs or feature request
1010

1111
Advanced/nontrivial questions, especially in areas where documentation is lacking, are very much welcome.
1212

13-
For questions that are related to running and understanding Isaac Sim, please post them at the official [Isaac Sim forums](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/isaac_sim_forums.html).
13+
For questions that are related to running and understanding Isaac Sim, please post them at the official [Isaac Sim forums](https://forums.developer.nvidia.com/c/omniverse/simulation/69).

.github/workflows/check-links.yml

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Copyright (c) 2022-2025, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
name: Check Documentation Links
7+
8+
on:
9+
# Run on pull requests that modify documentation
10+
pull_request:
11+
paths:
12+
- 'docs/**'
13+
- '**.md'
14+
- '.github/workflows/check-links.yml'
15+
# Run on pushes to main branches
16+
push:
17+
branches:
18+
- main
19+
- devel
20+
- 'release/**'
21+
paths:
22+
- 'docs/**'
23+
- '**.md'
24+
- '.github/workflows/check-links.yml'
25+
# Allow manual trigger
26+
workflow_dispatch:
27+
# Run weekly to catch external links that break over time
28+
schedule:
29+
- cron: '0 0 * * 0' # Every Sunday at midnight UTC
30+
31+
concurrency:
32+
group: ${{ github.workflow }}-${{ github.ref }}
33+
cancel-in-progress: true
34+
35+
jobs:
36+
check-links:
37+
name: Check for Broken Links
38+
runs-on: ubuntu-latest
39+
40+
steps:
41+
- name: Checkout code
42+
uses: actions/checkout@v4
43+
with:
44+
fetch-depth: 0
45+
46+
- name: Restore lychee cache
47+
uses: actions/cache@v4
48+
with:
49+
path: .lycheecache
50+
key: cache-lychee-${{ github.sha }}
51+
restore-keys: cache-lychee-
52+
53+
- name: Run Link Checker
54+
uses: lycheeverse/lychee-action@v2
55+
with:
56+
# Check all markdown files and documentation
57+
args: >-
58+
--verbose
59+
--no-progress
60+
--cache
61+
--max-cache-age 1d
62+
--exclude-path './docs/_build'
63+
--exclude-path './apps/warp-*'
64+
--exclude-path './logs'
65+
--exclude-path './outputs'
66+
--exclude-loopback
67+
--exclude '^file://'
68+
--exclude '^mailto:'
69+
--exclude 'localhost'
70+
--exclude '127\.0\.0\.1'
71+
--exclude 'example\.com'
72+
--exclude 'your-organization'
73+
--exclude 'YOUR_'
74+
--exclude 'yourdomain'
75+
--exclude 'user@'
76+
--exclude 'helm\.ngc\.nvidia\.com'
77+
--exclude 'slurm\.schedmd\.com'
78+
--max-retries 3
79+
--retry-wait-time 5
80+
--timeout 30
81+
--accept 200,201,202,203,204,206,301,302,303,307,308,429
82+
--scheme https
83+
--scheme http
84+
'*.md'
85+
'**/*.md'
86+
'docs/**/*.rst'
87+
'docs/**/*.html'
88+
# Output results to a file
89+
output: ./lychee-output.md
90+
# Fail action on broken links
91+
fail: true
92+
# Optional: Use GitHub token for authenticated requests (higher rate limit)
93+
token: ${{ secrets.GITHUB_TOKEN }}
94+
95+
- name: Print results to logs
96+
if: always()
97+
run: |
98+
echo "========================================"
99+
echo "Link Checker Results:"
100+
echo "========================================"
101+
if [ -f ./lychee-output.md ]; then
102+
cat ./lychee-output.md
103+
echo ""
104+
echo "========================================"
105+
106+
# Also add to GitHub step summary for easy viewing
107+
echo "## Link Checker Results" >> $GITHUB_STEP_SUMMARY
108+
echo "" >> $GITHUB_STEP_SUMMARY
109+
cat ./lychee-output.md >> $GITHUB_STEP_SUMMARY
110+
else
111+
echo "No output file generated"
112+
echo "========================================"
113+
fi
114+
115+
- name: Fail job if broken links found
116+
if: failure()
117+
run: |
118+
echo "❌ Broken links were found in the documentation!"
119+
echo "Please review the link checker report above and fix all broken links."
120+
exit 1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ innovation in robotics and simulation.
8787
Please see the [troubleshooting](https://isaac-sim.github.io/IsaacLab/main/source/refs/troubleshooting.html) section for
8888
common fixes or [submit an issue](https://github.com/isaac-sim/IsaacLab/issues).
8989

90-
For issues related to Isaac Sim, we recommend checking its [documentation](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html)
90+
For issues related to Isaac Sim, we recommend checking its [documentation](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html)
9191
or opening a question on its [forums](https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67).
9292

9393
## Support

docs/source/deployment/cluster.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ ANYmal rough terrain locomotion training can be executed with the following comm
204204
The above will, in addition, also render videos of the training progress and store them under ``isaaclab/logs`` directory.
205205

206206
.. _Singularity: https://docs.sylabs.io/guides/2.6/user-guide/index.html
207-
.. _ETH Zurich Euler: https://scicomp.ethz.ch/wiki/Euler
207+
.. _ETH Zurich Euler: https://www.gdc-docs.ethz.ch/EulerManual/site/overview/
208208
.. _PBS Official Site: https://openpbs.org/
209209
.. _apptainer: https://apptainer.org/
210210
.. _documentation: https://www.apptainer.org/docs/admin/main/installation.html#install-ubuntu-packages

0 commit comments

Comments
 (0)