Unverified Commit 9f7d37f5 authored by Kelly Guo's avatar Kelly Guo Committed by GitHub

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
-->
parent d83eebe8
...@@ -10,4 +10,4 @@ Basic questions, related to robot learning, that are not bugs or feature request ...@@ -10,4 +10,4 @@ Basic questions, related to robot learning, that are not bugs or feature request
Advanced/nontrivial questions, especially in areas where documentation is lacking, are very much welcome. Advanced/nontrivial questions, especially in areas where documentation is lacking, are very much welcome.
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). 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).
# Copyright (c) 2022-2025, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
# All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
name: Check Documentation Links
on:
# Run on pull requests that modify documentation
pull_request:
paths:
- 'docs/**'
- '**.md'
- '.github/workflows/check-links.yml'
# Run on pushes to main branches
push:
branches:
- main
- devel
- 'release/**'
paths:
- 'docs/**'
- '**.md'
- '.github/workflows/check-links.yml'
# Allow manual trigger
workflow_dispatch:
# Run weekly to catch external links that break over time
schedule:
- cron: '0 0 * * 0' # Every Sunday at midnight UTC
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-links:
name: Check for Broken Links
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Restore lychee cache
uses: actions/cache@v4
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
restore-keys: cache-lychee-
- name: Run Link Checker
uses: lycheeverse/lychee-action@v2
with:
# Check all markdown files and documentation
args: >-
--verbose
--no-progress
--cache
--max-cache-age 1d
--exclude-path './docs/_build'
--exclude-path './apps/warp-*'
--exclude-path './logs'
--exclude-path './outputs'
--exclude-loopback
--exclude '^file://'
--exclude '^mailto:'
--exclude 'localhost'
--exclude '127\.0\.0\.1'
--exclude 'example\.com'
--exclude 'your-organization'
--exclude 'YOUR_'
--exclude 'yourdomain'
--exclude 'user@'
--exclude 'helm\.ngc\.nvidia\.com'
--exclude 'slurm\.schedmd\.com'
--max-retries 3
--retry-wait-time 5
--timeout 30
--accept 200,201,202,203,204,206,301,302,303,307,308,429
--scheme https
--scheme http
'*.md'
'**/*.md'
'docs/**/*.rst'
'docs/**/*.html'
# Output results to a file
output: ./lychee-output.md
# Fail action on broken links
fail: true
# Optional: Use GitHub token for authenticated requests (higher rate limit)
token: ${{ secrets.GITHUB_TOKEN }}
- name: Print results to logs
if: always()
run: |
echo "========================================"
echo "Link Checker Results:"
echo "========================================"
if [ -f ./lychee-output.md ]; then
cat ./lychee-output.md
echo ""
echo "========================================"
# Also add to GitHub step summary for easy viewing
echo "## Link Checker Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
cat ./lychee-output.md >> $GITHUB_STEP_SUMMARY
else
echo "No output file generated"
echo "========================================"
fi
- name: Fail job if broken links found
if: failure()
run: |
echo "❌ Broken links were found in the documentation!"
echo "Please review the link checker report above and fix all broken links."
exit 1
...@@ -87,7 +87,7 @@ innovation in robotics and simulation. ...@@ -87,7 +87,7 @@ innovation in robotics and simulation.
Please see the [troubleshooting](https://isaac-sim.github.io/IsaacLab/main/source/refs/troubleshooting.html) section for Please see the [troubleshooting](https://isaac-sim.github.io/IsaacLab/main/source/refs/troubleshooting.html) section for
common fixes or [submit an issue](https://github.com/isaac-sim/IsaacLab/issues). common fixes or [submit an issue](https://github.com/isaac-sim/IsaacLab/issues).
For issues related to Isaac Sim, we recommend checking its [documentation](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html) For issues related to Isaac Sim, we recommend checking its [documentation](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html)
or opening a question on its [forums](https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67). or opening a question on its [forums](https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67).
## Support ## Support
......
...@@ -204,7 +204,7 @@ ANYmal rough terrain locomotion training can be executed with the following comm ...@@ -204,7 +204,7 @@ ANYmal rough terrain locomotion training can be executed with the following comm
The above will, in addition, also render videos of the training progress and store them under ``isaaclab/logs`` directory. The above will, in addition, also render videos of the training progress and store them under ``isaaclab/logs`` directory.
.. _Singularity: https://docs.sylabs.io/guides/2.6/user-guide/index.html .. _Singularity: https://docs.sylabs.io/guides/2.6/user-guide/index.html
.. _ETH Zurich Euler: https://scicomp.ethz.ch/wiki/Euler .. _ETH Zurich Euler: https://www.gdc-docs.ethz.ch/EulerManual/site/overview/
.. _PBS Official Site: https://openpbs.org/ .. _PBS Official Site: https://openpbs.org/
.. _apptainer: https://apptainer.org/ .. _apptainer: https://apptainer.org/
.. _documentation: https://www.apptainer.org/docs/admin/main/installation.html#install-ubuntu-packages .. _documentation: https://www.apptainer.org/docs/admin/main/installation.html#install-ubuntu-packages
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment