Skip to content

DC-5259 Added Lychee Link Checker #45

DC-5259 Added Lychee Link Checker

DC-5259 Added Lychee Link Checker #45

Workflow file for this run

name: 🍈 Lychee
on: [pull_request]
jobs:
check-links:
name: Check links
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: 🍈 Lychee Link Checker
id: lychee
uses: lycheeverse/lychee-action@v2
with:
fail: false
output: ../lychee/out.md
args: >
--cache
--max-cache-age 30s
--verbose
--no-progress
--accept 200,201,204,304,403,429
--timeout 20
--max-retries 5
--retry-wait-time 5
--max-concurrency 16
--exclude 'http://localhost.*'
--exclude 'https://localhost.*'
--exclude 'https://dev.mysql.com/.*'
--exclude 'https://www.mysql.com/.*'
--exclude 'https://www.gnu.org/.*'
--exclude 'https://www.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: |
if [ -f "lychee/out.md" ]; then
# Read the original output
ORIGINAL=$(cat lychee/out.md)
# Create formatted output
cat > lychee/formatted.md << 'EOF'
## 🍈 Lychee Link Check Report
> **Automated link validation** β€” All links in documentation have been checked for availability.
> **Note:** Links are cached for 6 hours to avoid unnecessary requests.
### πŸ“Š Results Overview
EOF
# Append the original content with title replacement
echo "$ORIGINAL" | sed 's/^# Summary$//' | sed 's/^## Summary$//' >> lychee/formatted.md
fi
- name: πŸ“ Comment Broken Links
if: ${{ always() && github.event.pull_request.head.repo.fork == false }}
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ github.event.pull_request.number }}
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 }}