github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/hack/verify-codegen.sh (about) 1 #!/usr/bin/env bash 2 # Copyright 2018 The Kubernetes Authors. 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 set -o errexit 17 set -o nounset 18 set -o pipefail 19 20 SCRIPT_ROOT=$(git rev-parse --show-toplevel) 21 22 DIFFROOT="${SCRIPT_ROOT}/prow" 23 TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp/prow" 24 _tmp="${SCRIPT_ROOT}/_tmp" 25 26 cleanup() { 27 rm -rf "${_tmp}" 28 } 29 trap "cleanup" EXIT SIGINT 30 31 cleanup 32 33 mkdir -p "${TMP_DIFFROOT}" 34 cp -a "${DIFFROOT}"/{apis,client} "${TMP_DIFFROOT}" 35 36 "${SCRIPT_ROOT}/hack/update-codegen.sh" 37 echo "diffing ${DIFFROOT} against freshly generated codegen" 38 ret=0 39 diff -Naupr "${DIFFROOT}/apis" "${TMP_DIFFROOT}/apis" || ret=$? 40 diff -Naupr "${DIFFROOT}/client" "${TMP_DIFFROOT}/client" || ret=$? 41 cp -a "${TMP_DIFFROOT}"/{apis,client} "${DIFFROOT}" 42 if [[ $ret -eq 0 ]] 43 then 44 echo "${DIFFROOT} up to date." 45 else 46 echo "${DIFFROOT} is out of date. Please run hack/update-codegen.sh" 47 exit 1 48 fi