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

Add SIG Release charter #2919

Merged
merged 1 commit into from
Nov 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sig-release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ To understand how this file is generated, see https://git.k8s.io/community/gener
# Release Special Interest Group


The [charter](charter.md) defines the scope and governance of the Release Special Interest Group.

## Meetings
* Regular SIG Meeting: [Tuesdays at 21:00 UTC](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=21:00&tz=UTC).
* [Meeting notes and Agenda](https://docs.google.com/document/d/1Fu6HxXQu8wl6TwloGUEOXVzZ1rwZ72IAhglnaAMCPqA/edit?usp=sharing).
Expand Down
85 changes: 85 additions & 0 deletions sig-release/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# SIG Release Charter

This charter adheres to the conventions described in the [Kubernetes Charter README] and uses the Roles and Organization Management outlined in [sig-governance].

## Scope

- Production of Kubernetes releases on a reliable schedule
- Ensure there is a consistent group of community members in place to support the release process across time
- 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

### In scope

Copy link
Member

Choose a reason for hiding this comment

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

Typically I would expect to see Code and Binaries enumerated here. Going by sigs.yaml you apparently own hyperkube, anago, and docs for the release process.

  • Do you own package definitions that would be used to build .deb's, .rpm's or other packages, or are those considered downstream?
  • Do you own any of the files involved in building kubernetes? Things like k/k/build/ or k/k's Makefiles?
  • Do you own any jobs related to continuously building kubernetes, or are you solely responsible for manually produced builds?

- Ensuring quality Kubernetes releases
- Defining and staffing release roles to manage the resolution of release blocking criteria
- Defining and driving development processes (e.g. merge queues, cherrypicks) and release processes
(e.g. burndown meetings, cutting beta releases) with the intent of meeting the release schedule
- Managing the creation of release specific artifacts, including:
Copy link
Member

Choose a reason for hiding this comment

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

I know this is a bit tangled up with SIG Architecture if they are the owners of "what is Kubernetes" but... which artifacts? Or put another way, which subprojects are in-scope vs. out-of-scope?

Maybe today's answer is "everything in k/k"? There are specific subprojects that live in there that already are (client-go) or may soon be (kubeadm) released on a different cadence. We also want to consider what this looks like with things like out-of-tree cloud provider and cluster api provider subprojects.

- Code branches
- Binary artifacts
- Release notes
- Continually improving release and development processes
Copy link
Member

Choose a reason for hiding this comment

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

Are we still talking about Kubernetes releases here, or have we switched gears to releases of all Kubernetes subprojects?

- Working closely with SIG Contributor Experience to define and build tools to facilitate release process (e.g. dashboards)
- Working closely with SIG Testing to determine and implement tests, automation, and labeling required for stable releases
- Working with downstream communities responsible for packaging Kubernetes releases
- Working with other SIGs to agree upon the responsibilities of their SIG with respect to the release
- Defining and collecting metrics related to the release in order to measure progress over each release
- Facilitating release retrospectives
- Collaborating with downstream communities which build artifacts from Kubernetes releases

### Out of scope
Copy link
Member

Choose a reason for hiding this comment

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

As above, I think you're missing explicit details of which repos or subprojects you don't support. For example I doubt any repo in kubernetes-csi or kubernetes-client falls under your purview today


#### Support

SIG Release itself is not responsible for end user support or creation of patches for support streams. There are support forums for end users to ask questions and report bugs, subject matter experts in other SIGs triage and address issues and when necessary mark bug fixes for inclusion in a patch release.

## Roles and Organization Management

This SIG adheres to the Roles and Organization Management outlined in [sig-governance] and opts-in to updates and modifications to [sig-governance].

Specifically, the common guidelines (see: [sig-governance]) for continuity of membership within roles in the SIG are followed.

### Deviations from [sig-governance]

- SIG Release subprojects have subproject chairs
- SIG Release does not have top-level SIG Technical Leads. With few exceptions, technical decisions should be handled within the scope of the relevant SIG Release subproject.

#### SIG Membership

SIG Release has a concept of membership. SIG members can be occasionally called on to assist with decision making, especially as it relates to gathering historical context around existing policies and enacting new policy.

SIG Release membership is represented by membership in the `sig-release` GitHub team.

SIG Release membership is defined as the set of Kubernetes contributors included in:
- All SIG Release top-level subproject OWNERS files
- All documented former Release Team members holding Lead roles e.g., Enhancements Lead, Patch Release Team

Subproject `approvers` and incoming Release Team Leads should ensure that new members are added to the `sig-release` GitHub team.
Copy link
Member

Choose a reason for hiding this comment

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

Subproject owners


SIG Release Chairs will periodically review the `sig-release` GitHub team to ensure it remains accurate and up-to-date.

All SIG Release roles will be filled by SIG Release members, except where explicitly defined in other policy. A notable exception to this would be Release Team Shadows.

It may be implied, given the criteria for SIG membership, but to be explicit:
- SIG Release membership is representative of people who actively contribute to the health of the SIG. Given that, those members should also be enabled to help drive SIG Release policy.
- SIG Chairs should represent the sentiment of and facilitate the decision making by SIG Members.

### Subproject Creation

Subprojects must be created by [KEP] proposal and accepted by [lazy-consensus].

In the event that lazy consensus cannot be reached:
- Fallback to a majority decision by SIG Chairs
- SIG Release Members may override the majority decision of SIG Chairs by a supermajority (60%)

Additional requirements:
- KEP must establish subproject chairs
Copy link
Member

Choose a reason for hiding this comment

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

s/chairs/owners

- [sigs.yaml] must be updated to include subproject information and OWNERS files with subproject chairs


[KEP]: /keps/0000-kep-template.md
[Kubernetes Charter README]: /committee-steering/governance/README.md
[lazy-consensus]: http://communitymgt.wikia.com/wiki/Lazy_consensus
[sig-governance]: /committee-steering/governance/sig-governance.md
[sigs.yaml]: /sigs.yaml
2 changes: 1 addition & 1 deletion sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1504,7 +1504,7 @@ sigs:
- https://raw.githubusercontent.com/kubernetes/features/master/OWNERS
- name: Release
dir: sig-release
charter_link:
charter_link: charter.md
label: release
leadership:
chairs:
Expand Down