|
5 | 5 | export MSYS_NO_PATHCONV=1 # for Git Bash on Windows |
6 | 6 |
|
7 | 7 | SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
8 | | -LYCHEE_CONFIG="$SCRIPT_DIR/../../.lychee.toml" |
| 8 | +ROOT_DIR="$SCRIPT_DIR/../.." |
9 | 9 | DEPENDENCIES_DOCKERFILE="$SCRIPT_DIR/dependencies.dockerfile" |
10 | 10 |
|
| 11 | +# Parse command line arguments |
| 12 | +RELATIVE_ONLY=false |
| 13 | +MODIFIED_FILES="" |
| 14 | + |
| 15 | +while [[ $# -gt 0 ]]; do |
| 16 | + case $1 in |
| 17 | + --relative-only) |
| 18 | + RELATIVE_ONLY=true |
| 19 | + shift |
| 20 | + ;; |
| 21 | + *) |
| 22 | + # Treat any other arguments as file paths |
| 23 | + MODIFIED_FILES="$MODIFIED_FILES $1" |
| 24 | + shift |
| 25 | + ;; |
| 26 | + esac |
| 27 | +done |
| 28 | + |
11 | 29 | # Extract lychee version from dependencies.dockerfile |
12 | 30 | LYCHEE_VERSION=$(grep "FROM lycheeverse/lychee:" "$DEPENDENCIES_DOCKERFILE" | sed 's/.*FROM lycheeverse\/lychee:\([^ ]*\).*/\1/') |
13 | 31 |
|
| 32 | +# Determine target files/directories and config file |
| 33 | +TARGET="." |
| 34 | +LYCHEE_CONFIG=".github/scripts/.lychee.toml" |
| 35 | + |
| 36 | +if [[ "$RELATIVE_ONLY" == "true" ]]; then |
| 37 | + LYCHEE_CONFIG=".github/scripts/.lychee-relative.toml" |
| 38 | +fi |
| 39 | + |
| 40 | +if [[ -n "$MODIFIED_FILES" ]]; then |
| 41 | + TARGET="$MODIFIED_FILES" |
| 42 | +fi |
| 43 | + |
14 | 44 | # Build the lychee command with optional GitHub token |
15 | | -CMD="lycheeverse/lychee:$LYCHEE_VERSION --verbose --config $(basename "$LYCHEE_CONFIG")" |
| 45 | +CMD="lycheeverse/lychee:$LYCHEE_VERSION --verbose --config "$LYCHEE_CONFIG" |
16 | 46 |
|
17 | 47 | # Add GitHub token if available |
18 | 48 | if [[ -n "$GITHUB_TOKEN" ]]; then |
19 | 49 | CMD="$CMD --github-token $GITHUB_TOKEN" |
20 | 50 | fi |
21 | 51 |
|
22 | | -# Add the target directory |
23 | | -CMD="$CMD ." |
| 52 | +CMD="$CMD $TARGET" |
24 | 53 |
|
25 | 54 | # Determine if we should allocate a TTY |
26 | 55 | DOCKER_FLAGS="--rm --init" |
|
32 | 61 |
|
33 | 62 | # Run lychee with proper signal handling |
34 | 63 | # shellcheck disable=SC2086 |
35 | | -exec docker run $DOCKER_FLAGS -v "$(dirname "$LYCHEE_CONFIG")":/data -w /data $CMD |
| 64 | +exec docker run $DOCKER_FLAGS -v "$(dirname "$ROOT_DIR")":/data -w /data $CMD |
0 commit comments