By default, go get determines parallelism based on the number of
cores available. Those show up as 32 in the Travis CI environment
but a virtual machine is limited both by the amount of cores it
has allocated and the amount of memory available to it. 32 parallel
build processes are likely to exhaust the memory resources, leading
to killed processes.
This change reduces the number of builds running concurrently to 2,
which should reduce the likelihood of memory exhaustion greatly.
The number could probably be dialed up a little bit, but this should
give a good default reflecting the environment's resources.
The colored output is broken when using Zsh.
\033[32;01m==> Installing dependencies\033[0m
\033[32;01m==> Building\033[0m
After adding the parameter -e to echo I get the expected green lines.
When running "make test" on my machine, I got many unrecognized import
path errors, and the path showed a trailing "\n". Changing the go list
format to remove the newline fixed these.
1) /bin/sh is not /bin/bash, so build.sh needs to explictly use /bin/bash
2) dash's echo does not support \x, but it does support \0 (since dash is
/bin/sh, it gets used by Makefiles).