diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index b6e18b7fd54..e9da4f59bfe 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -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. -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). diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml new file mode 100644 index 00000000000..18ceb2d1b37 --- /dev/null +++ b/.github/workflows/check-links.yml @@ -0,0 +1,120 @@ +# 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 diff --git a/README.md b/README.md index edbf2dfdb54..f0d5b16cb7f 100644 --- a/README.md +++ b/README.md @@ -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 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). ## Support diff --git a/docs/source/deployment/cluster.rst b/docs/source/deployment/cluster.rst index 467fda90f46..ab9e03874e7 100644 --- a/docs/source/deployment/cluster.rst +++ b/docs/source/deployment/cluster.rst @@ -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. .. _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/ .. _apptainer: https://apptainer.org/ .. _documentation: https://www.apptainer.org/docs/admin/main/installation.html#install-ubuntu-packages