Skip to content

Conversation

Copy link

Copilot AI commented Jun 29, 2025

Apply the changes from open-telemetry/opentelemetry-java-instrumentation#14155 to enable local execution of lychee link checking.

Changes Made

Replaced lychee-action with Docker-based script approach:

  1. Created lychee.toml - Configuration file containing only properties that were used in the GitHub workflow:

    • include_fragments = true
    • max_retries = 6
    • max_concurrency = 1
    • Exclude pattern for issues/PRs: ^https://github.com/open-telemetry/opentelemetry-java-contrib/(issues|pull)/\d+$
  2. Created .github/scripts/check-links.sh - Executable script for local Docker-based lychee execution:

    • Automatically handles GitHub token if available via GITHUB_TOKEN environment variable
    • Proper TTY handling for both interactive and non-interactive use
    • Extracts lychee version from dependencies.dockerfile for consistency
  3. Created .github/scripts/dependencies.dockerfile - Enables Renovate to auto-update lychee Docker image versions

  4. Updated workflows:

    • Renamed reusable-markdown-link-check.yml to reusable-check-links.yml
    • Replaced lychee-action usage with script execution
    • Updated build.yml to reference the new workflow name

Usage

The link checker can now be run locally with:

./.github/scripts/check-links.sh

Or with a GitHub token for higher rate limits:

GITHUB_TOKEN=your_token ./.github/scripts/check-links.sh

Benefits

  • ✅ Enables local development and testing of link checking
  • ✅ Maintains all existing functionality and configuration
  • ✅ Provides consistent behavior between CI and local execution
  • ✅ Allows Renovate to automatically update lychee versions

Fixes #13.

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api.scorecard.dev
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • app.fossa.com
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • central.sonatype.com
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • cloud-native.slack.com
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • cloud.google.com
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • contrib.rocks
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • developer.mend.io
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • docs.aws.amazon.com
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • docs.cloudfoundry.org
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • docs.oracle.com
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • en.wikipedia.org
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • img.shields.io
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • opentelemetry.io
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • plugins.jenkins.io
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • scorecard.dev
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • semver.org
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)
  • www.jaegertracing.io
    • Triggering command: /usr/local/bin/lychee --verbose --config ./lychee.toml . (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copilot AI changed the title [WIP] Make it easier to run lychee locally Make it easier to run lychee locally Jun 29, 2025
Copilot AI requested a review from trask June 29, 2025 23:36
Copilot finished work on behalf of trask June 29, 2025 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make it easier to run lychee locally

3 participants