DC-5259 Added Lychee Link Checker #45
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |