Make it easier to run lychee locally #22
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR applies the changes from open-telemetry/opentelemetry-java-instrumentation#14155 to make it easier to run lychee link checking locally.
Changes Made
.lychee.toml- Configuration file with comprehensive exclusions for external services that commonly fail in CI environments.github/scripts/check-links.sh- Bash script to run lychee via Docker, extracting the version from dependencies.dockerfile for consistency.github/scripts/dependencies.dockerfile- Docker image reference for Renovate to auto-update lychee versions.github/workflows/reusable-markdown-link-check.ymlto use the new script-based approach.github/workflows/build.ymlto reference the new workflow nameBenefits
Developers can now run lychee locally using the same Docker image and configuration as CI:
Key Features
GITHUB_TOKENenvironment variable when availableTesting
The script has been tested locally and successfully processes all markdown files in the repository:
This brings the link checking tooling in line with the main instrumentation repository while being adapted for the contrib repository's specific needs.
Fixes #21.
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/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)api.scorecard.dev/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)app.fossa.com/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)cassandra.apache.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)central.sonatype.com/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)/usr/local/bin/lychee --verbose --config .lychee.toml --github-token dummy .(dns block)cloud-native.slack.com/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)cloud.google.com/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)contrib.rocks/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)developer.mend.io/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)docs.aws.amazon.com/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)docs.cloudfoundry.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)docs.groovy-lang.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)docs.jboss.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)docs.oracle.com/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)en.wikipedia.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)groovy-lang.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)hadoop.apache.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)hbase.apache.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)img.shields.io/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)kafka.apache.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)opentelemetry.io/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)plugins.jenkins.io/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)scorecard.devsemver.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)solr.apache.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)www.eclipse.org/usr/local/bin/lychee --verbose --config .lychee.toml .(dns block)www.jaegertracing.io/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.