diff --git a/release-tools/SIDECAR_RELEASE_PROCESS.md b/release-tools/SIDECAR_RELEASE_PROCESS.md index 6960607ef5..f6434c8258 100644 --- a/release-tools/SIDECAR_RELEASE_PROCESS.md +++ b/release-tools/SIDECAR_RELEASE_PROCESS.md @@ -86,6 +86,12 @@ naming convention `-on-`. [external-provisioner example](https://github.com/kubernetes-csi/external-provisioner/releases/new) 1. If release was a new major/minor version, create a new `release-` branch at that commit. +1. Check [image build status](https://k8s-testgrid.appspot.com/sig-storage-image-build). +1. Promote images from k8s-staging-sig-storage to k8s.gcr.io/sig-storage. From + the [k8s image + repo](https://github.com/kubernetes/k8s.io/tree/master/k8s.gcr.io/images/k8s-staging-sig-storage), + run `./generate.sh > images.yaml`, and send a PR with the updated images. + Once merged, the image promoter will copy the images from staging to prod. 1. Update [kubernetes-csi/docs](https://github.com/kubernetes-csi/docs) sidecar and feature pages with the new released version. 1. After all the sidecars have been released, update diff --git a/release-tools/prow.sh b/release-tools/prow.sh index 9778635f92..05d397a977 100755 --- a/release-tools/prow.sh +++ b/release-tools/prow.sh @@ -218,17 +218,18 @@ configvar CSI_PROW_DRIVER_CANARY "${CSI_PROW_HOSTPATH_CANARY}" "driver image ove # all generated files are present. # # CSI_PROW_E2E_REPO=none disables E2E testing. -# TOOO: remove versioned variables and make e2e version match k8s version -configvar CSI_PROW_E2E_VERSION_1_15 v1.15.0 "E2E version for Kubernetes 1.15.x" -configvar CSI_PROW_E2E_VERSION_1_16 v1.16.0 "E2E version for Kubernetes 1.16.x" -configvar CSI_PROW_E2E_VERSION_1_17 v1.17.0 "E2E version for Kubernetes 1.17.x" -# TODO: add new CSI_PROW_E2E_VERSION entry for future Kubernetes releases -configvar CSI_PROW_E2E_VERSION_LATEST master "E2E version for Kubernetes master" # testing against Kubernetes master is already tracking a moving target, so we might as well use a moving E2E version -configvar CSI_PROW_E2E_REPO_LATEST https://github.com/kubernetes/kubernetes "E2E repo for Kubernetes >= 1.13.x" # currently the same for all versions -configvar CSI_PROW_E2E_IMPORT_PATH_LATEST k8s.io/kubernetes "E2E package for Kubernetes >= 1.13.x" # currently the same for all versions -configvar CSI_PROW_E2E_VERSION "$(get_versioned_variable CSI_PROW_E2E_VERSION "${csi_prow_kubernetes_version_suffix}")" "E2E version" -configvar CSI_PROW_E2E_REPO "$(get_versioned_variable CSI_PROW_E2E_REPO "${csi_prow_kubernetes_version_suffix}")" "E2E repo" -configvar CSI_PROW_E2E_IMPORT_PATH "$(get_versioned_variable CSI_PROW_E2E_IMPORT_PATH "${csi_prow_kubernetes_version_suffix}")" "E2E package" +tag_from_version () { + version="$1" + shift + case "$version" in + latest) echo "master";; + release-*) echo "$version";; + *) echo "v$version";; + esac +} +configvar CSI_PROW_E2E_VERSION "$(tag_from_version "${CSI_PROW_KUBERNETES_VERSION}")" "E2E version" +configvar CSI_PROW_E2E_REPO "https://github.com/kubernetes/kubernetes" "E2E repo" +configvar CSI_PROW_E2E_IMPORT_PATH "k8s.io/kubernetes" "E2E package" # csi-sanity testing from the csi-test repo can be run against the installed # CSI driver. For this to work, deploying the driver must expose the Unix domain @@ -513,6 +514,10 @@ go_version_for_kubernetes () ( if ! [ "$go_version" ]; then die "Unable to determine Go version for Kubernetes $version from hack/lib/golang.sh." fi + # Strip the trailing .0. Kubernetes includes it, Go itself doesn't. + # Ignore: See if you can use ${variable//search/replace} instead. + # shellcheck disable=SC2001 + go_version="$(echo "$go_version" | sed -e 's/\.0$//')" echo "$go_version" ) diff --git a/release-tools/travis.yml b/release-tools/travis.yml index bfd7647bac..1ab13aef2d 100644 --- a/release-tools/travis.yml +++ b/release-tools/travis.yml @@ -6,7 +6,7 @@ git: depth: false matrix: include: - - go: 1.13.3 + - go: 1.15 before_script: - mkdir -p bin - wget https://github.com/golang/dep/releases/download/v0.5.1/dep-linux-amd64 -O bin/dep diff --git a/vendor/modules.txt b/vendor/modules.txt index 2268691ead..703fb78676 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -3,10 +3,13 @@ github.com/beorn7/perks/quantile # github.com/blang/semver v3.5.0+incompatible github.com/blang/semver # github.com/container-storage-interface/spec v1.2.0 +## explicit github.com/container-storage-interface/spec/lib/go/csi # github.com/davecgh/go-spew v1.1.1 +## explicit github.com/davecgh/go-spew/spew # github.com/evanphx/json-patch v4.5.0+incompatible +## explicit github.com/evanphx/json-patch # github.com/go-logr/logr v0.2.0 github.com/go-logr/logr @@ -16,8 +19,10 @@ github.com/gogo/protobuf/sortkeys # github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7 github.com/golang/groupcache/lru # github.com/golang/mock v1.4.3 +## explicit github.com/golang/mock/gomock # github.com/golang/protobuf v1.4.2 +## explicit github.com/golang/protobuf/descriptor github.com/golang/protobuf/proto github.com/golang/protobuf/protoc-gen-go/descriptor @@ -42,16 +47,19 @@ github.com/googleapis/gnostic/openapiv2 github.com/hashicorp/golang-lru github.com/hashicorp/golang-lru/simplelru # github.com/imdario/mergo v0.3.9 +## explicit github.com/imdario/mergo # github.com/json-iterator/go v1.1.10 github.com/json-iterator/go # github.com/kubernetes-csi/csi-lib-utils v0.7.0 +## explicit github.com/kubernetes-csi/csi-lib-utils/connection github.com/kubernetes-csi/csi-lib-utils/leaderelection github.com/kubernetes-csi/csi-lib-utils/metrics github.com/kubernetes-csi/csi-lib-utils/protosanitizer github.com/kubernetes-csi/csi-lib-utils/rpc # github.com/kubernetes-csi/csi-test/v3 v3.1.0 +## explicit github.com/kubernetes-csi/csi-test/v3/driver github.com/kubernetes-csi/csi-test/v3/utils # github.com/matttproud/golang_protobuf_extensions v1.0.1 @@ -113,6 +121,7 @@ google.golang.org/appengine/urlfetch # google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 google.golang.org/genproto/googleapis/rpc/status # google.golang.org/grpc v1.28.0 +## explicit google.golang.org/grpc google.golang.org/grpc/attributes google.golang.org/grpc/backoff @@ -192,6 +201,7 @@ gopkg.in/inf.v0 # gopkg.in/yaml.v2 v2.2.8 gopkg.in/yaml.v2 # k8s.io/api v0.19.0-rc.2 +## explicit k8s.io/api/admissionregistration/v1 k8s.io/api/admissionregistration/v1beta1 k8s.io/api/apps/v1 @@ -234,6 +244,7 @@ k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 # k8s.io/apimachinery v0.19.0-rc.2 +## explicit k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors k8s.io/apimachinery/pkg/api/meta @@ -278,6 +289,7 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/reflect # k8s.io/client-go v0.19.0-rc.2 +## explicit k8s.io/client-go/discovery k8s.io/client-go/discovery/fake k8s.io/client-go/informers @@ -494,11 +506,13 @@ k8s.io/cloud-provider/volume k8s.io/component-base/metrics k8s.io/component-base/version # k8s.io/csi-translation-lib v0.19.0-rc.2 +## explicit k8s.io/csi-translation-lib k8s.io/csi-translation-lib/plugins # k8s.io/klog v1.0.0 k8s.io/klog # k8s.io/klog/v2 v2.2.0 +## explicit k8s.io/klog/v2 # k8s.io/kube-openapi v0.0.0-20200427153329-656914f816f9 k8s.io/kube-openapi/pkg/util/proto @@ -510,3 +524,23 @@ k8s.io/utils/trace sigs.k8s.io/structured-merge-diff/v3/value # sigs.k8s.io/yaml v1.2.0 sigs.k8s.io/yaml +# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.17.0 +# k8s.io/apiserver => k8s.io/apiserver v0.17.0 +# k8s.io/cli-runtime => k8s.io/cli-runtime v0.17.0 +# k8s.io/cloud-provider => k8s.io/cloud-provider v0.17.0 +# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.17.0 +# k8s.io/code-generator => k8s.io/code-generator v0.17.1-beta.0 +# k8s.io/component-base => k8s.io/component-base v0.17.0 +# k8s.io/cri-api => k8s.io/cri-api v0.17.1-beta.0 +# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.17.0 +# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.17.0 +# k8s.io/kube-proxy => k8s.io/kube-proxy v0.17.0 +# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.17.0 +# k8s.io/kubectl => k8s.io/kubectl v0.17.0 +# k8s.io/kubelet => k8s.io/kubelet v0.17.0 +# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.17.0 +# k8s.io/metrics => k8s.io/metrics v0.17.0 +# k8s.io/node-api => k8s.io/node-api v0.17.0 +# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.17.0 +# k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.17.0 +# k8s.io/sample-controller => k8s.io/sample-controller v0.17.0