Repository navigation
feat: add VRT sharding API and speed up snapshot capture - #3
Merged
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
VRT の実行時間短縮のための 2 つの変更。スナップショット撮影から冗長な
pumpAndSettleとrunAsyncを排除し(出力 PNG はバイト一致のまま高速化)、SnapshotShardによるシャーディングを本体 API として追加してテストファイル分割によるプロセス内並列と CI ジョブ分割(SHARD_INDEX/TOTAL_SHARDS)を可能にする。playbook_snapshot 1.3.0 との同条件ベンチマーク(1000 シナリオ)で、記録モード単体 −8%、CI 1 ジョブ相当(1/8 担当 + ジョブ内 8 並列)で −40% を確認済み。Related issue
N/A
Affected packages
showfase(runtime)showfase_generator(build_runner)showfase_annotationshowfase_test(golden testing)packages/showfase/example.github/, README)Breaking change
公開 API は
SnapshotShardとtestShowfase(shard:)の追加のみ。SnapshotSupport.startDeviceのシグネチャ変更はsrc/内部 API(未 export)。How was this tested?
flutter testinpackages/showfase_test— 46 件全パス(シャード分割の和集合・collision suffix 安定性の golden テスト、SnapshotShardのユニットテスト 17 件を新規追加)--update-goldensの出力 PNG をdiff -r— ローカルベンチ 1000 枚とpackages/showfase/exampleの 13 枚がすべてバイト一致flutter testで 7.2s、SHARD_INDEX=1 TOTAL_SHARDS=4の環境変数経路で正しく 1/4(250 件)が実行されることを確認dart run melos run analyze/format:check/test:flutterすべてパスChecklist
dart format .has been run.dart analyze(ormelos run analyze) passes locally.dart test/flutter testpasses locally in every affected package.///doc comments.dart run build_runner buildinpackages/showfase/exampleand committed the updatedshowfase.g.dartalongside the source change.CHANGELOG.mdin every affected package updated under an## Unreleasedheading.🤖 Generated with Claude Code