From 511d7ef22ed5bd7d81a3e25f56a1807beef85b61 Mon Sep 17 00:00:00 2001 From: Sean Eagan Date: Wed, 27 Jan 2021 11:22:38 -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. Signed-off-by: Sean Eagan Change-Id: If3d6b8cb11e88d6fd4773ae6c2913288dfec12e2 --- Makefile | 4 ++++ playbooks/test-sip.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 aced825..4d9b045 100644 --- a/Makefile +++ b/Makefile @@ -116,3 +116,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-sip.yaml b/playbooks/test-sip.yaml index 6c0fca6..09f4c47 100644 --- a/playbooks/test-sip.yaml +++ b/playbooks/test-sip.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..e3738fe --- /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-files --quiet --ignore-submodules +if [ $? -ne 0 ] +then + echo "git diff found modified test cases, please run make test" + exit 1 +fi + +echo "no git diff detected, make target completed successfully"