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

community,wg,code-quality: establish working group code-quality #333

Merged
merged 3 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from 2 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
1 change: 1 addition & 0 deletions sig-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Each group's material is in its subdirectory in this project.
|------|-----------|------------|---------|----------|
|[S390x architecture working group](wg-arch-s390x/charter.md) |[wg-arch-s390x](https://github.com/kubevirt/kubevirt/labels/wg-arch-s390x) | <ol><li>[Jan Schintag](https://github.com/jschintag), IBM</li><li>[Cheryl Fillekes](https://github.com/cfilleke), IBM</li><li>[vamsikrishna-siddu](https://github.com/vamsikrishna-siddu), IBM</li></ol> | |<ul></ul> |
|[ARM architecture working group](wg-arch-arm/charter.md) |[wg-arch-arm](https://github.com/kubevirt/kubevirt/labels/wg-arch-arm) | <ol><li>[Howard Zhang](https://github.com/zhlhahaha), ARM</li></ol> | |<ul></ul> |
|[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><li>[Itamar Holder](https://github.com/iholder101), 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> |



Expand Down
30 changes: 30 additions & 0 deletions sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,36 @@ workinggroups:
- github: zhlhahaha
name: "Howard Zhang"
company: ARM
- dir: wg-code-quality
name: Code-Quality Working Group
dhiller marked this conversation as resolved.
Show resolved Hide resolved
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:
dhiller marked this conversation as resolved.
Show resolved Hide resolved
- github: EdDev
name: Edward Haas
company: Red Hat
- github: iholder101
name: Itamar Holder
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
65 changes: 65 additions & 0 deletions wg-code-quality/wg-charter.md
dhiller marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# WG Code-Quality Charter

## Scope

The Code-Quality Working Group has two goals:

* (short-term) **focus on the improvement of code quality**
* (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.
dhiller marked this conversation as resolved.
Show resolved Hide resolved

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.
dhiller marked this conversation as resolved.
Show resolved Hide resolved
* 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.
dhiller marked this conversation as resolved.
Show resolved Hide resolved
* Management:
* Prioritizing tasks.
* Focusing on selected topics.
* Monitoring and identification of code-quality issues.

The WG will work on facilitating and managing the quality effort until enough tooling, documentation, code structure, reviewer and maintainer awareness is achieved.

## Stakeholders

### Special Interest Groups

* All SIGS claiming code ownership and producing code, currently
dhiller marked this conversation as resolved.
Show resolved Hide resolved
* SIG Compute
* SIG Network
* SIG Storage
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: observability? testing? documentation?
which other SIGs do we currently have? :D

Copy link
Member

Choose a reason for hiding this comment

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

This makes sense for now, based on SIGs with current charters, although SIG-observability has an open PR so it would be worth including them.
Is the intention to update this as other SIGs are formalised?

* sig-ci
dhiller marked this conversation as resolved.
Show resolved Hide resolved
* automation purposes of code-quality measures

### Roles and responsibilities

#### Chairs [1]
- @EdDev
- @iholder101
- @{vacant}

#### Liaisons
- @dhiller
Copy link
Member

Choose a reason for hiding this comment

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

This isn't important but it might be useful to have someone from sig-storage as a chair or liaison?

Copy link
Member

Choose a reason for hiding this comment

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

It will be great to have another chair, 3 sounds ideal.
The WG needs to communicate with other SIGs to apply some of its work items, however, we do not require representatives from SIGs to have a role in the WG. At least I do not see a reason for that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@lyarwood since all code producting SIGs are actual stakeholders in this effort, I am not sure how it helps to mention a sig-storage member as a liaison explicitly - what role would you think that sig-storage liaison needs to fulfill?

To be clear: I was just mentioning myself since I can help out fostering automation aspects wrt the subject. Maybe I should add that to the charter for clarity, as in where I see my participation as a liaison?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

(also since I am quite deeply involved in community matters, I am willing to help out to that regard)

Copy link
Member

Choose a reason for hiding this comment

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

This was just a suggestion to help with initial communication out of the WG to the final active SIG in the list. As @EdDev said this isn't required and once things start moving forward with the WG I'm sure formal communication to all of the SIGs will be more than adequate.


## Deliverables

The inter-SIG process definition will be manifested in one or more documents that define the quality effort:
* what tooling and what documentation is required
* what metrics for code structure should be established and how it will be implemented
* how reviewer and maintainer awareness will be achieved
dhiller marked this conversation as resolved.
Show resolved Hide resolved

Also those documents will include how and when effective measures 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, tooling and metrics about the targets described above available. In that case it can decide to disband itself.
dhiller marked this conversation as resolved.
Show resolved Hide resolved

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