If [[ "$DONE" != 1 ]] && echo "Failed to do composer install" && exit 1
is at the end of a shell script, even if DONE is 1, this will return with error
exit status. That's because [[ $DONE != 1 ]] has exitcode 1 and thus anything after && doesn't get executed
and the entire scripts exits the last exit code it seen (which is 1).
We have seen an issue where `rm -r "$HOME/.gradle"` fails because
"Directory not empty". It seems likely this is due the fact Gradle is
still running in daemon form. The build script doesn't get any advantage
by running the daemon, so we just disable it.
Fixes#20423
Since openjdk8 is dead to us (see #19113), we cannot leave openjdk8 in
the list of runtimes in client_matrix.py. The list of runtimes is now
the defaults to use, which includes master, and you can specify
alternative runtimes per-release.
Fixes#19113
This reduces the container size from 1.4 GB to 640 MB. 129 MB is
jessie, 489 MB jdk, and 22 MB grpc-java. When we swap from jessie to
stretch, we could swap to openjdk:8-jdk-slim-stretch which would make
the entire image 265 MB.
Python was never needed; it was added by mistake in 0589e533.
Pre-downloading gradle artifacts isn't helpful these days, because we
build on a clean machine. Git isn't needed as cp is sufficient. libapr1
has not been required by tcnative for a long time, and we even use
tcnative-boringssl-static since at least 1.0, which also doesn't need
it. The final cleanup is to remove source and downloaded artifacts when
done compiling.
Jessie has a line that looks like this, now-a-days, so the regex is no
longer matching:
deb http://security.debian.org/debian-security jessie/updates main
But because that line was changed, downloads are also working correctly
out-of-the-box. The sed was originally added in #18530.