diff --git a/generators/cmd/sigs/sig-list.gomd b/generators/cmd/sigs/sig-list.gomd index 601c41a3..1434bdce 100644 --- a/generators/cmd/sigs/sig-list.gomd +++ b/generators/cmd/sigs/sig-list.gomd @@ -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 diff --git a/pkg/sigs/types.go b/pkg/sigs/types.go index ab7bb2bf..d379e043 100644 --- a/pkg/sigs/types.go +++ b/pkg/sigs/types.go @@ -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 { @@ -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"` } diff --git a/sig-list.md b/sig-list.md index f1886910..5f91e17c 100644 --- a/sig-list.md +++ b/sig-list.md @@ -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)|
  1. [Edward Haas](https://github.com/EdDev), Red Hat
|[Slack](kubevirt-dev)
[Mailing List](https://groups.google.com/forum/#!forum/kubevirt-dev) | | + + + + [1]: https://github.com/kubevirt/project-infra/blob/main/docs/labels.md [2]: https://github.com/kubevirt/community/blob/main/membership_policy.md diff --git a/sigs.yaml b/sigs.yaml index 891418e4..1a2744d0 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -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 diff --git a/wg-code-quality/wg-charter.md b/wg-code-quality/wg-charter.md new file mode 100644 index 00000000..5bfd756f --- /dev/null +++ b/wg-code-quality/wg-charter.md @@ -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 \ No newline at end of file