From 0c0018ae1a4a9d5a7d8f0d86031c8661f87c2154 Mon Sep 17 00:00:00 2001 From: Aidan McAlister Date: Thu, 23 Oct 2025 12:45:53 -0400 Subject: [PATCH 1/5] lychee yodated --- .github/workflows/lychee.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index 696d160004..ffe159745f 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -15,7 +15,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: 🍈 Lychee Link Checker + - name: 🍈 Lychee Link Checker (First Run) id: lychee uses: lycheeverse/lychee-action@v2 with: @@ -39,6 +39,31 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.github_token }} + - name: 🔄 Retry Lychee Link Checker (Second Run for Timeouts) + id: lychee-retry + if: ${{ always() && steps.lychee.outputs.exit_code != 0 }} + uses: lycheeverse/lychee-action@v2 + with: + fail: false + output: ../lychee/out-retry.md + args: > + --cache + --max-cache-age 5m + --verbose + --no-progress + --accept 200,201,204,304,403,429 + --timeout 30 + --max-retries 10 + --retry-wait-time 10 + --exclude 'http://localhost.*' + --exclude 'https://localhost.*' + --exclude 'https://cockroachlabs.com' + --exclude '^/.*' + './**/*.md' './**/*.mdx' + workingDirectory: "content" + env: + GITHUB_TOKEN: ${{ secrets.github_token }} + - name: 📝 Clean up Lychee Report if: ${{ always() && github.event.pull_request.head.repo.fork == false }} run: | From 26e588737e3a6f63b96ff4cdd9afabd152667c31 Mon Sep 17 00:00:00 2001 From: Aidan McAlister Date: Thu, 23 Oct 2025 12:57:37 -0400 Subject: [PATCH 2/5] test link thats broken --- content/800-guides/160-tanstack-start.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/800-guides/160-tanstack-start.mdx b/content/800-guides/160-tanstack-start.mdx index f65cd8dda4..ffcd181a71 100644 --- a/content/800-guides/160-tanstack-start.mdx +++ b/content/800-guides/160-tanstack-start.mdx @@ -10,7 +10,7 @@ community_section: true ## Introduction -Prisma ORM simplifies database interactions, and [TanStack Start](https://tanstack.com/start/latest/docs/framework/react/guide/server-functions) offers a robust framework for building modern React applications. Together with [Prisma Postgres](https://www.prisma.io/postgres), they provide a seamless full-stack development experience with type-safe queries and efficient data management. +Prisma ORM simplifies database interactions, and [TanStack Start](https://tanstac.com/start/latest/docs/framework/react/guide/server-functions) offers a robust framework for building modern React applications. Together with [Prisma Postgres](https://www.prisma.io/postgres), they provide a seamless full-stack development experience with type-safe queries and efficient data management. This guide will walk you through integrating Prisma ORM with a Prisma Postgres database in a TanStack Start project from scratch. From 47d8cea3f77215f4832da06044565f8eb2c94915 Mon Sep 17 00:00:00 2001 From: Aidan McAlister Date: Thu, 23 Oct 2025 13:01:54 -0400 Subject: [PATCH 3/5] cache exclude on second try --- .github/workflows/lychee.yml | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml index ffe159745f..1f96a86a25 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -23,6 +23,7 @@ jobs: output: ../lychee/out.md args: > --cache + --cache-exclude-status 429,500,502,503,504 --max-cache-age 5m --verbose --no-progress @@ -52,6 +53,7 @@ jobs: --verbose --no-progress --accept 200,201,204,304,403,429 + --cache-exclude-status 429,500,502,503,504 --timeout 30 --max-retries 10 --retry-wait-time 10 @@ -67,20 +69,29 @@ jobs: - name: 📝 Clean up Lychee Report if: ${{ always() && github.event.pull_request.head.repo.fork == false }} run: | - if [ -f "lychee/out.md" ]; then + # Use retry results if available, otherwise use first run results + if [ -f "lychee/out-retry.md" ]; then + REPORT_FILE="lychee/out-retry.md" + NOTE="Links are cached for 5 minutes. Failed links (timeouts, rate limits) are retried in a second run with longer timeout." + elif [ -f "lychee/out.md" ]; then + REPORT_FILE="lychee/out.md" + NOTE="Links are cached for 5 minutes to avoid unnecessary requests, and speed up consecutive runs." + fi + + if [ -n "$REPORT_FILE" ]; then # Read the original output - ORIGINAL=$(cat lychee/out.md) - + ORIGINAL=$(cat "$REPORT_FILE") + # Create formatted output - cat > lychee/formatted.md << 'EOF' + cat > lychee/formatted.md << EOF ## 🍈 Lychee Link Check Report - > **Note:** Links are cached for 5 minutes to avoid unnecessary requests, and speed up consecutive runs. + > **Note:** $NOTE ### 📊 Results Overview EOF - + # Append the original content with title replacement echo "$ORIGINAL" | sed 's/^# Summary$//' | sed 's/^## Summary$//' >> lychee/formatted.md fi @@ -93,5 +104,12 @@ jobs: body-path: lychee/formatted.md - name: 🚫 Fail if broken links found - if: ${{ steps.lychee.outputs.exit_code != 0 }} - run: exit ${{ steps.lychee.outputs.exit_code }} + if: ${{ steps.lychee-retry.conclusion == 'success' && steps.lychee-retry.outputs.exit_code != 0 || steps.lychee-retry.conclusion == 'skipped' && steps.lychee.outputs.exit_code != 0 }} + run: | + if [ "${{ steps.lychee-retry.conclusion }}" == "success" ]; then + echo "Failing based on retry run results" + exit ${{ steps.lychee-retry.outputs.exit_code }} + else + echo "Failing based on first run results" + exit ${{ steps.lychee.outputs.exit_code }} + fi From f272c58e2131acc6775afeba01f64032aade8912 Mon Sep 17 00:00:00 2001 From: Aidan McAlister Date: Thu, 23 Oct 2025 13:05:12 -0400 Subject: [PATCH 4/5] tanstack link fixed --- content/800-guides/160-tanstack-start.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/800-guides/160-tanstack-start.mdx b/content/800-guides/160-tanstack-start.mdx index ffcd181a71..f65cd8dda4 100644 --- a/content/800-guides/160-tanstack-start.mdx +++ b/content/800-guides/160-tanstack-start.mdx @@ -10,7 +10,7 @@ community_section: true ## Introduction -Prisma ORM simplifies database interactions, and [TanStack Start](https://tanstac.com/start/latest/docs/framework/react/guide/server-functions) offers a robust framework for building modern React applications. Together with [Prisma Postgres](https://www.prisma.io/postgres), they provide a seamless full-stack development experience with type-safe queries and efficient data management. +Prisma ORM simplifies database interactions, and [TanStack Start](https://tanstack.com/start/latest/docs/framework/react/guide/server-functions) offers a robust framework for building modern React applications. Together with [Prisma Postgres](https://www.prisma.io/postgres), they provide a seamless full-stack development experience with type-safe queries and efficient data management. This guide will walk you through integrating Prisma ORM with a Prisma Postgres database in a TanStack Start project from scratch. From 6a2d63ac82d2f61abeeedf8e8ca33b8bf11106bc Mon Sep 17 00:00:00 2001 From: Aidan McAlister Date: Thu, 23 Oct 2025 13:47:05 -0400 Subject: [PATCH 5/5] lychee update --- .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 1f96a86a25..72cf3fa499 100644 --- a/.github/workflows/lychee.yml +++ b/.github/workflows/lychee.yml @@ -104,7 +104,7 @@ jobs: body-path: lychee/formatted.md - name: 🚫 Fail if broken links found - if: ${{ steps.lychee-retry.conclusion == 'success' && steps.lychee-retry.outputs.exit_code != 0 || steps.lychee-retry.conclusion == 'skipped' && steps.lychee.outputs.exit_code != 0 }} + if: ${{ steps.lychee-retry.conclusion == 'success' && steps.lychee-retry.outputs.exit_code != 0 || steps.lychee-retry.conclusion == 'failure' }} run: | if [ "${{ steps.lychee-retry.conclusion }}" == "success" ]; then echo "Failing based on retry run results"