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 Nov 4, 2024
1 parent 50dfcf1 commit f337550
Show file tree
Hide file tree
Showing 5 changed files with 127 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>[Edward Haas](https://github.com/EdDev), 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 (biweekly) ](https://zoom.us/j/93168599900)</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
28 changes: 28 additions & 0 deletions sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,34 @@ 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: EdDev
name: Edward Haas
company: Red Hat
meetings:
- description: KubeVirt Code-Quality Working Group meeting
day: Thu
time: "09:00"
tz: UTC
frequency: biweekly
url: https://zoom.us/j/93168599900
archive_url: https://docs.google.com/document/d/1fBgXan7AQ1LZOmQpNq38H11MmtfuWxOz9DPypyV9UL0/edit
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
59 changes: 59 additions & 0 deletions wg-code-quality/wg-charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# WG Code-Quality Charter

## Scope

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 process is implemented and executed as required.

## In scope

The main objective of this effort is to continuously improve the quality of the project codebase.

With this in mind, there is a need to define a clear scope on which areas and through what means this can be accomplished.

* Create and maintain code-quality guidelines, best practices and standards.
* Assure distribution of knowledge in regard to code quality.
* This may include presentations, documentation, lectures, certifications, linters, etc.
* Enforcement of selected standards.
* Through automation and active intervention in code reviews.
* Through codebase infrastructure. E.g reusable libraries.
* Management:
* Prioritizing tasks.
* Focusing on selected topics.
* Monitoring and identification of code-quality issues.

The WG will therefore work on processes through which the above goals can be achieved.

## Stakeholders

### Special Interest Groups

* 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 [1]
- @EdDev
- @your-github-handle-2

#### Liaisons
- @dhiller

## Deliverables

The inter-SIG process definition will be manifested in one or more documents that define processes or other means, also how and when these are executed.

## Timelines and Disbanding

The WG will decide at a certain point that the basic goal is achieved - when there is good enough documentation about the targets described above available. In that case it can decide to disband itself.

[1]: https://github.com/kubevirt/community/blob/main/membership_policy.md#working-group-wg-chair

0 comments on commit f337550

Please sign in to comment.