Skip to content

Commit

Permalink
WIP: create wg-code-quality
Browse files Browse the repository at this point in the history
Create wg charter, adjust md generator to add working groups, update
types definition to latest requirements.

Update sig-list.md to reflect changes.

Signed-off-by: Daniel Hiller <[email protected]>
  • Loading branch information
dhiller committed Oct 10, 2024
1 parent 76b09b5 commit 2d2c61f
Show file tree
Hide file tree
Showing 6 changed files with 143 additions and 18 deletions.
9 changes: 9 additions & 0 deletions generators/cmd/sigs/sig-list.gomd
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ Each group's material is in its subdirectory in this project.
{{ end }}
{{end}}

{{ if $.Sigs.Workinggroups }}
### Working Groups

| Name | Label [1] | Chairs [2] | Contact | Meetings |
|------|-----------|---------|---------|----------|
{{ range $wg := $.Sigs.Workinggroups }}{{ template "group" $wg }}
{{ end }}
{{end}}

{{ if $.Sigs.Committees }}
### Committees

Expand Down
40 changes: 22 additions & 18 deletions pkg/sigs/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,28 @@
package sigs

type Sigs struct {
Sigs []*Group `yaml:"sigs"`
Usergroups []*Group `yaml:"usergroups"`
Committees []*Group `yaml:"committees"`
Sigs []*Group `yaml:"sigs"`
Workinggroups []*Group `yaml:"workinggroups"`
Usergroups []*Group `yaml:"usergroups"`
Committees []*Group `yaml:"committees"`
}

type Group struct {
Dir string
Name string
MissionStatement string `yaml:"mission_statement,omitempty"`
Label string `yaml:",omitempty"`
Leadership *Leadership `yaml:",omitempty"`
Meetings []*Meeting `yaml:",omitempty"`
Contact *Contact `yaml:",omitempty"`
SubProjects []*SubProjects `yaml:",omitempty"`
MissionStatement string `yaml:"mission_statement,omitempty"`
Label string `yaml:",omitempty"`
Leadership *Leadership `yaml:",omitempty"`
Meetings []*Meeting `yaml:",omitempty"`
Contact *Contact `yaml:",omitempty"`
SubProjects []*SubProject `yaml:",omitempty"`
}

type Contact struct {
Slack string `yaml:"slack"`
MailingList string `yaml:"mailing_list"`
Teams []*Team `yaml:"teams"`
Slack string `yaml:"slack"`
MailingList string `yaml:"mailing_list"`
Teams []*Team `yaml:"teams"`
Liaison *OrgMember `yaml:"liaison"`
}

type Team struct {
Expand All @@ -59,16 +61,18 @@ type Meeting struct {
}

type Leadership struct {
Chairs []*Chair
Chairs []*OrgMember
}

type Chair struct {
type OrgMember struct {
Github string
Name string
Company string
Company string `yaml:",omitempty"`
}

type SubProjects struct {
Name string
Owners []string
type SubProject struct {
Name string
Description string `yaml:",omitempty"`
Owners []string
Leads []*OrgMember `yaml:",omitempty"`
}
9 changes: 9 additions & 0 deletions sig-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,15 @@ Each group's material is in its subdirectory in this project.



### Working Groups

| Name | Label [1] | Chairs [2] | Contact | Meetings |
|------|-----------|---------|---------|----------|
|[Code-Quality Working Group](wg-code-quality/charter.md) |[wg/code-quality](https://github.com/kubevirt/kubevirt/labels/wg/code-quality)|<ol><li>[? ?](https://github.com/?), ?</li><li>[Daniel Hiller](https://github.com/dhiller), Red Hat</li></ol> |[Slack](kubevirt-dev)<br/> [Mailing List](https://groups.google.com/forum/#!forum/kubevirt-dev) |<ul><li>KubeVirt Code-Quality Working Group meeting: [ Thu at 09:00 UTC (weekly) ](https://meet.google.com/dyc-ocnp-vww)</li></ul> |





[1]: https://github.com/kubevirt/project-infra/blob/main/docs/labels.md
[2]: https://github.com/kubevirt/community/blob/main/membership_policy.md
32 changes: 32 additions & 0 deletions sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,38 @@ sigs:
teams:
- name: kubevirt-community
description: General Discussion
workinggroups:
- dir: wg-code-quality
name: Code-Quality Working Group
mission_statement: |
The Code-Quality Working Group aims to create an inter-SIG process for identifying, agreeing on and addressing code quality issues
label: wg/code-quality
leadership:
chairs:
- github: "?"
name: "? ?"
company: "?"
- github: dhiller
name: "Daniel Hiller"
company: Red Hat
meetings:
- description: KubeVirt Code-Quality Working Group meeting
day: Thu
time: "09:00"
tz: UTC
frequency: weekly
url: https://meet.google.com/dyc-ocnp-vww
archive_url: https://docs.google.com/document/d/1fBgXan7AQ1LZOmQpNq38H11MmtfuWxOz9DPypyV9UL0/edit
recordings_url: https://www.youtube.com/watch?v=2Jdb1uJSSs4&list=PLnLpXX8KHIYxs1c4QT0ohCOblKFa6dsIv
contact:
slack: kubevirt-dev
mailing_list: https://groups.google.com/forum/#!forum/kubevirt-dev
teams:
- name: wg-code-quality
description: Code-Quality Working Group
liaison:
github: dhiller
name: "Daniel Hiller"
usergroups:
- dir: kubevirt-community
name: KubeVirt Community
Expand Down
37 changes: 37 additions & 0 deletions wg-code-quality/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Working Group Responsibilities

All KubeVirt Working Groups (WGs) must define a charter.

- The scope must define:
- what problem the WG is solving
- what deliverable(s) will be produced, and to whom
- when the problem is expected to be resolved
- The governance must outline:
- the responsibilities within the WG
- the roles owning those responsibilities
- which SIGs are stakeholders

## Steps to create a WG charter

1. Copy [the template][WG Template] into a new file under community/wg-*YOURWG*/charter.md
2. Fill out the template for your WG
3. Update [sigs.yaml] with the individuals holding the roles as defined in the template.
4. Create a pull request with a draft of your `charter.md` and `sigs.yaml` changes. Communicate it within your WG and the stakeholder SIGs and get feedback as needed.
5. Send the WG Charter out for review to [email protected]. Include the subject "WG Charter Proposal: YOURWG"
and a link to the PR in the body.
6. Typically expect feedback within a week of sending your draft. Expect longer time if it falls over an
event such as KubeCon/CloudNativeCon or holidays. Make any necessary changes.
7. Once accepted, the maintainers will ratify the PR by merging it.

## How to use the templates

WGs should use [the template][WG Template] as a starting point.


## Goals

The primary goal of the charters is to define the scope of the WG within KubeVirt and how the WG can determine whether it has achieved their solution. A majority of the effort should be spent on these concerns.

[WG Template]: wg-charter
[sigs.yaml]: ../sigs.yaml

34 changes: 34 additions & 0 deletions wg-code-quality/wg-charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# WG Code-Quality Charter

## Goals

The Code-Quality Working Group has two goals
* short-term - **focus on the improvement of code quality** and
* long-term - **create an inter-SIG process for identifying, agreeing on and addressing code quality issues**

The long-term goal is achieved when the above mentioned process is implemented and executed as required.

## Deliverables

The inter-SIG process definition will be manifested in a document that defines the process itself, also how and when it is executed.

## Governance

### Stakeholder SIGs

* All SIGS claiming code ownership and producing code, currently
* SIG Compute,
* SIG Network and
* SIG Storage
* ...
* sig-ci
* automation purposes of code-quality measures

### Roles and responsibilities

#### Chairs
- @your-github-handle-1
- @your-github-handle-2

#### Liaisons
- @dhiller

0 comments on commit 2d2c61f

Please sign in to comment.