8000 istio/release at release-0.1 · aiminickwong/istio · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
 
 

release

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Istio Release

Overview

The release is started from the istio/istio module.

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.

Creating tags

From istio/istio, the istio.VERSION file should look like this

    $ cat istio.RELEASE

    # DO NOT EDIT THIS FILE MANUALLY instead use
    # tests/updateVersion.sh (see tests/README.md)
    export CA_HUB="docker.io/istio"
    export CA_TAG="0.1.2-d773c15"
    export MIXER_HUB="docker.io/istio"
    export MIXER_TAG="0.1.2-6bfa390"
    export ISTIOCTL_URL="https://storage.googleapis.com/istio-artifacts/pilot/stable-6dbd19d/artifacts/istioctl"
    export PILOT_HUB="docker.io/istio"
    export PILOT_TAG="0.1.2-6dbd19d"

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)"

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.

    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 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 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 push --tags origin

Rebuild Artifacts to include the tags

Go to Mixer stable artifacts job and click on Build with Parameters. Replace BRANCH_SPEC with the value of ${RELEASE_TAG}

Go to Pilot stable artifacts job and click on Build with Parameters. Replace BRANCH_SPEC with the value of ${RELEASE_TAG}

Go to Auth stable artifacts job and click on Build with Parameters. Replace BRANCH_SPEC with the value of ${RELEASE_TAG}

Updating istio.VERSION

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} \
       -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 push --tags origin

Creating Archives

Sync your workspace at ${RELEASE_TAG}:

    $ git reset --hard ${RELEASE_TAG}
    $ git clean -xdf

Create the release archives

    $ ./release/create_release_archives.sh
    ...
    Archives are available in /tmp/istio.version.A59u/archives

Open the GitHub Release page, and edit the release that points to ${RELEASE_TAG}. Uploads the artifacts created by the previous script.

Finalizing the release

Create a PR, where you increment istio.RELEASE for the next release and you update istio/downloadIstio.sh to point to ${RELEASE_TAG}

0