From a9099efc4560fc61a7e9434ed32b2fcf3eb6e30e Mon Sep 17 00:00:00 2001 From: Pravar Agrawal Date: Wed, 24 Feb 2021 12:49:24 +0530 Subject: [PATCH] add verify scripts for conversions gen Signed-off-by: Pravar Agrawal --- Makefile | 5 ++++- hack/verify-conversions.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100755 hack/verify-conversions.sh diff --git a/Makefile b/Makefile index 0d101e4fe..6c3a0959e 100644 --- a/Makefile +++ b/Makefile @@ -94,7 +94,7 @@ push-all: image.amd64 image.arm image.arm64 clean: rm -rf _output -verify: verify-gofmt verify-vendor lint lint-chart verify-spelling verify-toc +verify: verify-gofmt verify-vendor lint lint-chart verify-spelling verify-toc verify-gen verify-spelling: ./hack/verify-spelling.sh @@ -120,6 +120,9 @@ gen: ./hack/update-generated-defaulters.sh ./hack/update-toc.sh +verify-gen: + ./hack/verify-conversions.sh + lint: ifndef HAS_GOLANGCI curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b ./_output/bin ${GOLANGCI_VERSION} diff --git a/hack/verify-conversions.sh b/hack/verify-conversions.sh new file mode 100755 index 000000000..708b78cc2 --- /dev/null +++ b/hack/verify-conversions.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" +DESCHEDULER_ROOT=$(dirname "${BASH_SOURCE}")/.. +mkdir -p "${DESCHEDULER_ROOT}/_tmp" +_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}/conversion-gen" "k8s.io/code-generator/cmd/conversion-gen" + +${OS_OUTPUT_BINPATH}/conversion-gen \ + --go-header-file "hack/boilerplate/boilerplate.go.txt" \ + --input-dirs "./pkg/apis/componentconfig/v1alpha1,./pkg/api/v1alpha1" \ + --output-file-base zz_generated.conversion +popd > /dev/null 2>&1 + +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." + exit 1 +fi +popd > /dev/null 2>&1 + +echo "Generated conversions verified."