Skip to content

Commit

Permalink
updating from following the steps on a branch (istio#389)
Browse files Browse the repository at this point in the history
updating from following the steps on a branch

Former-commit-id: cd9df20
  • Loading branch information
ldemailly authored Jun 8, 2017
1 parent 38a3338 commit b672e13
Showing 1 changed file with 16 additions and 12 deletions.
28 changes: 16 additions & 12 deletions release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@ Istio release is currently composed of artifacts for the following repos:

The release consists in retagging the artifacts and creating new annotated tags.

Note that only Admins can create a release.
Note that only Contributors can create a release (tags).

If you are making a release from a branch, use the branch name, e.g. `BRANCH=release-0.1` for 0.1 or `master` for master.

## Creating tags

From [istio/istio](https://github.com/istio/istio), the ```istio.VERSION``` file should look like this

$ cat istio.RELEASE

$ cat istio.VERSION
# DO NOT EDIT THIS FILE MANUALLY instead use
# tests/updateVersion.sh (see tests/README.md)
export CA_HUB="docker.io/istio"
Expand All @@ -34,28 +35,28 @@ Please make sure that ISTIOCTL_URL and PILOT_TAG points to the same SHA.

The next release version is stored in ```istio.RELEASE```:

RELEASE_TAG="$(cat istio.RELEASE)"
RELEASE_TAG="$(cat istio.RELEASE)"; echo $RELEASE_TAG

The next step is to create an annotated tag for each of the repo.
Fortunately each tag contains the short SHA at which it was built.
Fortunately each tag above contains the short SHA at which it was built.

PILOT_SHA=6dbd19d
MIXER_SHA=6bfa390
AUTH_SHA=d773c15

$ git clone https://github.com/istio/pilot
$ cd pilot
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${PILOT_TAG}
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${PILOT_SHA}
$ git push --tags origin

$ git clone https://github.com/istio/mixer
$ cd mixer
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${MIXER_TAG}
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${MIXER_SHA}
$ git push --tags origin

$ git clone https://github.com/istio/auth
$ cd auth
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${AUTH_TAG}
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${AUTH_SHA}
$ git push --tags origin

## Rebuild Artifacts to include the tags
Expand All @@ -76,15 +77,16 @@ Replace ```BRANCH_SPEC``` with the value of ```${RELEASE_TAG}```

Now we need update the tags ```istio.VERSION``` to point to the release tag.

$ ./updateVersion.sh -m docker.io/istio,${RELEASE_TAG} \
-C docker.io/istio,${RELEASE_TAG} -x docker.io/istio,${RELEASE_TAG} \
$ git checkout -b ${USER}-${RELEASE_TAG} origin/${BRANCH}
$ install/updateVersion.sh -p docker.io/istio,${RELEASE_TAG} \
-c docker.io/istio,${RELEASE_TAG} -x docker.io/istio,${RELEASE_TAG} \
-i https://storage.googleapis.com/istio-artifacts/pilot/${RELEASE_TAG}/artifacts/istioctl

Create a commit with name "Istio Release ${RELEASE_TAG}", and a PR.
Once tests are completed, merge the PR, and create an annotated tags

$ git pull origin master
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${PILOT_TAG}
$ git pull origin ${BRANCH}
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" HEAD # assuming nothing else was committed
$ git push --tags origin

## Creating Archives
Expand All @@ -97,6 +99,8 @@ Sync your workspace at ${RELEASE_TAG}:
Create the release archives

$ ./release/create_release_archives.sh
# On a Mac
$ CP=gcp TAR=gtar ./release/create_release_archives.sh
...
Archives are available in /tmp/istio.version.A59u/archives

Expand Down

0 comments on commit b672e13

Please sign in to comment.