update-k8s-gomod.sh 676 B

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. # See: https://github.com/kubernetes/kubernetes/issues/79384#issuecomment-521493597
  3. set -eo pipefail
  4. export GO111MODULE=on
  5. VERSION=${1#"v"}
  6. if [ -z "$VERSION" ]; then
  7. cat <<EOF
  8. Must specify version!
  9. Usage: $0 v1.15.0
  10. EOF
  11. exit 1
  12. fi
  13. MODS=($(
  14. curl -sS https://raw.githubusercontent.com/kubernetes/kubernetes/v${VERSION}/go.mod |
  15. sed -n 's|.*k8s.io/\(.*\) => ./staging/src/k8s.io/.*|k8s.io/\1|p'
  16. ))
  17. for MOD in "${MODS[@]}"; do
  18. V=$(
  19. go mod download -json "${MOD}@kubernetes-${VERSION}" |
  20. sed -n 's|.*"Version": "\(.*\)".*|\1|p'
  21. )
  22. go mod edit "-replace=${MOD}=${MOD}@${V}"
  23. done
  24. go get "k8s.io/kubernetes@v${VERSION}"