From ced55badeb26ec4e47145c2cfcb3e58efe2bb46d Mon Sep 17 00:00:00 2001 From: Vamshi-Microsoft Date: Thu, 19 Jun 2025 11:10:51 +0530 Subject: [PATCH] feat: Add Broken Link Checker workflow for Markdown files --- .github/workflows/broken-links-checker.yml | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/broken-links-checker.yml diff --git a/.github/workflows/broken-links-checker.yml b/.github/workflows/broken-links-checker.yml new file mode 100644 index 000000000..cc0e7bc34 --- /dev/null +++ b/.github/workflows/broken-links-checker.yml @@ -0,0 +1,49 @@ +name: Broken Link Checker + +on: + pull_request: + paths: + - '**/*.md' + workflow_dispatch: + +jobs: + markdown-link-check: + name: Check Markdown Broken Links + runs-on: ubuntu-latest + + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Get Added/Modified Markdown Files (PR only) + id: changed-files + if: github.event_name == 'pull_request' + run: | + git fetch origin ${{ github.base_ref }} + files=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep '\.md$' || true) + echo "md_files<> $GITHUB_OUTPUT + echo "$files" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - name: Check Broken Links in Added/Modified Files (PR) + if: github.event_name == 'pull_request' && steps.changed-files.outputs.md_files != '' + uses: lycheeverse/lychee-action@v2.4.1 + with: + args: > + --verbose --exclude-mail --no-progress --exclude ^https?:// + ${{ steps.changed-files.outputs.md_files }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Check Broken Links in Entire Repo (Manual) + if: github.event_name == 'workflow_dispatch' + uses: lycheeverse/lychee-action@v2.4.1 + with: + args: > + --verbose --exclude-mail --no-progress --exclude ^https?:// + '**/*.md' + output: lychee/out.md + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}