From df84dc4548ba1d85152f12f72bdaf9ed259279e3 Mon Sep 17 00:00:00 2001 From: Pravar Agrawal Date: Sun, 11 Apr 2021 19:59:12 +0530 Subject: [PATCH] add verify script for defaulters gen --- Makefile | 1 + hack/verify-conversions.sh | 2 +- hack/verify-deep-copies.sh | 2 +- hack/verify-defaulters.sh | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100755 hack/verify-defaulters.sh diff --git a/Makefile b/Makefile index 2687c57da..535ec3533 100644 --- a/Makefile +++ b/Makefile @@ -127,6 +127,7 @@ gen: verify-gen: ./hack/verify-conversions.sh ./hack/verify-deep-copies.sh + ./hack/verify-defaulters.sh lint: ifndef HAS_GOLANGCI diff --git a/hack/verify-conversions.sh b/hack/verify-conversions.sh index 53e932cba..a86861ea8 100755 --- a/hack/verify-conversions.sh +++ b/hack/verify-conversions.sh @@ -28,7 +28,7 @@ pushd "${DESCHEDULER_ROOT}" > /dev/null 2>&1 if ! _out="$(diff -Naupr pkg/ "${_deschedulertmp}/pkg/")"; then echo "Generated output differs:" >&2 echo "${_out}" >&2 - echo "Generated conversions verify failed. Please run ./hack/update-generated-conversions.sh (and commit the result)" + echo "Generated conversions verify failed. Please run ./hack/update-generated-conversions.sh" exit 1 fi popd > /dev/null 2>&1 diff --git a/hack/verify-deep-copies.sh b/hack/verify-deep-copies.sh index b560bd11e..254a8e465 100755 --- a/hack/verify-deep-copies.sh +++ b/hack/verify-deep-copies.sh @@ -28,7 +28,7 @@ pushd "${DESCHEDULER_ROOT}" > /dev/null 2>&1 if ! _out="$(diff -Naupr pkg/ "${_deschedulertmp}/pkg/")"; then echo "Generated deep-copies output differs:" >&2 echo "${_out}" >&2 - echo "Generated deep-copies verify failed. Please run ./hack/update-generated-deep-copies.sh (and commit the result)" + echo "Generated deep-copies verify failed. Please run ./hack/update-generated-deep-copies.sh" exit 1 fi popd > /dev/null 2>&1 diff --git a/hack/verify-defaulters.sh b/hack/verify-defaulters.sh new file mode 100755 index 000000000..61d5597d9 --- /dev/null +++ b/hack/verify-defaulters.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" +DESCHEDULER_ROOT=$(dirname "${BASH_SOURCE}")/.. +_tmpdir="$(mktemp -d "${DESCHEDULER_ROOT}/_tmp/kube-verify.XXXXXX")" + +_deschedulertmp="${_tmpdir}" +mkdir -p "${_deschedulertmp}" + +git archive --format=tar --prefix=descheduler/ "$(git write-tree)" | (cd "${_deschedulertmp}" && tar xf -) +_deschedulertmp="${_deschedulertmp}/descheduler" + +pushd "${_deschedulertmp}" > /dev/null 2>&1 +go build -o "${OS_OUTPUT_BINPATH}/defaulter-gen" "k8s.io/code-generator/cmd/defaulter-gen" + +${OS_OUTPUT_BINPATH}/defaulter-gen \ + --go-header-file "hack/boilerplate/boilerplate.go.txt" \ + --input-dirs "${PRJ_PREFIX}/pkg/apis/componentconfig/v1alpha1,${PRJ_PREFIX}/pkg/api/v1alpha1" \ + --extra-peer-dirs "${PRJ_PREFIX}/pkg/apis/componentconfig/v1alpha1,${PRJ_PREFIX}/pkg/api/v1alpha1" \ + --output-file-base zz_generated.defaults +popd > /dev/null 2>&1 + +pushd "${DESCHEDULER_ROOT}" > /dev/null 2>&1 +if ! _out="$(diff -Naupr pkg/ "${_deschedulertmp}/pkg/")"; then + echo "Generated defaulters output differs:" >&2 + echo "${_out}" >&2 + echo "Generated defaulters verify failed. Please run ./hack/update-generated-defaulters.sh" +fi +popd > /dev/null 2>&1 + +echo "Generated Defaulters verified."