ヘルパースクリプト

ラベル管理、リンクチェック、レジストリ更新などに CI ワークフローやローカル開発で使用されるシェルスクリプト。

すべてのスクリプトは .github/scripts/ 配下にあります。

check-i18n-helper.sh

ローカリゼーションページに必須のフロントマターフィールド default_lang_commit が含まれているかを検証します。 不足しているページがある場合、スクリプトは修正コマンドを出力します。

npm run fix:i18n:new

pr-approval-labels.sh

レビュー状態とファイルオーナーシップに基づいて PR の承認ラベルを管理します。 pr-approval-labels ワークフローから呼び出されます。

動作の仕組み:

  1. gh を使って PR データ(変更されたファイル、最新のレビュー、現在のラベル)を取得します。
  2. GitHub org API から docs-approvers チームメンバーを解決します。
  3. 変更されたファイルを .github/component-owners.yml と照合して、必要な SIG チームを特定します(YAML を手動でパースし、yq への依存はありません)。
  4. 必要なグループごとに承認レビューがあるかを確認します。
  5. 三値ロジック(true/false/unknown)を使用してラベルを追加または削除し、チームメンバーシップを取得できない場合にラベルが変更されることを防ぎます。

必須の環境変数: REPOPRGITHUB_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 を修正してください。