diff --git a/.github/workflows/static_checks_etc.yml b/.github/workflows/static_checks_etc.yml index 0e5e8e6b47b..10d14258256 100644 --- a/.github/workflows/static_checks_etc.yml +++ b/.github/workflows/static_checks_etc.yml @@ -136,7 +136,7 @@ jobs: - name: Run golangci-lint if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true' - run: $(go env GOPATH)/bin/golangci-lint run go/... + run: $(go env GOPATH)/bin/golangci-lint run go/... || exit 1 - name: Run go mod tidy if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.go_files == 'true' @@ -156,19 +156,19 @@ jobs: - name: check_make_parser if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.parser_changes == 'true' run: | - tools/check_make_parser.sh + tools/check_make_parser.sh || exit 1 ## Sizegen - name: check_make_sizegen if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.sizegen == 'true' run: | - tools/check_make_sizegen.sh + tools/check_make_sizegen.sh || exit 1 ## Visitor - name: check_make_visitor if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.visitor == 'true' run: | - misc/git/hooks/asthelpers + misc/git/hooks/asthelpers || exit 1 ## Docker - name: run ensure_bootstrap_version @@ -182,4 +182,4 @@ jobs: - name: check_make_proto if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true' run: | - tools/check_make_proto.sh + tools/check_make_proto.sh || exit 1 diff --git a/tools/check_make_sizegen.sh b/tools/check_make_sizegen.sh index 787ed43da49..8443c6d8e44 100755 --- a/tools/check_make_sizegen.sh +++ b/tools/check_make_sizegen.sh @@ -1,49 +1,22 @@ #!/bin/bash + # # Validate that the current version of the generated cache_size files match the output # generated by sizegen. # -# This is used in Travis to verify that the currently committed version was -# generated with the proper cache_size files. source build.env -TMP="/tmp/cached_size.$$.go" -ALL_FILES=$(find . -name "cached_size.go") - -set +e - -goimports -local vitess.io/vitess -w $ALL_FILES - -for SRC in $ALL_FILES -do - TMP="/tmp/"$(echo "$SRC" | sed 's/\//_/g' | sed "s/cached_size.go/cached_size_$$.go/g") - mv "$SRC" "$TMP" -done +first_output=$(git status --porcelain) make sizegen -STATUS=0 - -for SRC in $ALL_FILES -do - TMP="/tmp/"$(echo "$SRC" | sed 's/\//_/g' | sed "s/cached_size.go/cached_size_$$.go/g") - - if [ ! -f "$SRC" ]; then - mv "$TMP" "$SRC" - continue - fi - - if ! diff -q "$SRC" "$TMP" > /dev/null ; then - echo "ERROR: Regenerated file for $SRC does not match the current version:" - diff -u "$SRC" "$TMP" - - echo - echo "Please re-run 'make sizegen' to generate." - STATUS=1 - fi - mv "$TMP" "$SRC" -done +second_output=$(git status --porcelain) -exit $STATUS +diff=$(diff <( echo "$first_output") <( echo "$second_output")) +if [[ "$diff" != "" ]]; then + echo "ERROR: Regenerated cached_size files do not match the current version." + echo -e "List of files containing differences:\n$diff" + exit 1 +fi