...

Text file src/k8s.io/kubernetes/hack/verify-prerelease-lifecycle-tags.sh

Documentation: k8s.io/kubernetes/hack

     1#!/usr/bin/env bash
     2
     3# Copyright 2020 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 verifies whether codes follow golang convention.
    18# Usage: `hack/verify-prerelease-lifecycle-tags.sh`.
    19
    20set -o errexit
    21set -o nounset
    22set -o pipefail
    23
    24KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
    25source "${KUBE_ROOT}/hack/lib/init.sh"
    26
    27cd "${KUBE_ROOT}"
    28if git --no-pager grep -L '// +k8s:prerelease-lifecycle-gen=true' -- 'staging/src/k8s.io/api/**/*beta*/doc.go'; then
    29  echo "!!! Some beta packages doc.go do not include prerelease-lifecycle tags."
    30  echo "To fix these errors, add '// +k8s:prerelease-lifecycle-gen=true' to doc.go and"
    31  echo "add '// +k8s:prerelease-lifecycle-gen:introduced=1.<release>' to every type that embeds metav1.TypeMeta"
    32  exit 1
    33fi
    34
    35if git --no-pager grep -L '// +k8s:prerelease-lifecycle-gen=true' -- 'staging/src/k8s.io/kube-aggregator/pkg/apis/**/*beta*/doc.go'; then
    36  echo "!!! Some beta packages doc.go do not include prerelease-lifecycle tags."
    37  echo "To fix these errors, add '// +k8s:prerelease-lifecycle-gen=true' to doc.go and"
    38  echo "add '// +k8s:prerelease-lifecycle-gen:introduced=1.<release>' to every type that embeds metav1.TypeMeta"
    39  exit 1
    40fi
    41
    42if git --no-pager grep -L '// +k8s:prerelease-lifecycle-gen=true' -- 'staging/src/k8s.io/apiextensions-apiserver/pkg/apis/**/*beta*/doc.go'; then
    43  echo "!!! Some beta packages doc.go do not include prerelease-lifecycle tags."
    44  echo "To fix these errors, add '// +k8s:prerelease-lifecycle-gen=true' to doc.go and"
    45  echo "add '// +k8s:prerelease-lifecycle-gen:introduced=1.<release>' to every type that embeds metav1.TypeMeta"
    46  exit 1
    47fi

View as plain text