Release Note Docs PR
Overview
Turn a release tag such as v1.35.7 into an updated docs-site release note and
open a PR targeting the documentation branch.
Quick Start
Replace <SKILL_DIR> with the path of this skill directory.
python3 <SKILL_DIR>/scripts/create_release_note_doc_pr.py --tag v1.35.7
Requirements
- Clean git working tree
ghCLI installed and authenticated- GitHub token available through
GITHUB_TOKEN,GH_TOKEN, orgh auth token
Default remote behavior:
- Base remote defaults to
upstreamwhen it has the docs branch; otherwiseorigin - Push remote defaults to
origin - PR target repo and head owner are derived from the selected remotes unless overridden
What It Does
- Resolves remotes, repo, and owner defaults for a fork-to-upstream workflow
- Resolves GitHub credentials from environment variables or
gh auth token - Checks whether an open PR already exists for the branch
- Fetches the base branch and creates
doc/release-note-<tag>from it - Runs
./hack/generate-release-note.sh <tag> <temp-output> trueby default - Validates the generated docs content before commit
- Commits only
content/en/blog/releases/<tag>.md, pushes the branch, and opens a PR with labelskind/documentationandrelease-note-none - Restores the original branch after completion
Script Usage
python3 <SKILL_DIR>/scripts/create_release_note_doc_pr.py \
--tag <vX.Y.Z> [--no-generate] [--dry-run] [--force-push] \
[--base-remote <name>] [--push-remote <name>] [--base-branch <name>] \
[--target-repo <owner/repo>] [--head-owner <owner>]
Common flags:
--no-generate: Skiphack/generate-release-note.shwhen the file is already updated--dry-run: Print commands without executing them--force-push: Push with--force-with-lease--base-remote: Override the remote used for the base branch--push-remote: Override the remote used to push the branch--base-branch: Override the docs base branch, defaultdocumentation--target-repo: Set the PR target repo explicitly--head-owner: Set the PR head owner explicitly
Error Handling
If the script or any command fails, do not make up new scripts to work around the error and do not fabricate or guess at content. Instead, report the failure and exact error message to the user and let them decide how to proceed.
Troubleshooting
- If repo or owner detection is wrong, pass
--target-repoand--head-ownerexplicitly - If token resolution fails, export
GITHUB_TOKENorGH_TOKEN, or rungh auth login - If the generated file is empty or malformed, rerun without
--no-generate