Merge pull request #4278 from guineveresaenger/ncw-playbooks

Adds playbooks for New Contributor Content
This commit is contained in:
Kubernetes Prow Robot 2019-12-03 20:26:57 -08:00 committed by GitHub
commit 409eaf3743
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 311 additions and 3 deletions

View File

@ -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.
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

View File

@ -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)

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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]

View File

@ -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

View File

@ -30,8 +30,6 @@ Shadows and co-presenters are expected to assist and review these updates.
- ensure participants sign the CLA
- ensure attendees meet technical and experience requirements for their course
- 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)
- Ensure to advertise the SIG-Intros
- Solicit feedback from workshop participants

View File

@ -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!

View File

@ -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!

View File

@ -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.