diff options
Diffstat (limited to 'hack/verify-generated-docs.sh')
| -rwxr-xr-x | hack/verify-generated-docs.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/hack/verify-generated-docs.sh b/hack/verify-generated-docs.sh new file mode 100755 index 00000000..4c52a1b2 --- /dev/null +++ b/hack/verify-generated-docs.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash + +# Copyright 2018 The Kubernetes Authors. +# +# 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. + +set -o errexit +set -o nounset +set -o pipefail + +CRT_DIR=$(pwd) +VERIFY_TEMP=$(mktemp -d 2>/dev/null || mktemp -d -t k8s-community.XXXXXX) +WORKING_DIR=${VERIFY_TEMP}/src/testgendocs +GOPATH=${VERIFY_TEMP} +mkdir -p ${WORKING_DIR} + +function cleanup { + rm -rf "${VERIFY_TEMP}" +} +trap cleanup EXIT + +cp -r sigs.yaml sig-* wg-* Makefile generator vendor ${WORKING_DIR}/ + +cd ${WORKING_DIR} +make 1>/dev/null + +mismatches=0 +break=$(printf "=%.0s" $(seq 1 68)) + +for file in $(ls ${CRT_DIR}/sig-*/README.md ${CRT_DIR}/wg-*/README.md ${CRT_DIR}/sig-list.md ${CRT_DIR}/OWNERS_ALIASES); do + real=${file#$CRT_DIR/} + if ! diff -q ${file} ${WORKING_DIR}/${real} &>/dev/null; then + echo "${file} does not match ${WORKING_DIR}/${real}"; + mismatches=$((mismatches+1)) + fi; +done + +if [ ${mismatches} -gt "0" ]; then + echo "" + echo ${break} + noun="mismatch was" + if [ ${mismatches} -gt "0" ]; then + noun="mismatches were" + fi + echo "${mismatches} ${noun} detected." + echo "Do not manually edit sig-list.md or README.md files inside the sig folders." + echo "Instead make your changes to sigs.yaml and then run \`make\`."; + echo ${break} + exit 1; +fi + +exit 0 |
