-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Closed
Description
- Prepare
istio/cni
.- Sync the fork of the
istio-iptables.sh
script. Update istio-iptables.sh in release-1.3 cni#157git clone git@github.com:istio/cni.git pushd cni git checkout release-1.3 git checkout -b update-istio-iptables-release-1.3 make -f tools/istio-cni-docker.mk update-istio-iptables.sh git add tools/packaging/common/istio-iptables.sh git commit -m 'Update istio-iptables.sh' git push --set-upstream origin update-istio-iptables-release-1.3 popd
- Sync the fork of the
- Check whether the commit SHAs in
istio/istio
andistio/proxy
are consistent.- Check whether the same
istio/api
commit is used inistio/istio
andistio/proxy
.git clone git@github.com:istio/istio.git pushd istio git checkout release-1.3 export ISTIO_API_SHA_ISTIO=$(sed -n 's,^.*istio\.io/api v0.0.0-[^-]*-,,p' go.mod) export ISTIO_PROXY_SHA_ISTIO=$(jq -r '.[] | select(.repoName == "proxy") | .lastStableSHA' < istio.deps) export GO_CONTROL_PLANE_SHA=$(sed -n 's,^.*github.com/envoyproxy/go-control-plane ,,p' go.mod) popd git clone git@github.com:istio/proxy.git pushd proxy git checkout $ISTIO_PROXY_SHA_ISTIO export ISTIO_API_SHA_PROXY=$(git rev-parse --short=12 $(sed -n 's,^ISTIO_API = "\([^"]*\)".*$,\1,p' < repositories.bzl)) export ENVOY_SHA_PROXY=$(sed -n 's,^ENVOY_SHA = "\([^"]*\)".*$,\1,p' < WORKSPACE) popd test "$ISTIO_API_SHA_ISTIO" != "$ISTIO_API_SHA_PROXY" && echo "different istio/api commits in istio/istio and istio/proxy"
- Check whether the version of Envoy from which the go-control-plane's API has been extracted from is no more than a few days older to the version of Envoy used in
istio/proxy
.If the versions are different, you'll have to update the version used ingit clone git@github.com:envoyproxy/go-control-plane.git pushd go-control-plane git checkout $GO_CONTROL_PLANE_SHA export DATA_PLANE_API_SHA=$(git submodule | sed -n 's,^-\([^ ]*\) data-plane-api.*$,\1,p') popd git clone git@github.com:envoyproxy/data-plane-api.git pushd data-plane-api git checkout $DATA_PLANE_API_SHA export ENVOY_SHA_DATA_PLANE_API=$(git log -1 | sed -n 's,^.*Mirrored from.*envoy @ ,,p') popd echo "Envoy SHA used in istio/proxy: https://github.com/istio/envoy/commit/$ENVOY_SHA_PROXY" echo "Envoy SHA used in envoyproxy/go-control-plane: https://github.com/envoyproxy/envoy/commit/$ENVOY_SHA_DATA_PLANE_API"
istio/istio
oristio/proxy
to use the most recent version in both repos. - Check whether the API commit SHA is the same in both
repositories.bzl
andistio.deps
inistio/proxy
.pushd proxy git checkout $ISTIO_PROXY_SHA export API_COMMIT_IN_REPOSITORIES=$(sed -n 's,^ISTIO_API = "\([^"]*\)".*$,\1,p' < repositories.bzl) export API_COMMIT_IN_DEPS=$(jq -r '.[] | select(.repoName == "api") | .lastStableSHA' < istio.deps) test "$API_COMMIT_IN_REPOSITORIES" != "$API_COMMIT_IN_DEPS" && echo "different API commits" popd
- Check whether the same
- Update the SHAs in
istio/proxy
. All SHAs should ideally be updated in a single PR since it takes ~1.5 hours to build an image after it is merged.- If necessary, update the version of Envoy used in
istio/proxy
. UpdateWORKSPACE
andistio.deps
with the same SHA. The SHA must exist in the istio/envoy:release-1.3 branch.WORKSPACE
istio.deps
- If the
istio/api
SHAs are different withinistio/proxy
betweenrepositories.bzl
andistio.deps
, fix it inistio.deps
.istio.deps
- If the
istio/api
SHA is behind the one used inistio/istio
, replace the SHA in bothrepositories.bzl
andistio.deps
to use the same as inistio/istio
.repositories.bzl
istio.deps
- If necessary, update the version of Envoy used in
- Update the SHAs in
istio/istio
. All SHAs should ideally be updated in a single PR to ensure consistency.- If the version of API used in the
go-control-plane
version is too far behind the Envoy version used inistio/proxy
:- If necessary, first create a new release of go-control-plane that uses the same API version as the Envoy version used in
istio/proxy
. - Update the
go-control-plane
version inistio/istio
ingo.mod
.go.mod
- If necessary, first create a new release of go-control-plane that uses the same API version as the Envoy version used in
- If necessary, update the
istio/proxy
SHA inistio/istio
inistio.deps
.istio.deps
- Update the
istio/cni
SHA inistio/istio
inistio.deps
. This SHA must be theHEAD
of therelease-1.3
branch. The release script pulls theHEAD
of the branch, not this specific SHA, but the SHA is printed out in the release manifest, so it's better to keep it consistent.istio.deps
- If the version of API used in the
- Build the release by updating the
monthly/release_params.sh
parameters to use the SHA of theHEAD
ofistio.istio:release-1.3
, and the1.3.0-rc.0
version. Build release 1.3.0-rc.0 istio-releases/pipeline#1079Wait until the build finishes and is available in https://gcsweb.istio.io/gcs/istio-prerelease/prerelease/1.3.0-rc.0/ and in draft state in https://github.com/istio/istio/releases.git clone git@github.com:istio/istio.git pushd istio git checkout release-1.3 export ISTIO_SHA=$(git rev-parse HEAD) popd git clone git@github.com:istio-releases/pipeline.git pushd pipeline git checkout release-1.3 git checkout -b create-1.3.0-rc.0-release sed -e 's/CB_BRANCH=.*$/CB_BRANCH=release-1.3/' \ -e 's/CB_COMMIT=.*$/CB_COMMIT='$ISTIO_SHA'/' \ -e 's/CB_VERSION=.*$/CB_VERSION=1.3.0-rc.0/' \ -i monthly/release_params.sh git add monthly/release_params.sh git commit -m 'Build release 1.3.0-rc.0' git push --set-upstream origin create-1.3.0-rc.0-release popd
- Run the long-running tests on the build. (owners: @mandarjog, @howardjohn, @JimmyCYJ)
- Publish the release in the GitHub UI. Use the
edit
button on the draft release in https://github.com/istio/istio/releases. Make sure thepre-release
box is checked. Remove theRELEASE NOTES
link from the description.