Helper scripts
Shell scripts used by CI workflows and local development for label management, link checking, registry updates, and more.
All scripts live under
.github/scripts/.
check-i18n-helper.sh
Validates that localization pages include the required default_lang_commit
front matter field. If pages are missing it, the script outputs a fix command:
npm run fix:i18n:new
pr-approval-labels.sh
Manages PR approval labels based on review state and file ownership. Called by
the pr-approval-labels workflow.
How it works:
- Fetches PR data (files changed, latest reviews, current labels) via
gh. - Resolves
docs-approversteam members from the GitHub org API. - Determines required SIG teams by matching changed files against
.github/component-owners.yml(parses YAML manually, noyqdependency). - Checks whether each required group has an approving review.
- Adds or removes labels using tri-state logic (
true/false/unknown) to avoid changing labels when team membership can’t be fetched.
Required env vars: REPO, PR, GITHUB_TOKEN.
update-registry-versions.sh
Auto-updates package versions in data/registry/*.yml by querying upstream
registries. Supports: npm, Packagist, RubyGems, Go, NuGet, Hex, Maven.
- In CI (
GITHUB_ACTIONSset): creates a branch and opens a PR. - Locally: runs in dry-run mode by default. Use
-fto force real execution.
Deduplicates PRs by generating a SHA-1 tag from the update summary.