From 0baac2b43296123e0aadb21ab27052d6d52cc3c1 Mon Sep 17 00:00:00 2001 From: Sean Eagan Date: Wed, 27 Jan 2021 10:39:16 -0600 Subject: [PATCH] Gate against go formatting The `make test` target includes go formatting, if there is any unformatted code this will lead to a git diff, which the gates now check for. Change-Id: I52cffadb37c1d42081b56efcae2d977cc0f96f35 Signed-off-by: Sean Eagan --- Makefile | 4 ++++ playbooks/test-vino.yaml | 4 ++++ tools/git_diff_check | 26 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100755 tools/git_diff_check diff --git a/Makefile b/Makefile index fa5461a..dd40391 100644 --- a/Makefile +++ b/Makefile @@ -114,3 +114,7 @@ $(LINTER): $(TOOLBINDIR) $(TOOLBINDIR): mkdir -p $(TOOLBINDIR) + +.PHONY: check-git-diff +check-git-diff: + @./tools/git_diff_check \ No newline at end of file diff --git a/playbooks/test-vino.yaml b/playbooks/test-vino.yaml index 79b50f4..f60d5ba 100644 --- a/playbooks/test-vino.yaml +++ b/playbooks/test-vino.yaml @@ -59,6 +59,10 @@ make: chdir: "{{ zuul.project.src_dir }}" target: test + - name: Check git diff + make: + chdir: "{{ zuul.project.src_dir }}" + target: check-git-diff - name: Build Docker image make: chdir: "{{ zuul.project.src_dir }}" diff --git a/tools/git_diff_check b/tools/git_diff_check new file mode 100755 index 0000000..dafe29e --- /dev/null +++ b/tools/git_diff_check @@ -0,0 +1,26 @@ +#!/bin/bash + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# Update git index +git update-index -q --ignore-submodules --refresh + +# Evaluate git files for difference, if found print message and fail. +git diff --exit-code --ignore-submodules +if [ $? -ne 0 ] +then + echo "error: git diff found, please run make test" + exit 1 +fi + +echo "success: git diff not found"