Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Parallelize build of documentation. (apache#15062)
This is far more complex than it should be because of autoapi problems with parallel execution. Unfortunately autoapi does not cope well when several autoapis are run in parallel on the same code - even if they are run in separate processes and for different packages. Autoapi uses common _doctree and _api directories generated in the source code and they override each other if two or more of them run in parallel. The solution in this PR is mostly applicable for CI environment. In this case we have docker images that have been already built using current sources so we can safely run separate docker containers without mapping the sources and run generation of documentation separtely and independently in each container. This seems to work really well, speeding up docs generation 2x in public GitHub runners and 8x in self-hosted runners. Public runners: * 27m -> 15m Self-hosted runners: * 27m -> < 8m
- Loading branch information