Squashed 'release-tools/' changes from 5b9a1e06..a6a1a797
https://github.com/kubernetes-csi/csi-release-tools/commit/a6a1a797 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/176 from pohly/go-1.17.3 https://github.com/kubernetes-csi/csi-release-tools/commit/0a2cf636 prow.sh: bump Go to 1.17.3 https://github.com/kubernetes-csi/csi-release-tools/commit/fc29fdde Merge https://github.com/kubernetes-csi/csi-release-tools/pull/141 from pohly/prune-replace-optional https://github.com/kubernetes-csi/csi-release-tools/commit/b46691a4 go-get-kubernetes.sh: make replace statement pruning optional git-subtree-dir: release-tools git-subtree-split: a6a1a7979bf3ebc2bb10d0e33dd11ab281d6d39e
This commit is contained in:
@@ -26,14 +26,43 @@ set -o pipefail
|
||||
cmd=$0
|
||||
|
||||
function help () {
|
||||
echo "$cmd <kubernetes version = x.y.z> - update all components from kubernetes/kubernetes to that version"
|
||||
cat <<EOF
|
||||
$cmd -p <kubernetes version = x.y.z>
|
||||
|
||||
Update all components from kubernetes/kubernetes to that version.
|
||||
|
||||
By default, replace statements are added for all Kubernetes packages,
|
||||
whether they are used or not. This is useful when preparing a
|
||||
repository for using k8s.io/kubernetes, because those replace
|
||||
statements are needed to avoid "unknown revision v0.0.0" errors
|
||||
(https://github.com/kubernetes/kubernetes/issues/79384).
|
||||
|
||||
With the optional -p flag, all unused replace statements are
|
||||
pruned. This makes go.mod smaller, but isn't required.
|
||||
|
||||
The replace statements are needed for "go get -u ./..." which
|
||||
otherwise ends up updating Kubernetes packages like client-go to
|
||||
incompatible versions (in that case, a very old 1.x release which
|
||||
happens to have a "higher" version number than the current
|
||||
0.<Kubernetes minor version>.<Kubernetes patch version> numbers.
|
||||
EOF
|
||||
}
|
||||
|
||||
prune=false
|
||||
|
||||
while getopts "ph" o; do
|
||||
case "$o" in
|
||||
h) help; exit 0;;
|
||||
p) prune=true;;
|
||||
*) help; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
case "$1" in -h|--help|help) help; exit 0;; esac
|
||||
|
||||
die () {
|
||||
echo >&2 "$@"
|
||||
@@ -55,7 +84,7 @@ mods=$( (set -x; curl --silent --show-error --fail "https://raw.githubuserconten
|
||||
sed -n 's|.*k8s.io/\(.*\) => ./staging/src/k8s.io/.*|k8s.io/\1|p'
|
||||
) || die "failed to determine Kubernetes staging modules"
|
||||
for mod in $mods; do
|
||||
if ! (env GO111MODULE=on go mod graph) | grep "$mod@" > /dev/null; then
|
||||
if $prune && ! (env GO111MODULE=on go mod graph) | grep "$mod@" > /dev/null; then
|
||||
echo "Kubernetes module $mod is not used, skipping"
|
||||
# Remove the module from go.mod "replace" that was added by an older version of this script.
|
||||
(set -x; env GO111MODULE=on go mod edit "-dropreplace=$mod") || die "'go mod edit' failed"
|
||||
|
2
prow.sh
2
prow.sh
@@ -86,7 +86,7 @@ configvar CSI_PROW_BUILD_PLATFORMS "linux amd64; linux ppc64le -ppc64le; linux s
|
||||
# which is disabled with GOFLAGS=-mod=vendor).
|
||||
configvar GOFLAGS_VENDOR "$( [ -d vendor ] && echo '-mod=vendor' )" "Go flags for using the vendor directory"
|
||||
|
||||
configvar CSI_PROW_GO_VERSION_BUILD "1.16" "Go version for building the component" # depends on component's source code
|
||||
configvar CSI_PROW_GO_VERSION_BUILD "1.17.3" "Go version for building the component" # depends on component's source code
|
||||
configvar CSI_PROW_GO_VERSION_E2E "" "override Go version for building the Kubernetes E2E test suite" # normally doesn't need to be set, see install_e2e
|
||||
configvar CSI_PROW_GO_VERSION_SANITY "${CSI_PROW_GO_VERSION_BUILD}" "Go version for building the csi-sanity test suite" # depends on CSI_PROW_SANITY settings below
|
||||
configvar CSI_PROW_GO_VERSION_KIND "${CSI_PROW_GO_VERSION_BUILD}" "Go version for building 'kind'" # depends on CSI_PROW_KIND_VERSION below
|
||||
|
Reference in New Issue
Block a user