github-workflows-kt
github-workflows-kt copied to clipboard
Parallelize client-side binding generation
Here https://github.com/typesafegithub/github-workflows-kt/blob/77d8c4ebd6c8bbc533a381e9d14c2b9a8992aa34/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/GenerateActionBindingsCliHelper.kt#L43 we iterate sequentially. Since subsequent iterations don't depend on each other, we can parallelize it.
I think processing 5 actions at once is a good starting point. It will already give some benefit, and it won't cause too many parallel HTTP calls which may trigger some rate limiting on GitHub side.
Another issue is that fetching the data seems to be blocking now: https://github.com/typesafegithub/github-workflows-kt/blob/76b8dc6ca054937de3d40bcad93e32b0694c6281/action-binding-generator/src/main/kotlin/io/github/typesafegithub/workflows/actionbindinggenerator/MetadataReading.kt#L78