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

Create SIG Release #596

Merged
merged 1 commit into from
May 10, 2017
Merged

Conversation

calebamiles
Copy link
Contributor

As discussed on kubernetes-dev

Signed-off-by: caleb miles caleb.miles@coreos.com

@calebamiles
Copy link
Contributor Author

cc: @philips, @sarahnovotny

@calebamiles calebamiles requested a review from philips May 3, 2017 19:41
@david-mcmahon david-mcmahon self-requested a review May 3, 2017 20:30
# SIG Release

### Table of Contents
- [Purpose](#purpose)
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: TOC order doesn't match doc order (purpose is after join us in doc)

- Production of high quality Kubernetes releases on a reliable schedule
- Ensure there is a [consistent group of community members](https://docs.google.com/document/d/1JAUqKl-lYdYLQ7GUT_9LzqxwQv-PcOdyAxNRZKItajo/edit) [1] in place to support the release process
- Provide guidance and tooling to facilitate the production of automated releases
- Serve as a tightly integrated partner with other SIGs to integration their repositories into the release process
Copy link
Member

Choose a reason for hiding this comment

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

s/integration/integrate

Is the idea to release N repos at once as part of a release? (eg: must kubernetes/kubernetes and kubernetes/kubernetes.github.io be "released" in lockstep?) I would spell out that list of repos explicitly in this doc if so

Or to provide a consistent release process that can be reused by other repos?

Copy link
Contributor

Choose a reason for hiding this comment

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

The overall purpose/goal here is to ensure (early) collaboration and integration (tooling) with any release-critical repos outside of core kubernetes/kubernetes. I'm not sure we need to spell out that list here and now as there are no other repos that currently fall into this category? Maybe kubernetes/features for .0 releases.
Providing a more generalized release process is certainly part of this.

- Continually improving release and development processes
- Define and build tools to facilitate release process (e.g. dashboards)
- Work with downstream communities responsible for packaging Kubernetes releases
- Work with other SIGs to agree upon the responsibilities of their subarea with respect to the release
Copy link
Member

Choose a reason for hiding this comment

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

What's a subarea?

- Authority to accept or reject PRs to the kubernetes/kubernetes master branch during code slush period
- Changing the release timeline as needed if keeping it would materially impact the stability or quality of the release

these responsibilities will continue to be discharged by SIG release through the Release Team. This charter grants SIG
Copy link
Member

Choose a reason for hiding this comment

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

s/these/These

- Ensure the appropriate level of integration with publishing the OSS build artifacts

## Specific responsibilities
- Manage repositories and tooling dedicated to releasing Kubernetes which at time of chartering these include
Copy link
Member

Choose a reason for hiding this comment

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

kubernetes/features has historically been somewhat involved as a criteria for inclusion into a given release, it's unclear to me what the overlap would be with @kubernetes/kubernetes-pm

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, reaching into kubernetes/features started late last year. Certainly worth including in this list. While the contents of the release notes files are the responsibility of many SIGs, the tooling to utilize/access it falls under SIG-release.

The release team will be responsible for the following items, as well as remaining active members of SIG-release for the
duration of the release.

### "Minor" Releases
Copy link
Member

Choose a reason for hiding this comment

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

Dare I ask whether we ever consider the possibility of a Major release?

Copy link
Contributor

@david-mcmahon david-mcmahon May 3, 2017

Choose a reason for hiding this comment

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

I don't believe such a thing has ever even been discussed in the project, but it certainly would be a large discussion involving many SIGs with a strong focus on sig-testing and sig-release. I suspect we'll update SIG charters once we start planning to cross that bridge. It couldn't hurt to leave a placeholder here.

@@ -0,0 +1,8 @@
## SIG Release Membership
Copy link
Member

Choose a reason for hiding this comment

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

I would recommend moving this into README.md as "Organizers" and use inclusion in the kubernetes-sig-release google group(s) as membership, rather than having to update this table

Copy link
Member

Choose a reason for hiding this comment

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

I second this. Everybody may join the SIG mailing list and be a "member". Let's use more common naming as "SIG leaders" (if the leadership is meant 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.

I think Google Group membership is insufficient for listing members for the purposes of communication. Personally communicating with me via email is the least effective way to reach me and my Google+ profile does not link my GitHub id which is practically a much more important identifier for the project. Moreover I would like to have all of our documentation listed in source control somewhere.

There is also a thread about having GitHub team membership information stored in source control for greater visibility for the community and I thought it makes sense to support that idea here.

Copy link
Member

Choose a reason for hiding this comment

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

@calebamiles do we need to count the heads of members? I've been speaking about the people with the leadership role.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@idvoretskyi, I think we'll need to store the list of members (by GitHub id) somewhere in order to expose the membership of GitHub teams to non org members. Given that essentially any contribution to the project comes a PR sonewhere I think it's perfectly reasonable to expect people who want to declare their membership to file a PR to update the table themselves. People listed here should be more than passively invested in the goals of the SIG.

Copy link
Member

Choose a reason for hiding this comment

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

@calebamiles I'm ok with merging it as is - don't want this item to be a blocker.

But IMO, it's not a common practice for SIG's to have a similar list of people.

Copy link
Member

Choose a reason for hiding this comment

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

same here, this feels like it may turn into more administrivia than it's worth, but let's find out


## Broad responsibilities
- Ensuring high quality Kubernetes releases
- Define and staff release roles to manage resolving and communicating the status of release blocking criteria
Copy link
Contributor

Choose a reason for hiding this comment

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

link to release roles doc

- Define and staff release roles to manage resolving and communicating the status of release blocking criteria
- Define and drive development processes (e.g. merge queues, cherrypicks) and release processes
(e.g. burndown meetings, cutting beta releases) with the intent of meeting the release timeline and delivering an
on time release
Copy link
Contributor

Choose a reason for hiding this comment

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

last two phrases are redundant I think

Copy link
Contributor

Choose a reason for hiding this comment

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

also, I think release/burndown process has been different for each release. I think this group is responsible for standardizing that (e.g. all issues in the milestone block the release, using blocking/non-blocking labels, test flake count, etc).

- Binary distributions
- Release notes
- Continually improving release and development processes
- Define and build tools to facilitate release process (e.g. dashboards)
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm all for this, but please work with contribX. I don't want to duplicate work where possible

Copy link
Member

Choose a reason for hiding this comment

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

Agree with @grodrigues3, let's not duplicate the responsibilities.

- Test coverage
- Dashboards
- Status reports
- Define template and format release communications
Copy link
Contributor

Choose a reason for hiding this comment

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

This has some overlap with the docs and pm team too. Does this include things like blog posts and announcements

Copy link
Contributor Author

Choose a reason for hiding this comment

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

was not thinking it included blog posts.


these responsibilities will continue to be discharged by SIG release through the Release Team. This charter grants SIG
Release the following additional responsibilities
- Authority to revert code changes which imperil the ability to produce a release by the communicated date or otherwise
Copy link
Contributor

Choose a reason for hiding this comment

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

e.g. undocumented features, untested or not sufficiently tested features,


### "Minor" Releases
For each minor release (e.g. 1.7, 1.8)
- Shepherd each release to completion
Copy link
Contributor

Choose a reason for hiding this comment

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

What does this mean? I think this is the release-team's job not the sig-release

Copy link
Contributor Author

Choose a reason for hiding this comment

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

these are all under the "ongoing responsibilities of the Release Team" header

- GitHub issues
- Define and enforce development process as it relates to the release
- Code slush time and Merge Queue access
- Enforcing feature freeze + approving exceptions
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this is the release team as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

under the same heading

(e.g. burndown meetings, cutting beta releases) with the intent of meeting the release timeline and delivering an
on time release
- Manage the creation of release specific artifacts including
- Code branches
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the release team does and should be responsible for these things.

@grodrigues3
Copy link
Contributor

@calebamiles thanks for getting the ball rolling on this.

I think the most important part is defining the Purpose/Broad Responsibilities (which I think can be merged in the doc). Right now, many of the responsibilities seem to overlap with the release team. I think the release team is responsible for all the release specific jobs (stable release, on-time, burndowns, etc).

Sig-release seems like it should:

  • Staff the release team and resolve discussions surrounding staff
  • Define policies to promote stable timely releases
  • Define/refine release roles as the project evolves
  • Provide guidance to current release team as needed
  • Grow and mentor the community so we have a capable, knowledgeable pool of contributors ready to take on release team roles

It should not actually manage a release and do things like:

  • Grant exceptions to features outside of the feature freeze
  • Enforce release policies (docs completion, release notes completion, testing, etc)
  • Create release branches

I think those kinds of things are the responsibility of the release team.

@spiffxp
Copy link
Member

spiffxp commented May 3, 2017

@grodrigues3 FWIW my read was the release team is by definition a subset of SIG Release, and so it made sense to spell out their responsibilities here as well


## Join us!
- [Google group](https://groups.google.com/forum/#!forum/kubernetes-sig-release)
- [Slack channel](https://kubernetes.slack.com/messages/C56HWQ0TH/)
Copy link
Member

Choose a reason for hiding this comment

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

There is also #k8s-release as used by the release team, should that be decommissioned?

Copy link
Member

Choose a reason for hiding this comment

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

In order to not lose the history, should the old channel just be renamed and take over for the new channel?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

rename sounds good

- Binary distributions
- Release notes
- Continually improving release and development processes
- Define and build tools to facilitate release process (e.g. dashboards)
Copy link
Member

Choose a reason for hiding this comment

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

Agree with @grodrigues3, let's not duplicate the responsibilities.

- GitHub issues
- Define and enforce development process as it relates to the release
- Code slush time and Merge Queue access
- Enforcing feature freeze + approving exceptions
Copy link
Member

Choose a reason for hiding this comment

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

Feature freeze enforcement has to be performed by a release team, together with SIG-PM.

@@ -0,0 +1,8 @@
## SIG Release Membership
Copy link
Member

Choose a reason for hiding this comment

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

I second this. Everybody may join the SIG mailing list and be a "member". Let's use more common naming as "SIG leaders" (if the leadership is meant here).

@grodrigues3
Copy link
Contributor

@spiffxp in that case, I think we should merge these two docs. Doesn't make sense to specify the release team roles and responsibilities in two places, right?

https://github.com/kubernetes/community/tree/master/contributors/devel/release

@pwittrock
Copy link
Member

@calebamiles Are we close to merging this?

@luxas
Copy link
Member

luxas commented May 9, 2017

Also related: kubernetes/enhancements#288

@calebamiles
Copy link
Contributor Author

I just got around to making the changes suggested by @spiffxp and @grodrigues3 (sorry at OpenStack Summit in Boston). If you could take a look, @pwittrock that would be great. To answer your question though I do think we're close to merging this.

@grodrigues3
Copy link
Contributor

last open comment looks resolved for now.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 9, 2017
- Provide guidance and tooling to facilitate the production of automated releases
- Serve as a tightly integrated partner with other SIGs to empower SIGs to integrate their repositories into the release process

## Join us!
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: can you add a link to meeting notes. And possibly create a google doc based off one of the other sigs meeting notes

## Join us!
- [Google group](https://groups.google.com/forum/#!forum/kubernetes-sig-release)
- [Slack channel](https://kubernetes.slack.com/messages/C56HWQ0TH/)
- [Events and meetings calendar](https://calendar.google.com/calendar/embed?src=coreos.com_regcvcrgvq98lua2ikijg1g1uk%40group.calendar.google.com&ctz=America/Los_Angeles)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

As discussed on [kubernetes-dev](https://groups.google.com/forum/#!topic/kubernetes-dev/tOBsGSwOcJM)

Signed-off-by: caleb miles <caleb.miles@coreos.com>
@calebamiles calebamiles merged commit 2c18850 into kubernetes:master May 10, 2017
@calebamiles calebamiles deleted the propose-sig-release branch May 10, 2017 11:56
danehans pushed a commit to danehans/community that referenced this pull request Jul 18, 2023
* Start 2021 Community Seat election process.

* update steering members
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants