mirror of
https://github.com/moby/moby.git
synced 2026-01-11 10:41:43 +00:00
Merge pull request #51504 from vvoland/hack-check-module-replace
hack/validate: Check if replace rules are needed
This commit is contained in:
44
hack/validate/module-replace
Executable file
44
hack/validate/module-replace
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${SCRIPTDIR}/.validate"
|
||||
|
||||
IFS=$'\n'
|
||||
api_files=$(validate_diff --diff-filter=ACMR --name-only -- 'api/' || true)
|
||||
client_files=$(validate_diff --diff-filter=ACMR --name-only -- 'client/' || true)
|
||||
unset IFS
|
||||
|
||||
has_errors=0
|
||||
|
||||
cat go.mod
|
||||
|
||||
# Check if changes to ./api require a replace rule in go.mod
|
||||
if [ -n "${TEST_FORCE_VALIDATE:-}" ] || [ ${#api_files[@]} -gt 0 ]; then
|
||||
echo "Detected changes in ./api directory, checking for replace rule..."
|
||||
if ! go list -mod=readonly -m -json github.com/moby/moby/api | jq -e '.Replace'; then
|
||||
echo >&2 "ERROR: Changes detected in ./api but go.mod is missing a replace rule for github.com/moby/moby/api"
|
||||
echo >&2 "Please run ./hack/vendor.sh replace"
|
||||
has_errors=1
|
||||
else
|
||||
echo "✓ Found replace rule for github.com/moby/moby/api"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if changes to ./client require a replace rule in go.mod
|
||||
if [ -n "${TEST_FORCE_VALIDATE:-}" ] || [ ${#client_files[@]} -gt 0 ]; then
|
||||
echo "Detected changes in ./client directory, checking for replace rule..."
|
||||
if ! go list -mod=readonly -m -json github.com/moby/moby/client | jq -e '.Replace'; then
|
||||
echo >&2 "ERROR: Changes detected in ./client but go.mod is missing a replace rule for github.com/moby/moby/client"
|
||||
echo >&2 "Please run ./hack/vendor.sh replace"
|
||||
has_errors=1
|
||||
else
|
||||
echo "✓ Found replace rule for github.com/moby/moby/client"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $has_errors -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "PASS: Module replace rules are correct"
|
||||
Reference in New Issue
Block a user