From 61d72d4da08f162d160625bf39a54e4c22159a4f Mon Sep 17 00:00:00 2001 From: Kelly Guo Date: Wed, 29 Oct 2025 16:25:33 -0700 Subject: [PATCH 1/4] Fixes broken links in docs --- .github/ISSUE_TEMPLATE/question.md | 2 +- README.md | 2 +- docs/source/deployment/cluster.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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/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 From 4626c611e74c5093349a1605eacc9eacd51fe061 Mon Sep 17 00:00:00 2001 From: Kelly Guo Date: Wed, 29 Oct 2025 16:26:53 -0700 Subject: [PATCH 2/4] Adds automated job for checking valid links --- .github/workflows/check-links.yml | 165 ++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 .github/workflows/check-links.yml diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml new file mode 100644 index 00000000000..541b1e31ddd --- /dev/null +++ b/.github/workflows/check-links.yml @@ -0,0 +1,165 @@ +# 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: Parse and format results + if: always() + run: | + if [ -f ./lychee-output.md ]; then + echo "## Link Checker Results" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + cat ./lychee-output.md >> $GITHUB_STEP_SUMMARY + + # Also output to console + echo "========================================" + echo "Link Checker Results:" + echo "========================================" + cat ./lychee-output.md + echo "========================================" + else + echo "No output file generated" + fi + + - name: Upload link checker report + if: always() + uses: actions/upload-artifact@v4 + with: + name: link-checker-report + path: lychee-output.md + retention-days: 30 + + - name: Comment PR with results + if: failure() && github.event_name == 'pull_request' + uses: actions/github-script@v7 + with: + script: | + const fs = require('fs'); + let report = ''; + + try { + if (fs.existsSync('./lychee-output.md')) { + report = fs.readFileSync('./lychee-output.md', 'utf8'); + } + } catch (err) { + report = 'Could not read link checker report.'; + } + + const body = `## ⚠️ Broken Links Detected + + The link checker has found broken or invalid links in the documentation. + + ### Results: + ${report} + + Please fix these broken links before merging. You can run the link checker locally using: + \`\`\`bash + docker run --rm -v $(pwd):/workdir lycheeverse/lychee --verbose --no-progress '*.md' '**/*.md' 'docs/**/*.rst' 'docs/**/*.html' + \`\`\` + + Or install lychee locally: https://github.com/lycheeverse/lychee#installation + `; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: body + }); + + - 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 + From b78acb6875e630138adab9fdb7da2a3da8df3cff Mon Sep 17 00:00:00 2001 From: Kelly Guo Date: Wed, 29 Oct 2025 16:29:18 -0700 Subject: [PATCH 3/4] update job --- .github/workflows/check-links.yml | 65 ++++++------------------------- 1 file changed, 11 insertions(+), 54 deletions(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 541b1e31ddd..24706f7ced4 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -92,70 +92,26 @@ jobs: # Optional: Use GitHub token for authenticated requests (higher rate limit) token: ${{ secrets.GITHUB_TOKEN }} - - name: Parse and format results + - 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 - - # Also output to console - echo "========================================" - echo "Link Checker Results:" - echo "========================================" - cat ./lychee-output.md - echo "========================================" else echo "No output file generated" + echo "========================================" fi - - name: Upload link checker report - if: always() - uses: actions/upload-artifact@v4 - with: - name: link-checker-report - path: lychee-output.md - retention-days: 30 - - - name: Comment PR with results - if: failure() && github.event_name == 'pull_request' - uses: actions/github-script@v7 - with: - script: | - const fs = require('fs'); - let report = ''; - - try { - if (fs.existsSync('./lychee-output.md')) { - report = fs.readFileSync('./lychee-output.md', 'utf8'); - } - } catch (err) { - report = 'Could not read link checker report.'; - } - - const body = `## ⚠️ Broken Links Detected - - The link checker has found broken or invalid links in the documentation. - - ### Results: - ${report} - - Please fix these broken links before merging. You can run the link checker locally using: - \`\`\`bash - docker run --rm -v $(pwd):/workdir lycheeverse/lychee --verbose --no-progress '*.md' '**/*.md' 'docs/**/*.rst' 'docs/**/*.html' - \`\`\` - - Or install lychee locally: https://github.com/lycheeverse/lychee#installation - `; - - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: body - }); - - name: Fail job if broken links found if: failure() run: | @@ -163,3 +119,4 @@ jobs: echo "Please review the link checker report above and fix all broken links." exit 1 + From fed6dcea371186dbf5036a175a2901067746e032 Mon Sep 17 00:00:00 2001 From: Kelly Guo Date: Wed, 29 Oct 2025 16:47:22 -0700 Subject: [PATCH 4/4] format --- .github/workflows/check-links.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-links.yml b/.github/workflows/check-links.yml index 24706f7ced4..18ceb2d1b37 100644 --- a/.github/workflows/check-links.yml +++ b/.github/workflows/check-links.yml @@ -36,7 +36,7 @@ jobs: check-links: name: Check for Broken Links runs-on: ubuntu-latest - + steps: - name: Checkout code uses: actions/checkout@v4 @@ -102,7 +102,7 @@ jobs: 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 @@ -118,5 +118,3 @@ jobs: echo "❌ Broken links were found in the documentation!" echo "Please review the link checker report above and fix all broken links." exit 1 - -