【Storybook】Test RunnerのCIを高速化する
StorybookのインタラクションテストをCIで回すと実行時間が問題になりがちなので、改善するためにやったことをまとめる。
ビルド時にtestオプションを付与する
storybook build --test
--test
オプションを付与し、テスト時に不要な機能を除外することでビルド時間を短縮できる。
shardオプションで並列実行する
test-storybook --shard=1/n
--shard
オプションを付与することで、テストスイートをn分割して並列実行できる。
test-storybook: needs: setup runs-on: ubuntu-latest strategy: matrix: shardIndex: [ 1, 2, 3 ] shardTotal: [ 3 ] steps: ... - name: Test_Storybook run: npm run test-storybook -- --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
GitHub Actionsで実行する場合、strategy.matrix.shard
と組み合わせることも可能。