Add 'scripts/github/update-gh-pages.sh' for updating gh-pages branch.
This new script intended for github actions integration and builds the
html documentation from the currently checked-out commit and updates the
corresponding version subfolder in the gh-pages branch. The version is
taken from GITHUB_REF environment variable and defaults to 'master' if
the env var is empty. For testing purposes or manual updates the
subfolder can also be given directly as a command line argument.
Add 'scripts/test-infra/build-gh-pages.sh' for verifying that site
(gh-pages) builds successfully. This is intended for integration with
kubernetes test-infra.
Finally, add Github workflow for updating gh-pages. This job is run on
master and release branches plus all tags starting with letter 'v'.
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.