github-workflows-kt icon indicating copy to clipboard operation
github-workflows-kt copied to clipboard

Parallelize client-side binding generation

Open krzema12 opened this issue 6 months ago • 0 comments

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

krzema12 avatar Dec 15 '23 15:12 krzema12