paritytech / releng-scripts

Scripts managed and used by @paritytech/release-engineering
Apache License 2.0
0 stars 3 forks source link

Support parallel CI jobs for crate publishing #22

Open joao-paulo-parity opened 1 year ago

joao-paulo-parity commented 1 year ago

PRs which touch lots of crates, for example https://github.com/paritytech/substrate/pull/12768, take a long time to publish overall (example: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2130765). We can improve the task's overall time to completion by splitting crates into groups and publishing those groups in parallel, perhaps using https://github.com/paritytech/substrate/pull/12709 as reference for an implementation.

joao-paulo-parity commented 1 year ago

To publish a crate you need to publish all of its dependencies first, so it makes more sense as a serial processing operation which happens in the context of a single job rather than a distributed operation spread across parallel jobs. In the latter case they'd need to somehow synchronize between themselves so that Crate Y is only published from Job B after Crate X is published from Job A. Feasibility aside, I don't know if it's worthwhile to do that.

joao-paulo-parity commented 1 year ago

Changing the ticket to "question" because I'd like to first have the plan for a future implementation proposal before moving to the implementation itself