SIG Release · Docs Subteam · Shadow Onboarding
Everything you own this cycle, every date that matters, and the exact words you send. Keep this open — sections 03, 06, 07 and 10 are the ones you'll come back to.
Two teams matter to us: the v1.38 release team, and our own six.
| Role | Lead | What we need from them |
|---|---|---|
| Release Team Lead | Sreeram Venkitesh · @sreeram-venkitesh | Carries our deadlines in the kubernetes-dev announcements; final say on exceptions |
| Enhancements | ChengHao Yang · @tico88612 | Owns the Release Tracking board we live in |
| Communications | Arsh Sharma · @RinkiyaKeDad | Release blog and feature blogs — we merge the release blog on release day |
| Release Signal | Keisuke Ishigami · @kei01234kei | CI and bug triage state going into Code Freeze |
| Branch Manager | not yet assigned | Cuts the release. We need the exact cut time on 16 Dec from them |
| Docs | Destiny Erhabor · @Caesarsage | That's me — ping me any time, about anything |
Six of us, across five timezones.
| Name | Slack | Timezone |
|---|---|---|
| Destiny Erhabor | @Destiny Erhabor | WAT (UTC+1) — Docs Lead |
| Abraham Alfaro Sosa | @Abraham Alfaro | UTC−6 |
| Anshuman Tripathi | @anshuman | PT |
| Chiamaka Chielo | @chielo | GMT+1 |
| Subhasmita Swain | @subhasmita | GMT+2 |
| Yashasvi Misra | @Yashasvi Misra | IST |
You have one buddy for the whole cycle, and you share accountability for both of your KEP slices: either of you can answer an author, update the board, or continue a thread. Buddy assignments are in the responsibility sheet. I'm buddied up too, with a KEP slice of my own — this isn't a hierarchy, it's six people covering ~60 enhancements across every timezone.
Since v1.36, Release Notes folded into Docs. That means we ship two things at once.
dev-1.38 healthy and in sync with mainalpha, beta and rcSixteen weeks. Two of the three capacity holes fall after Code Freeze, which is why our internal dates run a week ahead of the published ones.
The left date is what the community sees. The right date is what we tell KEP owners and what we hold ourselves to. The gap is buffer we never spend.
Three layers: a standing KEP slice that's yours all cycle, a buddy, and rotations that move week to week.
You'll be assigned roughly 10–14 tracked enhancements, grouped by SIG and by shared owner so one message can cover several. "End to end" means you own all of this, not just the first step:
Docs Status current on the board — the same day you learn something, not at the end of the week| Rotation | Cadence | Your share |
|---|---|---|
| Release notes — assignee | One per alpha / beta / rc | ≥1 each, aim for 2 |
| Release notes — reviewer | One per release notes PR | ≈2 each |
| Weekly branch sync | Every Friday | 3 each |
| Release team update | Weekly, APAC + EMEA | By region |
| SIG Docs update | APAC + EMEA instances | By region |
| Burndown update | Mon/Wed/Fri from 23 Nov, then daily | By region |
Let the team know 2–3 hours ahead in your meeting's timezone, especially if you're on the hook for a responsibility that day. Everyone has other priorities and things come up — advance notice just lets us redistribute. No explanation needed.
Every tag gets a notes PR: one assignee, one reviewer. Nine rows, two of which don't exist in the handbook.
| Release | Tag date | PR merged by | Week |
|---|---|---|---|
| v1.38.0-alpha.1 | Wed 23 Sep | Fri 25 Sep | 4 |
| v1.38.0-alpha.2 | Wed 7 Oct | Fri 9 Oct | 6 |
| v1.38.0-alpha.3 | Wed 21 Oct | Fri 23 Oct | 8 |
| v1.38.0-beta.0 | Wed 4 Nov | Fri 6 Nov | 10 |
interim --fix pass | no tag | Fri 13 Nov | 11 |
interim --fix pass | no tag | Fri 20 Nov | 12 |
| v1.38.0-rc.0 | Thu 3 Dec | Mon 7 Dec | 14 |
| v1.38.0-rc.1 | Wed 9 Dec | Fri 11 Dec | 15 |
| Final Release Notes | lead | Mon 14 Dec (AoE) | 16 |
beta.0 on 4 Nov and rc.0 on 3 Dec with no tag to cut against. A month of unreviewed notes would land at rc.0, ten days before the final PR has to merge. So we clean the accumulated draft on 13 and 20 Nov even with no tag to generate from.kubernetes/sig-release.krel release-notes --fix. It's session-based, so you can pause and resume. Edits are saved as map YAML files.release-notes-draft.md and release-notes-draft.json in sync. The JSON drives tooling; drift between them is silent and painful.k/k since the previous tag — krel can skip PRs during rc fast-forward syncs.imagePullPolicy to Always"ALPHA / BETAA note has to stand alone: a reader should understand the change without opening the PR. If one is too vague to do that, open the PR and rewrite it with the actual symptom.
Five touches to get placeholder PRs open. The channel changes as the problem changes — the first two are informational, the rest are human.
Does this enhancement need docs? An explicit "no docs needed" is as useful to us as a PR. Sent by whoever owns the KEP.
send by Thu 1 OctChase the silent ones and the ones with no PR. State our internal target, 22 Oct, and why: KubeCon NA and Thanksgiving are both in the review window.
send by Thu 8 OctYour pair sends this together. Add your buddy to every DM group. By now the problem isn't that they lack information.
send by Thu 15 Oct · 80% checkpointStill silent after two GitHub comments and a DM? Post them in #chairs-and-techleads, grouped by SIG.
Three days before the official deadline. Name the consequence: enhancements that need docs and don't have them may be dropped from the release.
send by Mon 26 Oct · 90% checkpointThe ready-for-review and Docs Freeze phases use shorter versions of the same ladder — four touches each, same channel logic. Dates are in the responsibility sheet.
This is the page to reopen when R3 comes around. Four steps, and the fourth is the one people skip.
Step 1
/sig + cc @… lines, and other subteams' recent comments circled/sig and cc @… lines in the enhancement description.Start with Assignees. If they look stale, the people other subteams are @-mentioning are the ones actually working on it.
Step 2
⋮ → Copy message menu open⋮ → Copy message (or Ctrl/Cmd+C).Never retype the template. Copying the pinned one means every author gets identical wording and identical dates.
Step 3
Buddy first, then the authors. If you forget the buddy, the thread dies the day you're offline.
Step 4
Docs Status on the board.This is what turns outreach into a number we can report at burndown. Skip it and our status reports become guesswork.
Merge main into dev-1.38 every Friday. This is the task most likely to be quietly skipped, and the one that bites hardest on release day.
Use the script rather than the manual steps:
| ./branch-sync.sh 1.38 -u <your-github-user> | from release-team/role-handbooks/docs/branch-sync-script/ |
Run it manually your first two or three times. The script is faster, but you need to recognise what a sync gone wrong looks like before you let something else do it for you.
| Command | Why |
|---|---|
| git fetch upstream main | Both refs current before you start |
| git fetch upstream dev-1.38 | |
| git checkout -b merged-main-dev-1.38-20260911 upstream/dev-1.38 | Branch from the target. Date it, or next Friday's branch collides with this one |
| git merge upstream/main | Pulls main in. Stops here if there are conflicts |
| git log --oneline upstream/dev-1.38..HEAD | Sanity check before pushing — see below |
| git push origin merged-main-dev-1.38-20260911 | To your fork |
Then open the PR against kubernetes/website — and change the base to dev-1.38.
mainThe direction is main → dev-1.38. The dev branch receives. Branch off main instead and your PR proposes replacing the dev branch's contents with main — deleting every in-progress feature doc for 1.38.
mainGitHub defaults the base to main. Leave it and you've opened a PR merging the whole dev branch into the live site — unreleased feature docs and all. Check the base before you hit create, every time.
The sanity check catches both. git log --oneline upstream/dev-1.38..HEAD should print one merge commit plus whatever came from main. Hundreds of commits, or a diff deleting feature docs, means you started from the wrong base — delete the branch and start again.
Two are moved: Nov 27 is the day after Thanksgiving, so that sync happens Wed 25 Nov. Tue 15 Dec is the final pre-release sync and I'll run that one.
Conflicts are the normal pain point — a page updated on both main and the dev branch. The dev-branch change is almost always an in-progress feature doc, so preserve it and layer the main update on top where they don't clash. If a conflict isn't obvious, git merge --abort and ask in #release-docs before re-attempting. Verify the branch builds before pushing.
SIG Docs has limited capacity, so we review actively. A PR needs both a technical /lgtm and a docs /approve to merge.
dev-1.38/milestone if not)WIP / Draft commits, and no revert commits/lgtm — if not, add the relevant sig/* labels to help find a reviewer/lgtm on style nits. Most PR authors are not writers, and many are non-native English speakers. A missing comma or some passive voice should not hold up accurate content. Spend your review energy on correctness and completeness. If a style issue really bugs you, note it and open a follow-up PR.For technical accuracy, go to the reviewers and approvers named in the KEP's kep.yaml, or the SIG owner. It's fine — expected, even — not to understand every technical component. Get a technical LGTM when you're unsure.
Need help? #sig-docs, and the weekly PR Wrangler is your best resource.
/hold to mark a PR that shouldn't merge until the matching code change has landed.We live in the Docs view of the v1.38 Release Tracking board. Two fields matter, and every value means something specific.
Board: v1.38 Release Tracking — Docs view
k/website yetA few days after Code Freeze, once code-freeze exceptions settle, every tracked KEP gets marked:
| Stamp | Means |
|---|---|
| Tracked for Docs Freeze | Docs PR reviewed, approved and merged — or clearly on course |
| At Risk for Docs Freeze | Docs PR upcoming and the documentation looks incomplete |
The four-box template in the templates folder decides which: PR linked in the issue description, targets dev-1.38, in Ready to Review state, and mergeable by Docs Freeze. All four checked means Tracked.
There's a defined path. Work it in order, and start earlier than feels necessary.
#chairs-and-techleads.We report a colour every week. The most important thing to know: SIG Docs actively wants to hear yellow and red early.
The handbook's own wording: "SIG Docs prefers and welcomes a status of yellow or red on anything that needs attention, has the possibility to miss deadlines or target dates, or requires follow-up from feature authors and SIGs that you're not receiving."
| Tracked KEPs | total · need docs · no docs needed · unknown |
| Docs PRs | no PR · draft · ready for review · merged |
| Placeholder PRs | count and % against our internal target and the official date |
| Branch sync | up to date, or last synced, or N commits behind |
| Release notes | current tag's PR — open, merged, or blocked |
| Needs attention | specific KEPs and specific asks, or "none" |
Be specific in the last row. "A few KEPs are slow" gets nothing; "SIG Storage KEP #1234 hasn't replied to three touches, can someone from the release team nudge the chairs" gets action.
Plus our private Docs team group, where the templates are pinned and weekly assignments are posted every Monday.
| Group | How to join |
|---|---|
| kubernetes-sig-release | Join directly via the URL |
| kubernetes-sig-docs | Join directly via the URL |
| kubernetes-dev | Join directly via the URL |
| release-team | PR to kubernetes/k8s.io → groups/sig-release/groups.yaml — I'll file this for the team |
| release-team-shadows | Same PR |
Subscribe to the Kubernetes Release calendar so none of this is a surprise.
React ✅ in the Slack thread as you finish each one, and reply in-thread with any PRs or issues you open so we can track them.
kubernetes/contributor-playground now to trigger the CLA bot, so it isn't blocking you laterkubernetes and kubernetes-sigs, listing sponsors @sreeram-venkitesh and @fsmunoz or @katcosgrove. Skip if you're already a member of both.kubernetes/website and kubernetes/sig-release