ヘルパースクリプト
ラベル管理、リンクチェック、レジストリ更新などに CI ワークフローやローカル開発で使用されるシェルスクリプト。
すべてのスクリプトは .github/scripts/ 配下にあります。
check-i18n-helper.sh
ローカリゼーションページに必須のフロントマターフィールド default_lang_commit が含まれているかを検証します。
不足しているページがある場合、スクリプトは修正コマンドを出力します。
npm run fix:i18n:new
pr-approval-labels.sh
レビュー状態とファイルオーナーシップに基づいて PR の承認ラベルを管理します。
pr-approval-labels ワークフローから呼び出されます。
動作の仕組み:
ghを使って PR データ(変更されたファイル、最新のレビュー、現在のラベル)を取得します。- GitHub org API から
docs-approversチームメンバーを解決します。 - 変更されたファイルを
.github/component-owners.ymlと照合して、必要な SIG チームを特定します(YAML を手動でパースし、yqへの依存はありません)。 - 必要なグループごとに承認レビューがあるかを確認します。
- 三値ロジック(
true/false/unknown)を使用してラベルを追加または削除し、チームメンバーシップを取得できない場合にラベルが変更されることを防ぎます。
必須の環境変数: REPO、PR、GITHUB_TOKEN。
update-registry-versions.sh
上流のレジストリに問い合わせて data/registry/*.yml のパッケージバージョンを自動更新します。
対応レジストリはnpm、Packagist、RubyGems、Go、NuGet、Hex、Mavenです。
- CI 環境(
GITHUB_ACTIONSが設定されている場合): ブランチを作成し、PR をオープンします。 - ローカル環境: デフォルトではドライランモードで実行されます。
実際に実行するには
-fを使用してください。
更新サマリーから SHA-1 タグを生成することで PR の重複を排除します。
バージョンが変更された場合、レジストリ更新によって外部 URL が追加または削除されることがあるため、スクリプトはコミット前にリンクキャッシュを更新します。
その更新中に一時的な障害が発生すると、リンク自体は通過するにもかかわらず、bot PR の CACHE updates committed? が赤くなることがあります。
その場合は PR に /fix:link-cache とコメントして修復してください。
一方、更新により実際に壊れた URL が導入された場合は、bot PR のリンクチェック自体が赤くなります。
キャッシュ修正を再実行するのではなく、URL を修正してください。