k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/hack/verify-staging-meta-files.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2018 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 # This script checks whether the expected metadata files (such as OWNERS and 18 # LICENSE) exist under the `staging/src/k8s.io/*` directories. 19 # Usage: `hack/verify-staging-meta-files.sh`. 20 21 set -o errexit 22 set -o nounset 23 set -o pipefail 24 25 KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. 26 27 expected_filenames=( 28 .github/PULL_REQUEST_TEMPLATE.md 29 code-of-conduct.md 30 LICENSE 31 OWNERS 32 README.md 33 SECURITY_CONTACTS 34 ) 35 36 exceptions=( 37 client-go/README.md # client-go provides its own README 38 ) 39 40 RESULT=0 41 for full_repo_path in "${KUBE_ROOT}"/staging/src/k8s.io/*; do 42 repo=$(basename "${full_repo_path}") 43 for filename in "${expected_filenames[@]}"; do 44 if echo " ${exceptions[*]} " | grep -F " ${repo}/${filename} " >/dev/null; then 45 continue 46 elif [ ! -f "${KUBE_ROOT}/staging/src/k8s.io/${repo}/${filename}" ]; then 47 echo "staging/src/k8s.io/${repo}/${filename} does not exist and must be created" 48 RESULT=1 49 fi 50 done 51 done 52 53 exit $RESULT