mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #27964 from dnephin/faster-validate
Faster validation scripts
This commit is contained in:
commit
f54339dfea
17 changed files with 179 additions and 138 deletions
4
Makefile
4
Makefile
|
@ -75,7 +75,7 @@ DOCKER_RUN_DOCKER := $(DOCKER_FLAGS) "$(DOCKER_IMAGE)"
|
||||||
default: binary
|
default: binary
|
||||||
|
|
||||||
all: build ## validate all checks, build linux binaries, run all tests\ncross build non-linux binaries and generate archives
|
all: build ## validate all checks, build linux binaries, run all tests\ncross build non-linux binaries and generate archives
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh
|
$(DOCKER_RUN_DOCKER) bash -c 'hack/validate/default && hack/make.sh'
|
||||||
|
|
||||||
binary: build ## build the linux binaries
|
binary: build ## build the linux binaries
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh binary
|
$(DOCKER_RUN_DOCKER) hack/make.sh binary
|
||||||
|
@ -133,7 +133,7 @@ tgz: build ## build the archives (.zip on windows and .tgz\notherwise) containin
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross tgz
|
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross tgz
|
||||||
|
|
||||||
validate: build ## validate DCO, Seccomp profile generation, gofmt,\n./pkg/ isolation, golint, tests, tomls, go vet and vendor
|
validate: build ## validate DCO, Seccomp profile generation, gofmt,\n./pkg/ isolation, golint, tests, tomls, go vet and vendor
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh validate-dco validate-default-seccomp validate-gofmt validate-pkg validate-lint validate-test validate-toml validate-vet validate-vendor
|
$(DOCKER_RUN_DOCKER) hack/validate/all
|
||||||
|
|
||||||
win: build ## cross build the binary for windows
|
win: build ## cross build the binary for windows
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh win
|
$(DOCKER_RUN_DOCKER) hack/make.sh win
|
||||||
|
|
|
@ -56,15 +56,6 @@ echo
|
||||||
|
|
||||||
# List of bundles to create when no argument is passed
|
# List of bundles to create when no argument is passed
|
||||||
DEFAULT_BUNDLES=(
|
DEFAULT_BUNDLES=(
|
||||||
validate-dco
|
|
||||||
validate-default-seccomp
|
|
||||||
validate-gofmt
|
|
||||||
validate-lint
|
|
||||||
validate-pkg
|
|
||||||
validate-test
|
|
||||||
validate-toml
|
|
||||||
validate-vet
|
|
||||||
|
|
||||||
binary-client
|
binary-client
|
||||||
binary-daemon
|
binary-daemon
|
||||||
dynbinary
|
dynbinary
|
||||||
|
|
59
hack/make/validate-dco
Normal file → Executable file
59
hack/make/validate-dco
Normal file → Executable file
|
@ -1,54 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#
|
||||||
source "${MAKEDIR}/.validate"
|
# This file is a stub. It exists because windowsRS1 calls this script directly
|
||||||
|
# instead of using a proper interface. It should be removed once windows CI is
|
||||||
adds=$(validate_diff --numstat | awk '{ s += $1 } END { print s }')
|
# fixed.
|
||||||
dels=$(validate_diff --numstat | awk '{ s += $2 } END { print s }')
|
#
|
||||||
#notDocs="$(validate_diff --numstat | awk '$3 !~ /^docs\// { print $3 }')"
|
$SCRIPTDIR/validate/dco
|
||||||
|
|
||||||
: ${adds:=0}
|
|
||||||
: ${dels:=0}
|
|
||||||
|
|
||||||
# "Username may only contain alphanumeric characters or dashes and cannot begin with a dash"
|
|
||||||
githubUsernameRegex='[a-zA-Z0-9][a-zA-Z0-9-]+'
|
|
||||||
|
|
||||||
# https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
|
|
||||||
dcoPrefix='Signed-off-by:'
|
|
||||||
dcoRegex="^(Docker-DCO-1.1-)?$dcoPrefix ([^<]+) <([^<>@]+@[^<>]+)>( \\(github: ($githubUsernameRegex)\\))?$"
|
|
||||||
|
|
||||||
check_dco() {
|
|
||||||
grep -qE "$dcoRegex"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ $adds -eq 0 -a $dels -eq 0 ]; then
|
|
||||||
echo '0 adds, 0 deletions; nothing to validate! :)'
|
|
||||||
else
|
|
||||||
commits=( $(validate_log --format='format:%H%n') )
|
|
||||||
badCommits=()
|
|
||||||
for commit in "${commits[@]}"; do
|
|
||||||
if [ -z "$(git log -1 --format='format:' --name-status "$commit")" ]; then
|
|
||||||
# no content (ie, Merge commit, etc)
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
if ! git log -1 --format='format:%B' "$commit" | check_dco; then
|
|
||||||
badCommits+=( "$commit" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ ${#badCommits[@]} -eq 0 ]; then
|
|
||||||
echo "Congratulations! All commits are properly signed with the DCO!"
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo "These commits do not have a proper '$dcoPrefix' marker:"
|
|
||||||
for commit in "${badCommits[@]}"; do
|
|
||||||
echo " - $commit"
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
echo 'Please amend each commit to include a properly formatted DCO marker.'
|
|
||||||
echo
|
|
||||||
echo 'Visit the following URL for information about the Docker DCO:'
|
|
||||||
echo ' https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work'
|
|
||||||
echo
|
|
||||||
} >&2
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
35
hack/make/validate-gofmt
Normal file → Executable file
35
hack/make/validate-gofmt
Normal file → Executable file
|
@ -1,30 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#
|
||||||
source "${MAKEDIR}/.validate"
|
# This file is a stub. It exists because windowsRS1 calls this script directly
|
||||||
|
# instead of using a proper interface. It should be removed once windows CI is
|
||||||
IFS=$'\n'
|
# fixed.
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
|
#
|
||||||
unset IFS
|
$SCRIPTDIR/validate/gofmt
|
||||||
|
|
||||||
badFiles=()
|
|
||||||
for f in "${files[@]}"; do
|
|
||||||
# we use "git show" here to validate that what's committed is formatted
|
|
||||||
if [ "$(git show "$VALIDATE_HEAD:$f" | gofmt -s -l)" ]; then
|
|
||||||
badFiles+=( "$f" )
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ ${#badFiles[@]} -eq 0 ]; then
|
|
||||||
echo 'Congratulations! All Go source files are properly formatted.'
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo "These files are not properly gofmt'd:"
|
|
||||||
for f in "${badFiles[@]}"; do
|
|
||||||
echo " - $f"
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
echo 'Please reformat the above files using "gofmt -s -w" and commit the result.'
|
|
||||||
echo
|
|
||||||
} >&2
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
|
|
37
hack/make/validate-pkg
Normal file → Executable file
37
hack/make/validate-pkg
Normal file → Executable file
|
@ -1,32 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
#
|
||||||
|
# This file is a stub. It exists because windowsRS1 calls this script directly
|
||||||
source "${MAKEDIR}/.validate"
|
# instead of using a proper interface. It should be removed once windows CI is
|
||||||
|
# fixed.
|
||||||
IFS=$'\n'
|
#
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'pkg/*.go' || true) )
|
$SCRIPTDIR/validate/pkg-imports
|
||||||
unset IFS
|
|
||||||
|
|
||||||
badFiles=()
|
|
||||||
for f in "${files[@]}"; do
|
|
||||||
IFS=$'\n'
|
|
||||||
badImports=( $(go list -e -f '{{ join .Deps "\n" }}' "$f" | sort -u | grep -vE '^github.com/docker/docker/pkg/' | grep -E '^github.com/docker/docker' || true) )
|
|
||||||
unset IFS
|
|
||||||
|
|
||||||
for import in "${badImports[@]}"; do
|
|
||||||
badFiles+=( "$f imports $import" )
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ ${#badFiles[@]} -eq 0 ]; then
|
|
||||||
echo 'Congratulations! "./pkg/..." is safely isolated from internal code.'
|
|
||||||
else
|
|
||||||
{
|
|
||||||
echo 'These files import internal code: (either directly or indirectly)'
|
|
||||||
for f in "${badFiles[@]}"; do
|
|
||||||
echo " - $f"
|
|
||||||
done
|
|
||||||
echo
|
|
||||||
} >&2
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
if [ -z "$VALIDATE_UPSTREAM" ]; then
|
if [ -z "$VALIDATE_UPSTREAM" ]; then
|
||||||
# this is kind of an expensive check, so let's not do this twice if we
|
# this is kind of an expensive check, so let's not do this twice if we
|
||||||
# are running more than one validate bundlescript
|
# are running more than one validate bundlescript
|
||||||
|
@ -7,11 +9,6 @@ if [ -z "$VALIDATE_UPSTREAM" ]; then
|
||||||
VALIDATE_REPO='https://github.com/docker/docker.git'
|
VALIDATE_REPO='https://github.com/docker/docker.git'
|
||||||
VALIDATE_BRANCH='master'
|
VALIDATE_BRANCH='master'
|
||||||
|
|
||||||
if [ "$TRAVIS" = 'true' -a "$TRAVIS_PULL_REQUEST" != 'false' ]; then
|
|
||||||
VALIDATE_REPO="https://github.com/${TRAVIS_REPO_SLUG}.git"
|
|
||||||
VALIDATE_BRANCH="${TRAVIS_BRANCH}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
VALIDATE_HEAD="$(git rev-parse --verify HEAD)"
|
VALIDATE_HEAD="$(git rev-parse --verify HEAD)"
|
||||||
|
|
||||||
git fetch -q "$VALIDATE_REPO" "refs/heads/$VALIDATE_BRANCH"
|
git fetch -q "$VALIDATE_REPO" "refs/heads/$VALIDATE_BRANCH"
|
8
hack/validate/all
Executable file
8
hack/validate/all
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Run all validation
|
||||||
|
|
||||||
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
. $SCRIPTDIR/default
|
||||||
|
. $SCRIPTDIR/vendor
|
55
hack/validate/dco
Executable file
55
hack/validate/dco
Executable file
|
@ -0,0 +1,55 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
|
adds=$(validate_diff --numstat | awk '{ s += $1 } END { print s }')
|
||||||
|
dels=$(validate_diff --numstat | awk '{ s += $2 } END { print s }')
|
||||||
|
#notDocs="$(validate_diff --numstat | awk '$3 !~ /^docs\// { print $3 }')"
|
||||||
|
|
||||||
|
: ${adds:=0}
|
||||||
|
: ${dels:=0}
|
||||||
|
|
||||||
|
# "Username may only contain alphanumeric characters or dashes and cannot begin with a dash"
|
||||||
|
githubUsernameRegex='[a-zA-Z0-9][a-zA-Z0-9-]+'
|
||||||
|
|
||||||
|
# https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
|
||||||
|
dcoPrefix='Signed-off-by:'
|
||||||
|
dcoRegex="^(Docker-DCO-1.1-)?$dcoPrefix ([^<]+) <([^<>@]+@[^<>]+)>( \\(github: ($githubUsernameRegex)\\))?$"
|
||||||
|
|
||||||
|
check_dco() {
|
||||||
|
grep -qE "$dcoRegex"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $adds -eq 0 -a $dels -eq 0 ]; then
|
||||||
|
echo '0 adds, 0 deletions; nothing to validate! :)'
|
||||||
|
else
|
||||||
|
commits=( $(validate_log --format='format:%H%n') )
|
||||||
|
badCommits=()
|
||||||
|
for commit in "${commits[@]}"; do
|
||||||
|
if [ -z "$(git log -1 --format='format:' --name-status "$commit")" ]; then
|
||||||
|
# no content (ie, Merge commit, etc)
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if ! git log -1 --format='format:%B' "$commit" | check_dco; then
|
||||||
|
badCommits+=( "$commit" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ ${#badCommits[@]} -eq 0 ]; then
|
||||||
|
echo "Congratulations! All commits are properly signed with the DCO!"
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "These commits do not have a proper '$dcoPrefix' marker:"
|
||||||
|
for commit in "${badCommits[@]}"; do
|
||||||
|
echo " - $commit"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
echo 'Please amend each commit to include a properly formatted DCO marker.'
|
||||||
|
echo
|
||||||
|
echo 'Visit the following URL for information about the Docker DCO:'
|
||||||
|
echo ' https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work'
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
false
|
||||||
|
fi
|
||||||
|
fi
|
14
hack/validate/default
Executable file
14
hack/validate/default
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Run default validation, exclude vendor because it's slow
|
||||||
|
|
||||||
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
. $SCRIPTDIR/dco
|
||||||
|
. $SCRIPTDIR/default-seccomp
|
||||||
|
. $SCRIPTDIR/gofmt
|
||||||
|
. $SCRIPTDIR/lint
|
||||||
|
. $SCRIPTDIR/pkg-imports
|
||||||
|
. $SCRIPTDIR/test-imports
|
||||||
|
. $SCRIPTDIR/toml
|
||||||
|
. $SCRIPTDIR/vet
|
5
hack/make/validate-default-seccomp → hack/validate/default-seccomp
Normal file → Executable file
5
hack/make/validate-default-seccomp → hack/validate/default-seccomp
Normal file → Executable file
|
@ -1,13 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source "${MAKEDIR}/.validate"
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'profiles/seccomp' || true) )
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'profiles/seccomp' || true) )
|
||||||
unset IFS
|
unset IFS
|
||||||
|
|
||||||
if [ ${#files[@]} -gt 0 ]; then
|
if [ ${#files[@]} -gt 0 ]; then
|
||||||
# We run vendor.sh to and see if we have a diff afterwards
|
# We run 'go generate' and see if we have a diff afterwards
|
||||||
go generate ./profiles/seccomp/ >/dev/null
|
go generate ./profiles/seccomp/ >/dev/null
|
||||||
# Let see if the working directory is clean
|
# Let see if the working directory is clean
|
||||||
diffs="$(git status --porcelain -- profiles/seccomp 2>/dev/null)"
|
diffs="$(git status --porcelain -- profiles/seccomp 2>/dev/null)"
|
31
hack/validate/gofmt
Executable file
31
hack/validate/gofmt
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
|
IFS=$'\n'
|
||||||
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
|
||||||
|
unset IFS
|
||||||
|
|
||||||
|
badFiles=()
|
||||||
|
for f in "${files[@]}"; do
|
||||||
|
# we use "git show" here to validate that what's committed is formatted
|
||||||
|
if [ "$(git show "$VALIDATE_HEAD:$f" | gofmt -s -l)" ]; then
|
||||||
|
badFiles+=( "$f" )
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ${#badFiles[@]} -eq 0 ]; then
|
||||||
|
echo 'Congratulations! All Go source files are properly formatted.'
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "These files are not properly gofmt'd:"
|
||||||
|
for f in "${badFiles[@]}"; do
|
||||||
|
echo " - $f"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
echo 'Please reformat the above files using "gofmt -s -w" and commit the result.'
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
false
|
||||||
|
fi
|
3
hack/make/validate-lint → hack/validate/lint
Normal file → Executable file
3
hack/make/validate-lint → hack/validate/lint
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source "${MAKEDIR}/.validate"
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' | grep -v '^api/types/' || true) )
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' | grep -v '^api/types/' || true) )
|
33
hack/validate/pkg-imports
Executable file
33
hack/validate/pkg-imports
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
|
IFS=$'\n'
|
||||||
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'pkg/*.go' || true) )
|
||||||
|
unset IFS
|
||||||
|
|
||||||
|
badFiles=()
|
||||||
|
for f in "${files[@]}"; do
|
||||||
|
IFS=$'\n'
|
||||||
|
badImports=( $(go list -e -f '{{ join .Deps "\n" }}' "$f" | sort -u | grep -vE '^github.com/docker/docker/pkg/' | grep -E '^github.com/docker/docker' || true) )
|
||||||
|
unset IFS
|
||||||
|
|
||||||
|
for import in "${badImports[@]}"; do
|
||||||
|
badFiles+=( "$f imports $import" )
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ${#badFiles[@]} -eq 0 ]; then
|
||||||
|
echo 'Congratulations! "./pkg/..." is safely isolated from internal code.'
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo 'These files import internal code: (either directly or indirectly)'
|
||||||
|
for f in "${badFiles[@]}"; do
|
||||||
|
echo " - $f"
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
} >&2
|
||||||
|
false
|
||||||
|
fi
|
6
hack/make/validate-test → hack/validate/test-imports
Normal file → Executable file
6
hack/make/validate-test → hack/validate/test-imports
Normal file → Executable file
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Make sure we're not using gos' Testing package any more in integration-cli
|
# Make sure we're not using gos' Testing package any more in integration-cli
|
||||||
|
|
||||||
source "${MAKEDIR}/.validate"
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'integration-cli/*.go' || true) )
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'integration-cli/*.go' || true) )
|
||||||
|
@ -25,7 +25,7 @@ for f in "${files[@]}"; do
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ ${#badFiles[@]} -eq 0 ]; then
|
if [ ${#badFiles[@]} -eq 0 ]; then
|
||||||
echo 'Congratulations! No testing.T found.'
|
echo 'Congratulations! No testing.T found.'
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo "These files use the wrong testing infrastructure:"
|
echo "These files use the wrong testing infrastructure:"
|
3
hack/make/validate-toml → hack/validate/toml
Normal file → Executable file
3
hack/make/validate-toml → hack/validate/toml
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source "${MAKEDIR}/.validate"
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'MAINTAINERS' || true) )
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'MAINTAINERS' || true) )
|
5
hack/make/validate-vendor → hack/validate/vendor
Normal file → Executable file
5
hack/make/validate-vendor → hack/validate/vendor
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source "${MAKEDIR}/.validate"
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'hack/vendor.sh' 'hack/.vendor-helpers.sh' 'vendor/' || true) )
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'hack/vendor.sh' 'hack/.vendor-helpers.sh' 'vendor/' || true) )
|
||||||
|
@ -24,4 +25,6 @@ if [ ${#files[@]} -gt 0 ]; then
|
||||||
else
|
else
|
||||||
echo 'Congratulations! All vendoring changes are done the right way.'
|
echo 'Congratulations! All vendoring changes are done the right way.'
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
echo 'No vendor changes in diff.'
|
||||||
fi
|
fi
|
3
hack/make/validate-vet → hack/validate/vet
Normal file → Executable file
3
hack/make/validate-vet → hack/validate/vet
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
source "${MAKEDIR}/.validate"
|
export SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source "${SCRIPTDIR}/.validate"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
|
files=( $(validate_diff --diff-filter=ACMR --name-only -- '*.go' | grep -v '^vendor/' || true) )
|
Loading…
Add table
Reference in a new issue