検証とリリース

通常のCI、全項目のローカル・手動検査、公開サイトの主要検査の範囲を説明します。

ソースの規則

npm run lint --prefix registry
npm run build --prefix registry
npm run sync:docs --prefix registry
npm test --prefix registry
npm run check:generated --prefix registry
npm run lint --prefix docs
npm run typecheck:site --prefix docs
npm run build:site --prefix docs

ブラウザ検査の前にレジストリテストで依存関係、文書の例、テーマ規則と生成ソースの前提を確認します。

生成一致

  • レジストリ一覧、二つの公開エンドポイントの複製、テーマCSSと初期化スクリプトはソースから生成します。
  • check:generatedは生成結果のバイト単位の一致と項目一覧の一致を確認します。
  • CIの最終生成検査は追跡ファイルの差分と予期しない未追跡ファイルを拒否します。

通常のCI

  • mainへのプッシュ、プルリクエストとcomprehensiveを有効にしない手動実行では、レジストリのリント・ビルド・規則、文書のリント・型・ビルドと生成一致を確認します。
  • 文書操作はデスクトップのライト・モバイルのダーク表示でChromiumを使って検査します。代表的なVite・Next.jsの利用側検査にはconsumer:verify --smokeを使います。
  • 開発ツールを含む依存関係監査で高または重大な脆弱性が見つかるとCIをブロックします。

全項目のローカル・手動検査

  • 広範なリリース前には利用側・独立項目の全検査をローカルで実行するか、Verifyをcomprehensiveオプションで手動実行します。
  • 独立インストールの対象はビルドされた一覧の、ファイルを持つ全項目です。
  • テンプレートは新しいNext.jsプロジェクトで、その他の項目はNext.jsとViteで独立してビルドします。
  • 手動ワークフローは独立インストールを三つのジョブに分割し、Firefox・WebKitの利用側検査とdetail・materialの画面検査を追加します。

公開サイトの主要検査

  • Published registryはbuild-info.jsonが起動元のmainコミットと一致するまで待機します。
  • 公開サイトではChromiumの主要シナリオ三つと代表的なレジストリエンドポイント三つだけを検査します。全インストール・ブラウザ検査はローカルまたは手動の包括的検証で行います。
  • 失敗の根拠はCIのアーティファクトに保存し、ローカルのブラウザ検査結果はdocs/test-resultsに記録します。

リリースの範囲

  • ローカルまたはCIのビルド成功は、shadcnディレクトリの承認や公開ドメインとの同等性を意味しません。
  • 公開ドメインの検査は正確なデプロイコミットと公開レジストリエンドポイントが一致する必要があります。
  • ライセンスと出典表示は別のリリース条件であり、リポジトリの所有権から推測しません。