-
Notifications
You must be signed in to change notification settings - Fork 304
docs: Add Release process docs #56
docs: Add Release process docs #56
Conversation
caveat emptor: this still has some issues:
Also:
|
@jodh-intel @erick0z packaging work now provides qemu vanilla and qemu-lite.
|
304e6d9
to
925a454
Compare
Hi @jcvenegas - thanks - I've added Hi @klynnrif, @bergwolf, @kata-containers/architecture-committee - ptal. |
@jodh-intel others missing components are
|
wdyt @egernst, @grahamwhaley, @erick0z? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is really good to have!
Yes, we know it needs some more work, and it will be a bit of a 'living document' for a while, but still:
lgtm
Release-Checklist.md
Outdated
@@ -0,0 +1,79 @@ | |||
Change release process, instead create a release candidate we can test the HEAD what will be the last commit using new automated obs package generation we can generate and test commits based on HEAD. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sentance doesn't read well - can we clean that up a bit?
Also, can we have a #TITLE here at the top as well (right now it just dives right on in..)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some point to make clear are:
- By sending a PR to update the VERSION file, we exercise the CI that tell us the project health.
- OBS packages are created after we do tag the project repositories based in the tag we create.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh - that shouldn't even be there - zapped ;)
Release-Checklist.md
Outdated
|
||
- [ ] Get confirmation from metrics CI that performance is within acceptable limits. | ||
|
||
- [ ] Create an **annotated tag** for the new release version for the following repositories: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A hint/clue/link on how to make/ensure we make an annotated tag here would be nice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And, do we need to define the tag/version format and rules?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can add a link/ or describe that to ensure the process to tag is always the same use
kata-containers/packaging#16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done (in the main doc to avoid bloating out the checklist).
Release-Checklist.md
Outdated
- [ ] Ubuntu. | ||
|
||
- [ ] Check if any of the following need to be updated: | ||
- [ ] Architecture document. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you need double spaces here? - they did not indent on my github md doc view window.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added more comments about the process.
Release-Checklist.md
Outdated
@@ -0,0 +1,79 @@ | |||
Change release process, instead create a release candidate we can test the HEAD what will be the last commit using new automated obs package generation we can generate and test commits based on HEAD. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some point to make clear are:
- By sending a PR to update the VERSION file, we exercise the CI that tell us the project health.
- OBS packages are created after we do tag the project repositories based in the tag we create.
Release-Checklist.md
Outdated
|
||
Note that the "phase" element of the project encoded in the version strings needs to match for all components. For example, when a `beta` is released, the version string for *all* components should show `beta`. | ||
|
||
- [ ] Ensure all CI tests pass **for all architectures**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This ideally would be tested in the CI when we update versions file on a PR. We can add a section with the sub task that the CI should be able to done ( and add it if has not support today).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry - not quite clear on what you're saying here. I agree that this should all be automated and it should just be a simple check on Jenkins/Travis to ensure all the CI builds pass (for all architectures).
Maybe that's all it should be for now and I could just raise an issue on @bergwolf say (hi! ;) to investigate the ARM/$other_arch CI support?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should be specific on which architectures this will be done. Currently this isn't really a list AFAIU...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, since the CI currently only supports x86_64, do we want to just list that? @bergwolf - any thoughts?
Release-Checklist.md
Outdated
|
||
- [ ] Get confirmation from metrics CI that performance is within acceptable limits. | ||
|
||
- [ ] Create an **annotated tag** for the new release version for the following repositories: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can add a link/ or describe that to ensure the process to tag is always the same use
kata-containers/packaging#16
Release-Checklist.md
Outdated
- [ ] Add links to Installation instructions. | ||
- [ ] Document any common vulnerabilities and exposures (CVEs) fixed with links to the CVE database. | ||
|
||
- [ ] Upload any assets to github: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to upload the kernel and images for the release or only be provided as part of the packages?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I wasn't sure about this item. I'll remove it for now...
/cc @grahamwhaley, @erick0z, @egernst.
We may want to have in all repos tags for issues:
To at some point the release notes generator can know what are the new features for a release or what bugs were fixed. Also get an updated list of limitations. |
925a454
to
8b53798
Compare
@bergwolf, @grahamwhaley, @klynnrif - branch updated. |
Yeah, I like the idea of automating more of the release notes. I think this could be handled without additional tagging though - we just need to make the script:
|
@jodh-intel this looks good. I wonder if we should update the section about which architectures are tested in our CI to be specific. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Scrubbed for grammar, structure, and flow. Thanks!
Release-Checklist.md
Outdated
It should be pasted directly into a github issue and each item checked off as it is completed. | ||
|
||
- [ ] Raise PRs to update the `VERSION` file in the following repositories: | ||
- [ ] [agent][agent]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 8-12 suggest removing the period after each line because the bulleted list items are not complete sentences.
Release-Checklist.md
Outdated
- [ ] Get confirmation from metrics CI that performance is within acceptable limits. | ||
|
||
- [ ] Create a **signed and annotated tag** for the new release version for the following repositories: | ||
- [ ] [agent][agent]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 21-25 - same comment regarding removing the period after each bullet item.
Release-Checklist.md
Outdated
This is required by `git describe`. | ||
|
||
- [ ] Generate OBS packages based on `HEAD`: | ||
- [ ] [agent][agent]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 30 - 38 - same note regarding removing the period after each bullet list item.
Release-Checklist.md
Outdated
- [ ] [shim][shim]. | ||
- [ ] [throttler][throttler]. | ||
|
||
- [ ] Installation tests (must be done for major releases) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 40 - add a colon at the end: Installation tests (must be done for major releases):
Release-Checklist.md
Outdated
- [ ] [throttler][throttler]. | ||
|
||
- [ ] Installation tests (must be done for major releases) | ||
- [ ] Centos. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 41 - 43 - same note regarding removing the period after each bullet item.
Release-Checklist.md
Outdated
|
||
- [ ] Update public IRC channel with a link to the latest release. | ||
|
||
- [ ] Arrange for release to be communicated via other social media channels. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggested rewrite to stay active: Arrange communication of the release through other social media channels.
Releases.md
Outdated
|
||
For examples: `1.0.0`, `1.0.0-rc.5`, and `99.123.77+foo.bar.baz.5`. | ||
|
||
Semantic versioning is used since the version number is able to convey clear information about how a new version relates to the previous version. It can also provide assurances to allow users to know for example when they must upgrade compared with when they may wish to upgrade: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggested rewrite of second sentence: ... For example, semantic versioning can also provide assurances to allow users to know when they must upgrade compared with when they might want to upgrade:
Releases.md
Outdated
- When `PATCH` increases, the new release contains important **security fixes** | ||
and an upgrade is recommended. | ||
|
||
The patch field can contain extra details after the number. Dashes denote pre-release versions. `1.0.0-rc.5` in the example denotes the fifth release candidate for release `1.0.0`. Plus signs denote other details. In our example, `+foo.bar.baz.5` is additional information regarding release `99.123.77` in the example above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace "above" with "previous" at the end of line 27: In our example, +foo.bar.baz.5
is additional information regarding release 99.123.77
in the previous example.
Releases.md
Outdated
$ git tag -as $tag | ||
``` | ||
|
||
The tag name (`$tag` in the example above) must conform to the [versioning](#versioning) an example being `1.0.0-rc2`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tag name ($tag
in the previous example) must conform to the versioning (e.g. 1.0.0-rc2
).
Releases.md
Outdated
|
||
## Release process | ||
|
||
The Release Owner must follow the following process, which is designed to ensure clarity, quality, stability and auditability of each release: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the series comma after stability: The Release Owner must follow the following process, which is designed to ensure clarity, quality, stability, and auditability of each release:
Add a document providing an overview of releases along with the all-important release checklist. Fixes kata-containers#32. Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
8b53798
to
a070f18
Compare
Thanks @klynnrif - branch updated! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm - thanks!
skip euleros build due to timeout reason
Add a document providing an overview of releases along with the
all-important release checklist.
Fixes #32.
Signed-off-by: James O. D. Hunt james.o.hunt@intel.com