From aecc17d08bbc39ccc76bad4fc6e1bbfd88950436 Mon Sep 17 00:00:00 2001 From: "Tim St. Clair" Date: Mon, 19 Sep 2016 14:40:25 -0700 Subject: [PATCH] Ensure assets are rebuilt in presubmit --- Makefile | 7 +++++-- build/assets.sh | 12 ++++++++---- build/jenkins_e2e.sh | 9 +++++++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 996cf3e4..c47b377a 100644 --- a/Makefile +++ b/Makefile @@ -31,11 +31,14 @@ vet: @echo ">> vetting code" @$(GO) vet $(pkgs) -build: +build: assets @echo ">> building binaries" - @./build/assets.sh @./build/build.sh +assets: + @echo ">> building assets" + @./build/assets.sh + release: @echo ">> building release binaries" @RELEASE=true ./build/build.sh diff --git a/build/assets.sh b/build/assets.sh index 843efcbe..0eff872d 100755 --- a/build/assets.sh +++ b/build/assets.sh @@ -14,6 +14,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +set -e + GIT_ROOT=$(dirname "${BASH_SOURCE}")/.. ASSETS_INPUT_DIRS="$GIT_ROOT/pages/assets/js/... $GIT_ROOT/pages/assets/styles/..." @@ -24,6 +26,8 @@ TEMPLATES_INPUT_DIRS="$GIT_ROOT/pages/assets/html/..." TEMPLATES_OUTPUT_PATH="$GIT_ROOT/pages/templates.go" TEMPLATES_PACKAGE="pages" +FORCE="${FORCE:-}" # Force assets to be rebuilt if FORCE=true + go get -u github.com/jteeuwen/go-bindata/... build_asset () { @@ -42,17 +46,17 @@ build_asset () { } for f in $GIT_ROOT/pages/assets/js/* $GIT_ROOT/pages/assets/styles/*; do - if [ "$f" -nt $ASSETS_OUTPUT_PATH -o ! -e $ASSETS_OUTPUT_PATH ]; then - build_asset "$ASSETS_PACKAGE" "$ASSETS_OUTPUT_PATH" "$ASSETS_INPUT_DIRS" + if [ "$FORCE" == "true" ] || [ "$f" -nt $ASSETS_OUTPUT_PATH -o ! -e $ASSETS_OUTPUT_PATH ]; then + build_asset "$ASSETS_PACKAGE" "$ASSETS_OUTPUT_PATH" "$ASSETS_INPUT_DIRS" break; fi done for f in $GIT_ROOT/pages/assets/html/*; do - if [ "$f" -nt $TEMPLATES_OUTPUT_PATH -o ! -e $TEMPLATES_OUTPUT_PATH ]; then + if [ "$FORCE" == "true" ] || [ "$f" -nt $TEMPLATES_OUTPUT_PATH -o ! -e $TEMPLATES_OUTPUT_PATH ]; then build_asset "$TEMPLATES_PACKAGE" "$TEMPLATES_OUTPUT_PATH" "$TEMPLATES_INPUT_DIRS" break; fi done -exit 0 +exit 0 diff --git a/build/jenkins_e2e.sh b/build/jenkins_e2e.sh index 54339d57..614041e8 100755 --- a/build/jenkins_e2e.sh +++ b/build/jenkins_e2e.sh @@ -22,6 +22,15 @@ BUILDER=${BUILDER:-false} # Whether this is running a PR builder job. export GO_FLAGS="-race" export GORACE="halt_on_error=1" +# Check whether assets need to be rebuilt. +FORCE=true build/assets.sh +if [[ ! -z "$(git diff --name-only pages)" ]]; then + echo "Found changes to UI assets:" + git diff --name-only pages + echo "Run: `make assets FORCE=true`" + exit 1 +fi + make go build -tags test github.com/google/cadvisor/integration/runner