Skip to content

Conversation

Copy link

Copilot AI commented Jun 30, 2025

Applied changes from open-telemetry/opentelemetry-java-instrumentation#14155 to make it easier to run lychee locally.

Changes Made

New Files:

  • .github/scripts/check-links.sh - Script that allows developers to run link checking locally using Docker with the same configuration used in CI
  • .github/scripts/dependencies.dockerfile - Contains lychee Docker image version for Renovate to auto-update
  • .github/workflows/reusable-check-links.yml - New workflow that uses the script instead of GitHub Actions lychee-action
  • .lychee.toml - Centralized lychee configuration with appropriate exclusions for this repository

Modified Files:

  • .github/workflows/build.yml - Updated to use new check-links workflow instead of markdown-link-check

Removed Files:

  • .github/workflows/reusable-markdown-link-check.yml - Replaced with the new approach

Benefits

  • Local Development: Developers can now easily run the same link checking locally with ./.github/scripts/check-links.sh
  • Consistency: Docker approach ensures identical behavior between CI and local environments
  • Maintainability: Version management is centralized in dependencies.dockerfile for Renovate auto-updates
  • Configuration: All lychee settings are centralized in .lychee.toml

Usage

To run link checking locally:

# Basic usage
./.github/scripts/check-links.sh

# With GitHub token for higher rate limits
GITHUB_TOKEN=your_token ./.github/scripts/check-links.sh

Requirements: Docker must be installed and running.

Fixes #27.

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:

  • activemq.apache.org
    • Triggering command: /usr/local/bin/lychee --verbose --config .lychee.toml . (dns block)
  • 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)
  • cassandra.apache.org
    • 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.groovy-lang.org
    • Triggering command: /usr/local/bin/lychee --verbose --config .lychee.toml . (dns block)
  • docs.jboss.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)
  • groovy-lang.org
    • Triggering command: /usr/local/bin/lychee --verbose --config .lychee.toml . (dns block)
  • hadoop.apache.org
    • Triggering command: /usr/local/bin/lychee --verbose --config .lychee.toml . (dns block)
  • hbase.apache.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)
  • kafka.apache.org
    • 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)
  • solr.apache.org
    • Triggering command: /usr/local/bin/lychee --verbose --config .lychee.toml . (dns block)
  • www.eclipse.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 30, 2025
Copilot AI requested a review from trask June 30, 2025 00:40
Copilot finished work on behalf of trask June 30, 2025 00:40
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