From 6e901b9decc1be0602d80f74f2d26afc0287a8ba Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Tue, 11 Jun 2019 03:54:16 +0100 Subject: [PATCH] Check all commits in branch for examples (to trigger testing) (#14243) * Check for examples changes in all branch commits Review all the commits in the branch looking for changes inside content/*/examples and if any are found, trigger testing. This assumes that the main line branch is named "master" * Tidy examples testing wrapper - print diagnostics to standard error - check for a "Yes" value rather than for absence of "No" --- scripts/test_examples.sh | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/scripts/test_examples.sh b/scripts/test_examples.sh index baee55c6ba..16ee428777 100755 --- a/scripts/test_examples.sh +++ b/scripts/test_examples.sh @@ -3,21 +3,18 @@ set -e # List files changed in the commit to check -FILES=`git log -n 2 --name-only --format=""` +FILES=($( git diff "$( git merge-base --fork-point master )" --name-only )) TEST_EXAMPLES=No -# Currently examine en directory only, can extend to other lang when neded -for f in $FILES; do - if [[ $f =~ "content/en/examples/" ]]; then +# Check if examples folders (all locales) change in this branch +if printf -- '%s\n' "${FILES[@]}" | grep -qE '^"?content/[^/]+/examples/'; then TEST_EXAMPLES=Yes - break - fi -done +fi function install() { - if [[ $TEST_EXAMPLES == No ]]; then - echo "PR not touching examples, skipping example tests install" + if ! [[ $TEST_EXAMPLES == Yes ]]; then + echo "PR not touching examples, skipping example tests install" 1>&2 exit 0 fi @@ -42,8 +39,8 @@ function install() { } function run_test() { - if [[ $TEST_EXAMPLES == No ]]; then - echo "PR not touching examples, skipping example tests execution" + if ! [[ $TEST_EXAMPLES == Yes ]]; then + echo "PR not touching examples, skipping example tests execution" 1>&2 exit 0 fi go test -v k8s.io/website/content/en/examples