diff --git a/tools/cmd/wcloud/types.go b/tools/cmd/wcloud/types.go index 16e6b2622..b02ee4c14 100644 --- a/tools/cmd/wcloud/types.go +++ b/tools/cmd/wcloud/types.go @@ -21,4 +21,15 @@ type Config struct { RepoPath string `json:"repo_path" yaml:"repo_path"` RepoKey string `json:"repo_key" yaml:"repo_key"` KubeconfigPath string `json:"kubeconfig_path" yaml:"kubeconfig_path"` + + Notifications []NotificationConfig `json:"notifications" yaml:"notifications"` + + // Globs of files not to change, relative to the route of the repo + ConfigFileBlackList []string `json:"config_file_black_list" yaml:"config_file_black_list"` +} + +// NotificationConfig describes how to send notifications +type NotificationConfig struct { + SlackWebhookURL string `json:"slack_webhook_url" yaml:"slack_webhook_url"` + SlackUsername string `json:"slack_username" yaml:"slack_username"` } diff --git a/tools/files-with-type b/tools/files-with-type index d969f4405..8238980c6 100755 --- a/tools/files-with-type +++ b/tools/files-with-type @@ -4,10 +4,8 @@ # # e.g. # $ files-with-type text/x-shellscript k8s infra -# -# Assumes `find`, `xargs`, and `file` are all installed. mime_type=$1 shift -find "$@" -print0 -type f |xargs -0 file --mime-type | grep "${mime_type}" | sed -e 's/:.*$//' +git ls-files "$@" | grep -vE '^vendor/' | xargs file --mime-type | grep "${mime_type}" | sed -e 's/:.*$//' diff --git a/tools/lint b/tools/lint index e807f8824..994d4c321 100755 --- a/tools/lint +++ b/tools/lint @@ -166,7 +166,7 @@ function lint_files { function list_files { if [ $# -gt 0 ]; then - find "$@" -type f | grep -vE '(^\./\.git|^\./\.pkg|/vendor/|/node_modules/|\.codecgen\.go$|\.generated\.go$)' + git ls-files --exclude-standard | grep -vE '(^|/)vendor/' else git diff --cached --name-only fi diff --git a/tools/test b/tools/test index 61791772b..f8d76c56b 100755 --- a/tools/test +++ b/tools/test @@ -1,6 +1,6 @@ #!/bin/bash -set -ex +set -e DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" GO_TEST_ARGS=( -tags netgo -cpu 4 -timeout 8m ) @@ -47,7 +47,8 @@ fi fail=0 -TESTDIRS=( $(find . -type f -name '*_test.go' -print0 | xargs -0 -n1 dirname | grep -vE '^\./(\.git|vendor|prog|experimental)/' | sort -u) ) +# NB: Relies on paths being prefixed with './'. +TESTDIRS=( $(git ls-files -- '*_test.go' | grep -vE '^(vendor|prog|experimental)/' | xargs -n1 dirname | sort -u | sed -e 's|^|./|') ) # If running on circle, use the scheduler to work out what tests to run on what shard if [ -n "$CIRCLECI" ] && [ -z "$NO_SCHEDULER" ] && [ -x "$DIR/sched" ]; then