...
Text file
src/k8s.io/kubernetes/hack/update-generated-api-compatibility-data.sh
1#!/usr/bin/env bash
2
3# Copyright 2019 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
17set -o errexit
18set -o nounset
19set -o pipefail
20
21KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
22source "${KUBE_ROOT}/hack/lib/init.sh"
23
24kube::golang::setup_env
25
26# Nuke old files so we don't accidentally carry stuff forward.
27rm -f staging/src/k8s.io/api/testdata/HEAD/*.{yaml,json,pb}
28rm -f staging/src/k8s.io/apiextensions-apiserver/pkg/apis/testdata/HEAD/*.{yaml,json,pb}
29
30# UPDATE_COMPATIBILITY_FIXTURE_DATA=true regenerates fixture data if needed.
31# -run //HEAD only runs the test cases comparing against testdata for HEAD.
32# We suppress the output because we are expecting to have changes.
33# We suppress the test failure that occurs when there are changes.
34UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test k8s.io/api -run //HEAD >/dev/null 2>&1 || true
35UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test k8s.io/apiextensions-apiserver/pkg/apis -run //HEAD >/dev/null 2>&1 || true
36
37# Now that we have regenerated data at HEAD, run the test without suppressing output or failures
38go test k8s.io/api -run //HEAD -count=1
39go test k8s.io/apiextensions-apiserver/pkg/apis -run //HEAD -count=1
View as plain text