5:59:11 <zeljkof> hashar: running in the background while doing other things, because it's slow, will copy/paste output and create a task if it's a bug
16:02:06 <hashar> usually the main sources of speed up are:
16:02:43 <hashar> 1) have a "cache" directory on the host and bind mount it in the docker container: mkdir cache; chmod 777 cache . Then pass to docker run: -v "$(pwd)/cache:/cache"
16:03:20 <hashar> 2) use git bare repositories on the host (see README.md which get them created on the host in a directory named ref). Then bind mount them read only in the container at /srv/git : -v "$(pwd)/ref:/srv/git:ro"
16:03:53 <hashar> zuul-cloner will try to find a git repo there and clone from it. That is a local clone and is fast. Then zuul-cloner refresh from Gerrit
16:04:41 <hashar> 3) have a src directory on the host which is bind mounted in the container. This way once the repositories have been cloned and npm install / composer install have been run, you can skip those steps
16:05:04 <hashar> so that is something like: mkdir src; chmod 777 src; docker run -v "$(pwd)/src:/src"
16:05:08 <hashar> and for the enxt run:
16:05:17 <hashar> docker run -v "$(pwd)/src:/src" --skip-zuul --skip-deps
This is recommended in the readme, but does not work on my machine (Mac):
~/Documents/gerrit/integration/quibble$ install --directory --mode 777 cache install: illegal option -- - usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 file2 install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 ... fileN directory install -d [-v] [-g group] [-m mode] [-o owner] directory ...
I guess it should be replaced with your recommendation from IRC:
mkdir cache; chmod 777 cache