From 27cecaed7c6b15fb3a9661dacfc35eb93b9459c1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Oct 2025 21:09:37 +0000 Subject: [PATCH 1/5] Initial plan From 1981403d4cb0503c810fc731cc88161bc2ed9da6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Oct 2025 21:12:41 +0000 Subject: [PATCH 2/5] Add lychee workflow for link checking in Markdown files Co-authored-by: egorsmkv <7875085+egorsmkv@users.noreply.github.com> --- .github/workflows/lychee.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/lychee.yml diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml new file mode 100644 index 0000000..d5a9120 --- /dev/null +++ b/.github/workflows/lychee.yml @@ -0,0 +1,30 @@ +name: Check Links + +on: + push: + branches: + - main + pull_request: + branches: + - main + schedule: + # Run weekly on Monday at 00:00 UTC + - cron: '0 0 * * 1' + workflow_dispatch: + +jobs: + check-links: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Link Checker + uses: lycheeverse/lychee-action@v2 + with: + # Check all markdown files in the repository + args: --verbose --no-progress --accept=200,204,429 '**/*.md' + # Fail action on broken links + fail: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From fc0ee02bf1cc56d26963ccfe20cab449aecbbd8e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Oct 2025 21:15:07 +0000 Subject: [PATCH 3/5] Improve lychee workflow: use retries instead of accepting rate limit errors Co-authored-by: egorsmkv <7875085+egorsmkv@users.noreply.github.com> --- .github/workflows/lychee.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index d5a9120..0804a91 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -23,7 +23,7 @@ jobs: uses: lycheeverse/lychee-action@v2 with: # Check all markdown files in the repository - args: --verbose --no-progress --accept=200,204,429 '**/*.md' + args: --verbose --no-progress --max-retries 3 '**/*.md' # Fail action on broken links fail: true env: From 4d2dd19ca8f7e6080b775e36402b21b7b0f4b012 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Oct 2025 21:16:18 +0000 Subject: [PATCH 4/5] Add accept parameter back with retries for better rate limit handling Co-authored-by: egorsmkv <7875085+egorsmkv@users.noreply.github.com> --- .github/workflows/lychee.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index 0804a91..a6a066b 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -23,7 +23,7 @@ jobs: uses: lycheeverse/lychee-action@v2 with: # Check all markdown files in the repository - args: --verbose --no-progress --max-retries 3 '**/*.md' + args: --verbose --no-progress --max-retries 3 --accept=200,204,429 '**/*.md' # Fail action on broken links fail: true env: From 8e2c768b9f2fb8138e7b0d15d2dbd01a2364d8de Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Oct 2025 21:18:12 +0000 Subject: [PATCH 5/5] Add explicit permissions to workflow for security best practices Co-authored-by: egorsmkv <7875085+egorsmkv@users.noreply.github.com> --- .github/workflows/lychee.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index a6a066b..f9df814 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -15,6 +15,8 @@ on: jobs: check-links: runs-on: ubuntu-latest + permissions: + contents: read steps: - name: Checkout repository uses: actions/checkout@v4