Modify generator to support chairs/tech leads

This commit is contained in:
Christoph Blecker 2018-03-14 15:36:25 -07:00
parent 56005d414c
commit dd70a35476
No known key found for this signature in database
GPG Key ID: B34A59A9D39F838B
5 changed files with 50 additions and 20 deletions

View File

@ -1,13 +1,16 @@
aliases:
{{- range .Sigs}}
{{.Dir}}-leads:
{{- range .Leads}}
{{- range .Leadership.Chairs}}
- {{.GitHub}}
{{- end}}
{{- range .Leadership.TechnicalLeads}}
- {{.GitHub}}
{{- end}}
{{- end}}
{{- range .WorkingGroups}}
{{.Dir}}-leads:
{{- range .Leads}}
{{- range .Leadership.Chairs}}
- {{.GitHub}}
{{- end}}
{{- end}}

View File

@ -52,9 +52,8 @@ var (
templateDir = "generator"
)
// Lead represents a lead engineer for a particular group. There are usually
// 2 per group.
type Lead struct {
// Person represents an individual person holding a role in a group.
type Person struct {
Name string
Company string
GitHub string
@ -85,7 +84,7 @@ type GithubTeams struct {
Description string
}
// Subproject represenst a specific subproject owned by the group
// Subproject represents a specific subproject owned by the group
type Subproject struct {
Name string
Description string
@ -93,14 +92,20 @@ type Subproject struct {
Meetings []Meeting
}
// LeadershipGroup represents the different groups of leaders within a group
type LeadershipGroup struct {
Chairs []Person
TechnicalLeads []Person `yaml:"tech_leads"`
EmeritusLeads []Person `yaml:"emeritus_leads"`
}
// Group represents either a Special Interest Group (SIG) or a Working Group (WG)
type Group struct {
Name string
Dir string
MissionStatement string `yaml:"mission_statement"`
Label string
Leads []Lead
EmeritusLeads []Lead `yaml:"emeritus_leads"`
Leadership LeadershipGroup `yaml:"leadership"`
Meetings []Meeting
Contact Contact
Subprojects []Subproject

View File

@ -13,10 +13,10 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
### Master SIG List
| Name | Label | Leads | Contact | Meetings |
|------|--------|-------|---------|----------|
| Name | Label | Chairs | Contact | Meetings |
|------|-------|--------|---------|----------|
{{- range .Sigs}}
|[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{- range .Meetings -}}
|[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{- range .Meetings -}}
* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>
{{- end -}}
{{- range .Subprojects -}}
@ -32,5 +32,5 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
| Name | Organizers | Contact | Meetings |
|------|------------|---------|----------|
{{- range .WorkingGroups}}
|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leads}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}}
|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}}
{{- end }}

View File

@ -1,5 +1,5 @@
{{- template "header" }}
# {{.Name}} SIG
# {{.Name}} Special Interest Group
{{ .MissionStatement }}
{{ if .Meetings }}## Meetings
@ -13,18 +13,35 @@
{{- end }}
{{- end }}
{{ end -}}
## Leads
{{- range .Leads }}
{{- end }}
{{- if .Leadership }}
## Leadership
{{- if .Leadership.Chairs }}
### Chairs
The Chairs of the SIG run operations and processes governing the SIG.
{{ range .Leadership.Chairs }}
* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}
{{- end }}
{{- if .EmeritusLeads }}
{{- end }}
{{- if .Leadership.TechnicalLeads }}
### Technical Leads
The Technical Leads of the SIG establish new subprojects, decommission existing
subprojects, and resolve cross-subproject technical issues and decisions.
{{ range .Leadership.TechnicalLeads }}
* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}
{{- end }}
{{- end }}
{{- if .Leadership.EmeritusLeads }}
## Emeritus Leads
{{- range .EmeritusLeads }}
{{ range .Leadership.EmeritusLeads }}
* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}
{{- end }}
{{- end }}
{{- end }}
## Contact
* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})

View File

@ -13,11 +13,16 @@
{{- end }}
{{- end }}
{{ end -}}
{{- end }}
{{- if .Leadership }}
{{- if .Leadership.Chairs }}
## Organizers
{{- range .Leads }}
{{ range .Leadership.Chairs }}
* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}
{{- end }}
{{- end }}
{{- end }}
## Contact
* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})