Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/scripts/dependencies.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# this file exists so that Renovate can auto-update docker image versions that are then used elsewhere

FROM lycheeverse/lychee:sha-2aa22f8@sha256:2e3786630482c41f9f2dd081e06d7da1c36d66996e8cf6573409b8bc418d48c4 AS lychee
35 changes: 35 additions & 0 deletions .github/scripts/link-check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

set -e

export MSYS_NO_PATHCONV=1 # for Git Bash on Windows

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
LYCHEE_CONFIG="$SCRIPT_DIR/../../.lychee.toml"
DEPENDENCIES_DOCKERFILE="$SCRIPT_DIR/dependencies.dockerfile"

# Extract lychee version from dependencies.dockerfile
LYCHEE_VERSION=$(grep "FROM lycheeverse/lychee:" "$DEPENDENCIES_DOCKERFILE" | sed 's/.*FROM lycheeverse\/lychee:\([^ ]*\).*/\1/')

# Build the lychee command with optional GitHub token
CMD="lycheeverse/lychee:$LYCHEE_VERSION --verbose --config $(basename "$LYCHEE_CONFIG")"

# Add GitHub token if available
if [[ -n "$GITHUB_TOKEN" ]]; then
CMD="$CMD --github-token $GITHUB_TOKEN"
fi

# Add the target directory
CMD="$CMD ."

# Determine if we should allocate a TTY
DOCKER_FLAGS="--rm --init"
if [[ -t 0 ]]; then
DOCKER_FLAGS="$DOCKER_FLAGS -it"
else
DOCKER_FLAGS="$DOCKER_FLAGS -i"
fi

# Run lychee with proper signal handling
# shellcheck disable=SC2086
exec docker run $DOCKER_FLAGS -v "$(dirname "$LYCHEE_CONFIG")":/data -w /data $CMD
10 changes: 7 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,12 @@ jobs:
name: integration-test-results
path: jmx-metrics/build/reports/tests/integrationTest

markdown-link-check:
uses: ./.github/workflows/reusable-markdown-link-check.yml
link-check:
# release branches are excluded to avoid unnecessary maintenance if external links break
# (and also because the README.md might need update on release branches before the release
# download has been published)
if: "!startsWith(github.ref_name, 'release/')"
uses: ./.github/workflows/reusable-link-check.yml

markdown-lint-check:
uses: ./.github/workflows/reusable-markdown-lint.yml
Expand All @@ -142,7 +146,7 @@ jobs:
# and so would not short-circuit if used in the second-last position
name: publish-snapshots${{ (github.ref_name != 'main' || github.repository != 'open-telemetry/opentelemetry-java-contrib') && ' (skipped)' || '' }}
needs:
# intentionally not blocking snapshot publishing on markdown-link-check or misspell-check
# intentionally not blocking snapshot publishing on link-check or misspell-check
- build
- integration-test
runs-on: ubuntu-latest
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/reusable-link-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Reusable - Link check

on:
workflow_call:

permissions:
contents: read

jobs:
link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Link check
env:
GITHUB_TOKEN: ${{ github.token }}
run: ./.github/scripts/link-check.sh
23 changes: 0 additions & 23 deletions .github/workflows/reusable-markdown-link-check.yml

This file was deleted.

16 changes: 16 additions & 0 deletions .lychee.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
timeout = 30
retry_wait_time = 5
max_retries = 6
max_concurrency = 4

# Check link anchors
include_fragments = true

# excluding links to pull requests and issues is done for performance
# sonatype snapshots are currrently unbrowseable
exclude = [
"^https://github.com/open-telemetry/opentelemetry-java-contrib/(issues|pull)/\\d+$",
'^https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/io/opentelemetry/contrib/$',
]


Loading