Open joao-paulo-parity opened 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.
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
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.