-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Implement custom sharding -- iOS #1779
Conversation
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
For reference: #1736 |
Timestamp: 2021-04-08 15:52:21 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor wording change
c51e3f0
to
3d8811c
Compare
a5003d2
to
bbec741
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor changes.
@@ -19,7 +19,7 @@ val obfuscatePrettyPrinter = GsonBuilder() | |||
internal object ListOfStringTypeToken : TypeToken<List<String>>() | |||
|
|||
@VisibleForTesting | |||
internal object ListOfStringListTypeToken : TypeToken<ShardChunks>() | |||
internal object ListOfStringListTypeToken : TypeToken<List<Map<String, List<String>>>>() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change from ShardChunks to List<Map<...>> looks crazy. Is it worth not having another alias here like before?
maybe CustomShardChunks
?
WDYT? Worth it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not! 👍🏻
Personally, I don't like type aliases used as cover for data structures but I think I'm in the minority
17802e6
to
c8aa7bd
Compare
Fixes #1665
Detailed documentation
This is the first implementation of the custom sharding feature, below assumptions were made:
sharding-json
is the source of truth -- no smart sharding appliedTest Plan
V1
./gradlew flankFullRun
flank firebase test ios run -c=[YOUR CONFIG] --dump-shards
ios_shards.json
, rename it and play around with shards, example: add another shard, move tests etcsharding-json: [PATH TO YOUR CUSTOM SHARDING JSON]
to your config yamlflank firebase test ios run -c=[YOUR CONFIG] --dump-shards
ios_shards.json
flank firebase test ios run -c=[YOUR CONFIG]
V2
./gradlew flankFullRun
flank firebase test ios run -c=[YOUR CONFIG] --dump-shards
ios_shards.json
, rename it and play around with shards, example: add another shard, move tests etcsharding-json: [PATH TO YOUR CUSTOM SHARDING JSON]
to your config yamlflank firebase test ios run -c=[YOUR CONFIG] --dump-shards
ios_shards.json
flank firebase test ios run -c=[YOUR CONFIG]
Checklist