diff options
| author | Kubernetes Prow Robot <k8s-ci-robot@users.noreply.github.com> | 2019-12-03 20:26:57 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-03 20:26:57 -0800 |
| commit | 409eaf3743ef5dd4a946378826ee9eec7ac33897 (patch) | |
| tree | 3d0ec2d41fc31b2c3e7ac614113fcace28b995d6 | |
| parent | d39b2b35b72d5ff4646a0a2cc7f0d4ae6aac688d (diff) | |
| parent | 818b4e2492b831046a6463c7db294d65ca85ece8 (diff) | |
Merge pull request #4278 from guineveresaenger/ncw-playbooks
Adds playbooks for New Contributor Content
13 files changed, 311 insertions, 3 deletions
diff --git a/events/events-team/content/contributor-workshops.md b/events/events-team/content/contributor-workshops.md index d09e8727..c19a1f84 100644 --- a/events/events-team/content/contributor-workshops.md +++ b/events/events-team/content/contributor-workshops.md @@ -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 diff --git a/events/events-team/content/new-contributor-workshops/README.md b/events/events-team/content/new-contributor-workshops/README.md new file mode 100644 index 00000000..c6788df8 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/README.md @@ -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)
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/build-and-test.md b/events/events-team/content/new-contributor-workshops/build-and-test.md new file mode 100644 index 00000000..8ab87348 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/build-and-test.md @@ -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.
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/community-groups.md b/events/events-team/content/new-contributor-workshops/community-groups.md new file mode 100644 index 00000000..cd6489a7 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/community-groups.md @@ -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.
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/contributor-paths.md b/events/events-team/content/new-contributor-workshops/contributor-paths.md new file mode 100644 index 00000000..e9f7ea02 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/contributor-paths.md @@ -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
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/first-issue-help.md b/events/events-team/content/new-contributor-workshops/first-issue-help.md new file mode 100644 index 00000000..2eddf388 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/first-issue-help.md @@ -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) + diff --git a/events/events-team/content/new-contributor-workshops/how-we-communicate.md b/events/events-team/content/new-contributor-workshops/how-we-communicate.md new file mode 100644 index 00000000..72896459 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/how-we-communicate.md @@ -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.
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/labels-and-bots.md b/events/events-team/content/new-contributor-workshops/labels-and-bots.md new file mode 100644 index 00000000..16f99c3a --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/labels-and-bots.md @@ -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]
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/live-pr-demo.md b/events/events-team/content/new-contributor-workshops/live-pr-demo.md new file mode 100644 index 00000000..d03e77a8 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/live-pr-demo.md @@ -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 diff --git a/events/events-team/content/new-contributor.md b/events/events-team/content/new-contributor-workshops/new-contributor-workshop-lead.md index 56bce785..a8dda268 100644 --- a/events/events-team/content/new-contributor.md +++ b/events/events-team/content/new-contributor-workshops/new-contributor-workshop-lead.md @@ -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 diff --git a/events/events-team/content/new-contributor-workshops/playground-exercise.md b/events/events-team/content/new-contributor-workshops/playground-exercise.md new file mode 100644 index 00000000..831c3afa --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/playground-exercise.md @@ -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!
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/repo-tour.md b/events/events-team/content/new-contributor-workshops/repo-tour.md new file mode 100644 index 00000000..d1f46ee0 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/repo-tour.md @@ -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!
\ No newline at end of file diff --git a/events/events-team/content/new-contributor-workshops/workspace-setup.md b/events/events-team/content/new-contributor-workshops/workspace-setup.md new file mode 100644 index 00000000..b21ba6a7 --- /dev/null +++ b/events/events-team/content/new-contributor-workshops/workspace-setup.md @@ -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. |
