Skip to content

Instantly share code, notes, and snippets.

@nikhita
Last active July 3, 2019 09:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikhita/7c403157c25883ebc2debd0a4c8f5d9d to your computer and use it in GitHub Desktop.
Save nikhita/7c403157c25883ebc2debd0a4c8f5d9d to your computer and use it in GitHub Desktop.
#!/bin/bash -ex
cd $GOPATH/src/k8s.io
rm -rf cache.new
if [ ! -d cache ]; then
mkdir cache.new
pushd cache.new
for repo in $(ls -1 ../kubernetes/staging/src/k8s.io); do
git clone https://github.com/kubernetes/${repo}.git
done
popd
mv cache.new cache
fi
for repo in $(ls -1 kubernetes/staging/src/k8s.io); do
rm -rf ${repo}
git clone --reference-if-able ./cache/${repo} https://github.com/kubernetes/${repo}.git
done
# do this if the tag has still not been published
# it's very hacky
# cd client-go && git remote rename origin upstream && git remote add origin https://github.com/nikhita/client-go.git && git fetch origin --tags && cd ..
function kubeDeps() {
jq -r ".Deps | map(.ImportPath) | .[]" Godeps/Godeps.json | grep "^k8s.io/" | cut -d/ -f2 | sort -u
}
function rmVendorsInKubeDeps() {
for dep in $(kubeDeps); do
pushd ../${dep} >/dev/null
git rm -q -rf vendor/ && git commit -m "rm vendor/" -q || true
popd
done
}
for branch in v12.0.0; do
pushd $GOPATH/src/github.com/nikhita/kube-gomod-test
git checkout ${branch}
GO111MODULE=on go mod tidy
GO111MODULE=on go build .
git reset --hard
git clean -f -f -d
popd
done
+ unset _mlre _mlIFS _mlshdbg
+ '[' 0 = 1 ']'
+ export MODULES_RUN_QUARANTINE=LD_LIBRARY_PATH
+ MODULES_RUN_QUARANTINE=LD_LIBRARY_PATH
+ '[' -n x ']'
+ _mlIFS='
'
+ IFS=' '
+ for _mlv in ${MODULES_RUN_QUARANTINE:-}
+ '[' LD_LIBRARY_PATH = LD_LIBRARY_PATH -a LD_LIBRARY_PATH = LD_LIBRARY_PATH ']'
++ eval 'echo ${LD_LIBRARY_PATH+x}'
+++ echo
+ '[' -n '' ']'
+ _mlrv=MODULES_RUNENV_LD_LIBRARY_PATH
++ eval 'echo ${MODULES_RUNENV_LD_LIBRARY_PATH:-}'
+++ echo
+ _mlre='LD_LIBRARY_PATH='\'''\'' '
+ '[' -n 'LD_LIBRARY_PATH='\'''\'' ' ']'
+ _mlre='eval LD_LIBRARY_PATH='\'''\'' '
++ eval 'LD_LIBRARY_PATH='\'''\''' /usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash autoinit
+++ LD_LIBRARY_PATH=
+++ /usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash autoinit
+ eval '_moduleraw() {
unset _mlre _mlIFS _mlshdbg;
if [ "${MODULES_SILENT_SHELL_DEBUG:-0}" = '\''1'\'' ]; then
case "$-" in
*v*x*) set +vx; _mlshdbg='\''vx'\'' ;;
*v*) set +v; _mlshdbg='\''v'\'' ;;
*x*) set +x; _mlshdbg='\''x'\'' ;;
*) _mlshdbg='\'''\'' ;;
esac;
fi;
if [ -n "${IFS+x}" ]; then
_mlIFS=$IFS;
fi;
IFS='\'' '\'';
for _mlv in ${MODULES_RUN_QUARANTINE:-}; do
if [ "${_mlv}" = "${_mlv##*[!A-Za-z0-9_]}" -a "${_mlv}" = "${_mlv#[0-9]}" ]; then
if [ -n "`eval '\''echo ${'\''$_mlv'\''+x}'\''`" ]; then
_mlre="${_mlre:-}${_mlv}_modquar='\''`eval '\''echo ${'\''$_mlv'\''}'\''`'\'' ";
fi;
_mlrv="MODULES_RUNENV_${_mlv}";
_mlre="${_mlre:-}${_mlv}='\''`eval '\''echo ${'\''$_mlrv'\'':-}'\''`'\'' ";
fi;
done;
if [ -n "${_mlre:-}" ]; then
eval `eval ${_mlre}/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash '\''"$@"'\''`;
else
eval `/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash "$@"`;
fi;
_mlstatus=$?;
if [ -n "${_mlIFS+x}" ]; then
IFS=$_mlIFS;
else
unset IFS;
fi;
if [ -n "${_mlshdbg:-}" ]; then
set -$_mlshdbg;
fi;
unset _mlre _mlv _mlrv _mlIFS _mlshdbg;
return $_mlstatus;
};
module() { _moduleraw "$@" 2>&1; };
MODULES_CMD=/usr/share/Modules/libexec/modulecmd.tcl; export MODULES_CMD;
MODULESHOME=/usr/share/Modules; export MODULESHOME;
test 0;'
++ MODULES_CMD=/usr/share/Modules/libexec/modulecmd.tcl
++ export MODULES_CMD
++ MODULESHOME=/usr/share/Modules
++ export MODULESHOME
++ test 0
+ '[' -n x ']'
+ IFS='
'
+ unset _mlIFS
+ unset _mlre _mlv _mlrv
+ '[' 0 = 1 ']'
+ '[' -t 2 ']'
+ export -f _moduleraw
+ export -f module
+ export -f switchml
+ ENV=/usr/share/Modules/init/profile.sh
+ export ENV
+ BASH_ENV=/usr/share/Modules/init/bash
+ export BASH_ENV
+ '[' 4 -ge 3 ']'
+ [[ ehxB =~ i ]]
+ [[ ! :/home/nikhita/go/src/k8s.io/kubernetes/third_party/etcd:/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/nikhita/bin:/var/lib/snapd/snap/bin:/usr/local/go/bin:/home/nikhita/go/bin: =~ :/usr/share/Modules/bin: ]]
++ manpath
+ manpath=/usr/local/share/man:/usr/share/man
+ [[ ! :/usr/local/share/man:/usr/share/man: =~ :/usr/share/man: ]]
+ '[' -n '' ']'
+ cd /home/nikhita/go/src/k8s.io
+ rm -rf cache.new
+ '[' '!' -d cache ']'
++ ls -1 kubernetes/staging/src/k8s.io
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf api
+ git clone --reference-if-able ./cache/api https://github.com/kubernetes/api.git
Cloning into 'api'...
remote: Enumerating objects: 1361, done.
remote: Counting objects: 100% (1361/1361), done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 3566 (delta 1259), reused 1249 (delta 1174), pack-reused 2205
Receiving objects: 100% (3566/3566), 2.62 MiB | 2.27 MiB/s, done.
Resolving deltas: 100% (2428/2428), completed with 212 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf apiextensions-apiserver
+ git clone --reference-if-able ./cache/apiextensions-apiserver https://github.com/kubernetes/apiextensions-apiserver.git
Cloning into 'apiextensions-apiserver'...
remote: Enumerating objects: 4344, done.
remote: Counting objects: 100% (4344/4344), done.
remote: Compressing objects: 100% (225/225), done.
remote: Total 10169 (delta 4222), reused 4214 (delta 4117), pack-reused 5825
Receiving objects: 100% (10169/10169), 4.56 MiB | 3.56 MiB/s, done.
Resolving deltas: 100% (6634/6634), completed with 1451 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf apimachinery
+ git clone --reference-if-able ./cache/apimachinery https://github.com/kubernetes/apimachinery.git
Cloning into 'apimachinery'...
remote: Enumerating objects: 995, done.
remote: Counting objects: 100% (995/995), done.
remote: Compressing objects: 100% (102/102), done.
remote: Total 2463 (delta 933), reused 946 (delta 892), pack-reused 1468
Receiving objects: 100% (2463/2463), 769.52 KiB | 997.00 KiB/s, done.
Resolving deltas: 100% (1603/1603), completed with 303 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf apiserver
+ git clone --reference-if-able ./cache/apiserver https://github.com/kubernetes/apiserver.git
Cloning into 'apiserver'...
remote: Enumerating objects: 3078, done.
remote: Counting objects: 100% (3078/3078), done.
remote: Compressing objects: 100% (99/99), done.
remote: Total 7766 (delta 3024), reused 3011 (delta 2971), pack-reused 4688
Receiving objects: 100% (7766/7766), 2.49 MiB | 2.10 MiB/s, done.
Resolving deltas: 100% (5239/5239), completed with 798 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf client-go
+ git clone --reference-if-able ./cache/client-go https://github.com/kubernetes/client-go.git
Cloning into 'client-go'...
remote: Enumerating objects: 2033, done.
remote: Counting objects: 100% (2033/2033), done.
remote: Compressing objects: 100% (75/75), done.
remote: Total 4865 (delta 2013), reused 1969 (delta 1958), pack-reused 2832
Receiving objects: 100% (4865/4865), 1.18 MiB | 1.16 MiB/s, done.
Resolving deltas: 100% (3250/3250), completed with 520 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf cli-runtime
+ git clone --reference-if-able ./cache/cli-runtime https://github.com/kubernetes/cli-runtime.git
Cloning into 'cli-runtime'...
remote: Enumerating objects: 1029, done.
remote: Counting objects: 100% (1029/1029), done.
remote: Compressing objects: 100% (208/208), done.
remote: Total 1918 (delta 896), reused 950 (delta 821), pack-reused 889
Receiving objects: 100% (1918/1918), 631.34 KiB | 848.00 KiB/s, done.
Resolving deltas: 100% (1119/1119), completed with 92 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf cloud-provider
+ git clone --reference-if-able ./cache/cloud-provider https://github.com/kubernetes/cloud-provider.git
Cloning into 'cloud-provider'...
info: Could not add alternate for './cache/cloud-provider': reference repository './cache/cloud-provider' is not a local repository.
remote: Enumerating objects: 222, done.
remote: Counting objects: 100% (222/222), done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 1949 (delta 154), reused 157 (delta 97), pack-reused 1727
Receiving objects: 100% (1949/1949), 1.92 MiB | 1.74 MiB/s, done.
Resolving deltas: 100% (972/972), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf cluster-bootstrap
+ git clone --reference-if-able ./cache/cluster-bootstrap https://github.com/kubernetes/cluster-bootstrap.git
Cloning into 'cluster-bootstrap'...
info: Could not add alternate for './cache/cluster-bootstrap': reference repository './cache/cluster-bootstrap' is not a local repository.
remote: Enumerating objects: 313, done.
remote: Counting objects: 100% (313/313), done.
remote: Compressing objects: 100% (141/141), done.
remote: Total 945 (delta 220), reused 260 (delta 170), pack-reused 632
Receiving objects: 100% (945/945), 624.55 KiB | 653.00 KiB/s, done.
Resolving deltas: 100% (554/554), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf code-generator
+ git clone --reference-if-able ./cache/code-generator https://github.com/kubernetes/code-generator.git
Cloning into 'code-generator'...
remote: Enumerating objects: 566, done.
remote: Counting objects: 100% (566/566), done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 1600 (delta 551), reused 534 (delta 523), pack-reused 1034
Receiving objects: 100% (1600/1600), 853.45 KiB | 907.00 KiB/s, done.
Resolving deltas: 100% (770/770), completed with 189 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf component-base
+ git clone --reference-if-able ./cache/component-base https://github.com/kubernetes/component-base.git
Cloning into 'component-base'...
info: Could not add alternate for './cache/component-base': reference repository './cache/component-base' is not a local repository.
remote: Enumerating objects: 451, done.
remote: Counting objects: 100% (451/451), done.
remote: Compressing objects: 100% (166/166), done.
remote: Total 989 (delta 311), reused 422 (delta 283), pack-reused 538
Receiving objects: 100% (989/989), 645.48 KiB | 850.00 KiB/s, done.
Resolving deltas: 100% (551/551), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf cri-api
+ git clone --reference-if-able ./cache/cri-api https://github.com/kubernetes/cri-api.git
Cloning into 'cri-api'...
info: Could not add alternate for './cache/cri-api': reference repository './cache/cri-api' is not a local repository.
remote: Enumerating objects: 57, done.
remote: Counting objects: 100% (57/57), done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 552 (delta 28), reused 47 (delta 22), pack-reused 495
Receiving objects: 100% (552/552), 997.76 KiB | 134.00 KiB/s, done.
Resolving deltas: 100% (164/164), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf csi-translation-lib
+ git clone --reference-if-able ./cache/csi-translation-lib https://github.com/kubernetes/csi-translation-lib.git
Cloning into 'csi-translation-lib'...
info: Could not add alternate for './cache/csi-translation-lib': reference repository './cache/csi-translation-lib' is not a local repository.
remote: Enumerating objects: 360, done.
remote: Counting objects: 100% (360/360), done.
remote: Compressing objects: 100% (167/167), done.
remote: Total 1017 (delta 263), reused 286 (delta 193), pack-reused 657
Receiving objects: 100% (1017/1017), 620.01 KiB | 728.00 KiB/s, done.
Resolving deltas: 100% (617/617), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf kube-aggregator
+ git clone --reference-if-able ./cache/kube-aggregator https://github.com/kubernetes/kube-aggregator.git
Cloning into 'kube-aggregator'...
remote: Enumerating objects: 3805, done.
remote: Counting objects: 100% (3805/3805), done.
remote: Compressing objects: 100% (281/281), done.
remote: Total 6707 (delta 3627), reused 3677 (delta 3519), pack-reused 2902
Receiving objects: 100% (6707/6707), 2.87 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (4591/4591), completed with 1121 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf kube-controller-manager
+ git clone --reference-if-able ./cache/kube-controller-manager https://github.com/kubernetes/kube-controller-manager.git
Cloning into 'kube-controller-manager'...
remote: Enumerating objects: 712, done.
remote: Counting objects: 100% (712/712), done.
remote: Compressing objects: 100% (198/198), done.
remote: Total 984 (delta 591), reused 635 (delta 514), pack-reused 272
Receiving objects: 100% (984/984), 214.07 KiB | 433.00 KiB/s, done.
Resolving deltas: 100% (684/684), completed with 39 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf kubectl
+ git clone --reference-if-able ./cache/kubectl https://github.com/kubernetes/kubectl.git
Cloning into 'kubectl'...
info: Could not add alternate for './cache/kubectl': reference repository './cache/kubectl' is not a local repository.
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 18269 (delta 4), reused 5 (delta 2), pack-reused 18259
Receiving objects: 100% (18269/18269), 31.87 MiB | 6.17 MiB/s, done.
Resolving deltas: 100% (7128/7128), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf kubelet
+ git clone --reference-if-able ./cache/kubelet https://github.com/kubernetes/kubelet.git
Cloning into 'kubelet'...
remote: Enumerating objects: 623, done.
remote: Counting objects: 100% (623/623), done.
remote: Compressing objects: 100% (168/168), done.
remote: Total 894 (delta 513), reused 563 (delta 455), pack-reused 271
Receiving objects: 100% (894/894), 200.99 KiB | 538.00 KiB/s, done.
Resolving deltas: 100% (628/628), completed with 40 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf kube-proxy
+ git clone --reference-if-able ./cache/kube-proxy https://github.com/kubernetes/kube-proxy.git
Cloning into 'kube-proxy'...
remote: Enumerating objects: 68, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 941 (delta 62), reused 63 (delta 60), pack-reused 873
Receiving objects: 100% (941/941), 206.21 KiB | 432.00 KiB/s, done.
Resolving deltas: 100% (651/651), completed with 36 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf kube-scheduler
+ git clone --reference-if-able ./cache/kube-scheduler https://github.com/kubernetes/kube-scheduler.git
Cloning into 'kube-scheduler'...
remote: Enumerating objects: 729, done.
remote: Counting objects: 100% (729/729), done.
remote: Compressing objects: 100% (211/211), done.
remote: Total 1023 (delta 600), reused 644 (delta 518), pack-reused 294
Receiving objects: 100% (1023/1023), 218.64 KiB | 414.00 KiB/s, done.
Resolving deltas: 100% (702/702), completed with 37 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf legacy-cloud-providers
+ git clone --reference-if-able ./cache/legacy-cloud-providers https://github.com/kubernetes/legacy-cloud-providers.git
Cloning into 'legacy-cloud-providers'...
info: Could not add alternate for './cache/legacy-cloud-providers': reference repository './cache/legacy-cloud-providers' is not a local repository.
remote: Enumerating objects: 1061, done.
remote: Counting objects: 100% (1061/1061), done.
remote: Compressing objects: 100% (434/434), done.
remote: Total 1061 (delta 706), reused 914 (delta 559), pack-reused 0
Receiving objects: 100% (1061/1061), 605.16 KiB | 869.00 KiB/s, done.
Resolving deltas: 100% (706/706), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf metrics
+ git clone --reference-if-able ./cache/metrics https://github.com/kubernetes/metrics.git
Cloning into 'metrics'...
remote: Enumerating objects: 946, done.
remote: Counting objects: 100% (946/946), done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 1747 (delta 844), reused 859 (delta 764), pack-reused 801
Receiving objects: 100% (1747/1747), 461.53 KiB | 723.00 KiB/s, done.
Resolving deltas: 100% (1119/1119), completed with 127 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf node-api
+ git clone --reference-if-able ./cache/node-api https://github.com/kubernetes/node-api.git
Cloning into 'node-api'...
info: Could not add alternate for './cache/node-api': reference repository './cache/node-api' is not a local repository.
remote: Enumerating objects: 342, done.
remote: Counting objects: 100% (342/342), done.
remote: Compressing objects: 100% (145/145), done.
remote: Total 1669 (delta 245), reused 290 (delta 196), pack-reused 1327
Receiving objects: 100% (1669/1669), 1.69 MiB | 2.04 MiB/s, done.
Resolving deltas: 100% (767/767), done.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf sample-apiserver
+ git clone --reference-if-able ./cache/sample-apiserver https://github.com/kubernetes/sample-apiserver.git
Cloning into 'sample-apiserver'...
remote: Enumerating objects: 3979, done.
remote: Counting objects: 100% (3979/3979), done.
remote: Compressing objects: 100% (241/241), done.
remote: Total 7373 (delta 3840), reused 3859 (delta 3733), pack-reused 3394
Receiving objects: 100% (7373/7373), 3.38 MiB | 1.21 MiB/s, done.
Resolving deltas: 100% (4774/4774), completed with 1257 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf sample-cli-plugin
+ git clone --reference-if-able ./cache/sample-cli-plugin https://github.com/kubernetes/sample-cli-plugin.git
Cloning into 'sample-cli-plugin'...
remote: Enumerating objects: 1112, done.
remote: Counting objects: 100% (1112/1112), done.
remote: Compressing objects: 100% (140/140), done.
remote: Total 3031 (delta 1033), reused 1050 (delta 972), pack-reused 1919
Receiving objects: 100% (3031/3031), 1.84 MiB | 1.60 MiB/s, done.
Resolving deltas: 100% (1833/1833), completed with 252 local objects.
+ for repo in $(ls -1 kubernetes/staging/src/k8s.io)
+ rm -rf sample-controller
+ git clone --reference-if-able ./cache/sample-controller https://github.com/kubernetes/sample-controller.git
Cloning into 'sample-controller'...
remote: Enumerating objects: 2732, done.
remote: Counting objects: 100% (2732/2732), done.
remote: Compressing objects: 100% (138/138), done.
remote: Total 5283 (delta 2672), reused 2644 (delta 2592), pack-reused 2551
Receiving objects: 100% (5283/5283), 2.69 MiB | 1.98 MiB/s, done.
Resolving deltas: 100% (3358/3358), completed with 863 local objects.
+ for branch in v12.0.0
+ pushd /home/nikhita/go/src/github.com/nikhita/kube-gomod-test
~/go/src/github.com/nikhita/kube-gomod-test ~/go/src/k8s.io
+ git checkout v12.0.0
Already on 'v12.0.0'
Your branch is up to date with 'origin/v12.0.0'.
+ GO111MODULE=on
+ go mod tidy
+ GO111MODULE=on
+ go build .
+ git reset --hard
HEAD is now at 164ad1f Add gomod test for kubernetes-1.15.0
+ git clean -f -f -d
Removing kube-gomod-test
+ popd
~/go/src/k8s.io
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment