We don't have a full git repo in the gcb builds so our version/tag magic
inside the makefile does not work. With this patch we get the version
information from the builder environment - fortunately we can do that by
simply stripping the date prefix from the _GIT_TAG variable. By
stripping the date of we match what our makefile does.
Let's just rely on our Makefile everywhere. Plus the previous version
was essentially broken as _PULL_BASE_REF env variable was not available
in testing jobs.
Use make for building our container image (through a new push-image.sh
script) instead of building directly with docker. This way we avoid the
container image tag naming hassle where we build and push the image on
"image-pushing" prow job and need to be able to reliably re-create the
same tag on the "testing" side for end-to-end tests. This also has the
advantage that the same mechanism (make) is used everywhere, i.e. in
image-pushing, testing and locally.
Add a new script for running end-to-end tests. Implement a Makefile rule
for polling the container image. We need this for prow as there is no
other way for syncing the jobs (e2e postsubmit job must wait until the
image-pushing job has built and published the image). This is
implemented in the Makefile as all the image-related variables are also
defined/available there.
Also, adapt the TravisCI config to use the new script.