Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme about new automated release process #595

Merged
merged 4 commits into from
Aug 24, 2017

Conversation

chxchx
Copy link
Contributor

@chxchx chxchx commented Aug 23, 2017

Release note:

None

@chxchx
Copy link
Contributor Author

chxchx commented Aug 23, 2017

/assign @sebastienvas
/assign @rvkubiak
/assign @geeknoid
PTAL

## Creating tags
## Semi-automated Release Since 0.2

Release from 0.2 onward is semi automated. It is still driven from a release engineer desktop but all actions are automated using [githubctl](https://github.com/istio/test-infra/blob/master/toolbox/githubctl/main.go), a tool of our own that acts as a github client making REST calls through the github API. The release process goes like the following:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also document how to get githubctl and build it. ie
git clone test-infra
bazel build ..
alias githubctl ${PWD/bazel-bin.....

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

--base_branch=<release branch or master>

# The previous command triggers rebuild and retagging on pilot, mixer and auth.
# Wait for them to finish, then create an update PR in istio/istio
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rvkubiak We'll need to have a public link for this. Is this possible ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually artifacts from pilot, mixer and auth are available through the release on github, so maybe a public link at this step is not necessary?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the confusion. For people that don't have access to the GCP project where GCB is setup, we need to know when artifacts are created such that we can proceed.


# The previous command triggers rebuild and retagging on pilot, mixer and auth.
# Wait for them to finish, then create an update PR in istio/istio
$ githubctl --token_file=<github token file> \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually does the tool logs the PR created, it would be good to also know which PR we are waiting for here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it does. At the end of console output, it will say something like

2017/08/22 00:03:18 Created new PR at https://github.com/istio/istio/pull/588

Copy link
Contributor

@sebastienvas sebastienvas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor edits

@chxchx
Copy link
Contributor Author

chxchx commented Aug 24, 2017

PTAL

@sebastienvas
Copy link
Contributor

/lgtm

@sebastienvas
Copy link
Contributor

/retest


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
## Semi-automated Release Since 0.2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release Since -> release since

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

## Creating tags
## Semi-automated Release Since 0.2

Release from 0.2 onward is semi-automated. It is still driven from a release engineer desktop but all actions are automated using [githubctl](https://github.com/istio/test-infra/blob/master/toolbox/githubctl/main.go), a tool of our own that acts as a github client making REST calls through the github API. One may get githubctl from the istio/test-infra repository
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The release process is semi-automated starting with release 0.2.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

github -> GitHub

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please wrap lines so they aren't longer than ~100 chars or so.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

$ githubctl --token_file=<github token file> \
--op=updateIstioVersion --base_branch=<release branch or master>

# Wait for the PR to merged.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be merged

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

--op=updateIstioVersion --base_branch=<release branch or master>

# Wait for the PR to merged.
# Then create the release in github, upload the artifacts,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

--next_release=0.2.2
```

## Manual Release Process
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manual release process

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -59,7 +97,7 @@ Fortunately each tag above contains the short SHA at which it was built.
$ git tag -a ${RELEASE_TAG} -m "Istio Release ${RELEASE_TAG}" ${AUTH_SHA}
$ git push --tags origin

## Rebuild Artifacts to include the tags
### Rebuild Artifacts to include the tags
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Artifacts -> artifacts

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@@ -12,11 +12,49 @@ Istio release is currently composed of artifacts for the following repos:

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This document deserves a table of contents. See istio/istio/README.md for an example TOC format.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@istio-merge-robot
Copy link

/lgtm cancel //PR changed after LGTM, removing LGTM. @chxchx @sebastienvas

@chxchx
Copy link
Contributor Author

chxchx commented Aug 24, 2017

@geeknoid PTAL

@istio-testing
Copy link
Collaborator

@chxchx: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
prow/e2e-suite-rbac-no_auth.sh 1ad97af link /test e2e-suite-rbac-no_auth
prow/e2e-suite-rbac-auth.sh 1ad97af link /test e2e-suite-rbac-auth
prow/e2e-suite-no_rbac-auth.sh 1ad97af link /test e2e-suite-no_rbac-auth

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@chxchx
Copy link
Contributor Author

chxchx commented Aug 24, 2017

@sebastienvas The LGTM label was removed due to another commit by me. Would you mind adding it again? Thanks!

@sebastienvas
Copy link
Contributor

/lgtm

@sebastienvas sebastienvas merged commit 857f64e into istio:master Aug 24, 2017
@istio-merge-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: sebastienvas
We suggest the following additional approver: geeknoid

Assign the PR to them by writing /assign @geeknoid in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

mandarjog pushed a commit to mandarjog/istio that referenced this pull request Oct 30, 2017
Former-commit-id: 1e9e580cc6d173ca1326ad7c4aaef0230a58644c
rshriram pushed a commit that referenced this pull request Oct 30, 2017
* Update readme aboutnew release process

* Explain how to get and use githubctl

* Table of content, formatting and wording


Former-commit-id: 857f64e
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
Former-commit-id: df73d504407ebbad28ea3b48272adaeaafdc7094
vbatts pushed a commit to vbatts/istio that referenced this pull request Oct 31, 2017
* Update readme aboutnew release process

* Explain how to get and use githubctl

* Table of content, formatting and wording


Former-commit-id: 857f64e
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
* Add gdb, curl and vim to debug image to chase envoy crashes

* Add emacs and nano

* Remove one extra curl
mandarjog pushed a commit that referenced this pull request Nov 2, 2017
* Update readme aboutnew release process

* Explain how to get and use githubctl

* Table of content, formatting and wording


Former-commit-id: 857f64e
kyessenov pushed a commit to kyessenov/istio that referenced this pull request Aug 13, 2018
* Add quota config parser

* Rename to EmptyMatch

* Not to return true for default case

* Revert "Not to return true for default case"

This reverts commit 855bf434621668a740bc4bf03f76a371564560df.

* Ignore not_set and regex

* Add regex support .

* update comment
howardjohn pushed a commit to howardjohn/istio that referenced this pull request Jan 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants