Merge pull request #4278 from guineveresaenger/ncw-playbooks
Adds playbooks for New Contributor Content
This commit is contained in:
commit
409eaf3743
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
The Contributor Workshop team recruits, selects, and schedules "advanced" workshops for current Kubernetes contributors to improve their skills during the Contributor Summit. Such workshops might include hands-on demonstrations of build or testing tasks, live interactive reviews of PRs, KEPs, API changes, or similar, documentation writing, or other long-form activities involving some hands-on-keyboard participation.
|
The Contributor Workshop team recruits, selects, and schedules "advanced" workshops for current Kubernetes contributors to improve their skills during the Contributor Summit. Such workshops might include hands-on demonstrations of build or testing tasks, live interactive reviews of PRs, KEPs, API changes, or similar, documentation writing, or other long-form activities involving some hands-on-keyboard participation.
|
||||||
|
|
||||||
This is distinct from the [New Contributor and Intermediate Contributor workshops](./new-contributor.md), although the CW team will work with that team.
|
This is distinct from the [New Contributor and Intermediate Contributor workshops](./new-contributor-workshops/README.md), although the CW team will work with that team.
|
||||||
|
|
||||||
## Skills and Qualifications
|
## Skills and Qualifications
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
# New Contributor Workshops
|
||||||
|
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
This folder contains the [handbook for the New Contributor Workshop Content Lead](./new-contributor-workshop-lead.md) as well as playbooks for each of the New Contributor Workshop sessions.
|
||||||
|
|
||||||
|
This workshop is held at contributor summits at KubeCon but materials and processes may be used at contributor focused summits and events anywhere.
|
||||||
|
|
||||||
|
## Sample Track for Beginner Workshop
|
||||||
|
|
||||||
|
This workshop is meant for folks who have never contributed to opensource before and/or need help setting up a Kubernetes developer environment.
|
||||||
|
|
||||||
|
1. Welcome
|
||||||
|
1. [Live PR Demo](./live-pr-demo.md)
|
||||||
|
1. [Paths to Contributorship](./contributor-paths.md)
|
||||||
|
1. [Communication in the Kubernetes Community](./how-we-communicate.md)
|
||||||
|
1. [Community Group and Governance Overview](./community-groups.md)
|
||||||
|
1. [Kubernetes Orgs Overview](./repo-tour.md)
|
||||||
|
1. [Workspace Setup](./workspace-setup.md)
|
||||||
|
1. [Local Build&Test](./build-and-test.md)
|
||||||
|
1. [Pull Request Exercise](./playground-exercise.md)
|
||||||
|
1. [Find Your First Issue](./first-issue-help.md)
|
||||||
|
1. [SIG Meet-and-Greet](../sig-contrib-events.md#sig-meet-and-greet)x
|
||||||
|
|
||||||
|
## Sample Track for Intermediate Workshop
|
||||||
|
|
||||||
|
This workshop differs from the Beginner workshop in that participants are expected to have a working Docker/Kubernetes/Go setup. They have a baisc understanding of how opensource contributions work, and may have opened a PR against Kubernetes before.
|
||||||
|
|
||||||
|
1. Welcome
|
||||||
|
1. [Live PR Demo](./live-pr-demo.md)
|
||||||
|
1. [Paths to Contributorship](./contributor-paths.md)
|
||||||
|
1. [Communication in the Kubernetes Community](./how-we-communicate.md)
|
||||||
|
1. [Community Group and Governance Overview](./community-groups.md)
|
||||||
|
1. [Kubernetes Orgs Overview](./repo-tour.md)
|
||||||
|
1. k/k Walkthrough
|
||||||
|
1. [Local Build&Test](./build-and-test.md)
|
||||||
|
1. Labels, Bots and Git Workflow
|
||||||
|
1. [Find Your First Issue](./first-issue-help.md)
|
||||||
|
1. [SIG Meet-and-Greet](../sig-contrib-events.md#sig-meet-and-greet)
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
## Build and Test
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
40-60 minutes, depending on beginner vs intermediate participants
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Build Kuberentes binaries locally, and do some fun things with them.
|
||||||
|
|
||||||
|
**Important** Have facilitators to help with technical issues (2-3 is enough for Intermediate, you want 5 for Beginner)
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Clear command line instructions.
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- This is the hands-on part. Details are up to you; look to previous workshops for inspiration.
|
||||||
|
- Adjust difficulty based on whether this is the Beginner or Intermediate workshop.
|
||||||
|
- It is _extremely important_ to run this part of the workshop several times previously, and to make sure that versions match those in the [workspace setup](./workspace-setup.md).
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Do a fun thing with the go client and a kind cluster
|
||||||
|
- Build and modify kubectl
|
||||||
|
- Try a `make` command; be aware you may need to give docker a lot of space on your machine for a successful build.
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
## Community Groups
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
15 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Introduce SIGs, Working Groups, and a tiny bit of governance (if you must).
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Refer to previous workshops for inspirations
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- SIGs
|
||||||
|
- Subprojects
|
||||||
|
- Working Groups
|
||||||
|
- User Groups
|
||||||
|
- Committees
|
||||||
|
- How to Join Any Of The Above
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Stay simple. Don't make it too complicated.
|
||||||
|
- Ask participants to define a few example SIGs via audience interaction.
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
## Contributor Paths
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
10-30 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
This is about contributor origin stories.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Refer to previous workshops for inspirations
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- Who can contribute?
|
||||||
|
- What skills are needed?
|
||||||
|
- How to Fit Contributions Into Your Job
|
||||||
|
- Balance knowlede with learning and the needs of the project
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Share some contributor origin stories
|
||||||
|
- Ask the room why they are at the workshop.
|
||||||
|
- Have a few people share their thoughts
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
## Finding Your First Issue
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
20 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Set participants on as much of a paved path to contributor success as possible.
|
||||||
|
At this point in the workshop, participants should know what kind of issue they want to tackle.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Refer to previous workshops for inspirations
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- help-wanted and good-first-issue labels
|
||||||
|
- up and coming sandbox projects
|
||||||
|
- Working with your SIG
|
||||||
|
- Refer participants to specific SIGs
|
||||||
|
- How to "claim" an issue (since non-members cannot self-assign)
|
||||||
|
- Encourage the [SIG Meet-and-Greet](../sig-contrib-events.md#sig-meet-and-greet)
|
||||||
|
- Path to [membership](git.k8s.io/community-membership.md)
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Give folks time to discuss and help each other
|
||||||
|
- Gather information from SIGs in advance (via Slack, Twitter...) on who needs help, and at what level
|
||||||
|
- Prepare a list of issues and assign folks right there
|
||||||
|
- Connect participants to mentoring tracks if available (e.g. Release Team Shadow)
|
||||||
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
## How We Communicate
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
10-30 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Show how we communicate in the community, and which tools are for what purpose.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Refer to previous workshops for inspirations
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- Code of Conduct
|
||||||
|
- Where We Talk:
|
||||||
|
- Slack
|
||||||
|
- Discuss
|
||||||
|
- How We Decide:
|
||||||
|
- GitHub
|
||||||
|
- Zoom
|
||||||
|
- Mailing List
|
||||||
|
- Calendar
|
||||||
|
- Meetups
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Have a #ncw channel on Slack. The first person who finds the Slack channel with the most members, or the longest name(etc) and posts in here wins a prize!
|
||||||
|
- Everyone introduces their neighbor and a cool Kubernetes fact about them in a Slack or Discuss channel/topic.
|
||||||
|
- Put an easter egg in the mailing list and whoever discovers it first by joining and reading the discussions, wins a prize!
|
||||||
|
- Come up with the most creative TL;DR for the CoC.
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
## Labels and Bots
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
10 - 15 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Show the Kubernetes automation and PR workflow, as well as the bot command help page.
|
||||||
|
This task is meant as a short overview for Intermediate content.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
The [PR workflow diagram](git.k8s.io/community/contributors/guide/git_workflow.png) is useful here. There are also previous slides that explain the differnet labels.
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- Which labels are used how, and by whom?
|
||||||
|
- How to add labels
|
||||||
|
- Other bot commands
|
||||||
|
- Prow
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Play with bots in the [contributor playground]
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
## Live PR Demo
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
Plan for about 30 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Demonstrate opening a pull request against k/k. There are some docs cleanup good-first-issues, but feel free to show off something you've been working on for a while.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
None; this is a live demo.
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- Make sure to prepare code in advance but only commit locally
|
||||||
|
- Show the k/k pull request workflow
|
||||||
|
- Show the PR templates and fill them out, explaining why
|
||||||
|
- Interact with the bot and briefly mention labels/OWNERS files
|
||||||
|
- Leave room for questions, but be aware that the workflow will be covered in depth later.
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
- ask the audience or a pre-planned reviewer for code review, showing more of the k/k automation
|
||||||
|
|
@ -30,8 +30,6 @@ Shadows and co-presenters are expected to assist and review these updates.
|
||||||
- ensure participants sign the CLA
|
- ensure participants sign the CLA
|
||||||
- ensure attendees meet technical and experience requirements for their course
|
- ensure attendees meet technical and experience requirements for their course
|
||||||
- obtain a comprehensive list of names, emails, and github handles
|
- obtain a comprehensive list of names, emails, and github handles
|
||||||
- Incorporate the new contributor playground into the workshop.
|
|
||||||
Create a New Contributor Workshop folder specific to this event, with teachers' and participants' github handles in the OWNERS file - [here is an example](sigs.k8s.io/contributor-playground/seattle)
|
|
||||||
- Coordinate with the [SIG Meet and Greet organizer](sig-contrib-events.md) (may be a different role to be determined by core team)
|
- Coordinate with the [SIG Meet and Greet organizer](sig-contrib-events.md) (may be a different role to be determined by core team)
|
||||||
- Ensure to advertise the SIG-Intros
|
- Ensure to advertise the SIG-Intros
|
||||||
- Solicit feedback from workshop participants
|
- Solicit feedback from workshop participants
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
## Playground Exercise
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
30 - 50 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Give new contributors the experience of the Kubernetes GitHub workflow!
|
||||||
|
This task requires some setup and planning.
|
||||||
|
|
||||||
|
Create a New Contributor Workshop folder specific to this event, with teachers' and participants' github handles in the OWNERS file.
|
||||||
|
[Here is an example](sigs.k8s.io/contributor-playground/seattle). Make sure to obtain participants' GitHub handles from the event registrar in advance.
|
||||||
|
Issue and PR exercise ideas can be found in sigs.k8s.io/contributor-playground/exercises.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Refer to previous workshops for inspirations.
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- Labels and bot commands - more material [here](./labels-and-bots.md)
|
||||||
|
- Automation
|
||||||
|
- How to assign reviewers
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- The first person to `/honk` on a PR wins a prize!
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
## Repo Tour
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
10 - 15 minutes
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Show that Kubernetes is not just about the Core Repository, but also about the other repos in the org and in kubernetes-sigs.
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Have a few overview slides, but also go off-book and live show the repos on GitHub.
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- k/website, k/test-infra, k/community, k/enhancements, with explanations
|
||||||
|
- Exciting things in kubernetes-sigs
|
||||||
|
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Ask participants if they have found or are interested in specific repos, and share about their purpose.
|
||||||
|
- Mention which repos need help, or have awesome good-first-issue shepherding from maintainers!
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
## Workspace Setup
|
||||||
|
|
||||||
|
### Duration
|
||||||
|
|
||||||
|
Plan for 90- 120 minutes of download and setup time when on wifi. When on a workshop specific network, this may be much shortened.
|
||||||
|
|
||||||
|
### Task Overview
|
||||||
|
|
||||||
|
Make sure all Beginning Contributors have a workspace setup for hacking on Kubernetes.
|
||||||
|
|
||||||
|
**Important** Have facilitators to help with technical issues (3-5 for ~30 people)
|
||||||
|
|
||||||
|
### Slides
|
||||||
|
|
||||||
|
Clear and large download commands to copy into terminal
|
||||||
|
|
||||||
|
### Details To Cover
|
||||||
|
|
||||||
|
- Make sure everyone has the correct setup for a local build and test demo.
|
||||||
|
|
||||||
|
### Ideas
|
||||||
|
|
||||||
|
- Have a dedicated workshop network.
|
||||||
|
- When internet is slow, start the download and prep process during earlier sessions, to make sure everyone is up to date.
|
||||||
Loading…
Reference in New Issue