[docker] Add sonobuoy multiarch image build
Upstream sonobuoy lacks 2 images for AArch64 architecture, so build
our own multiarch amd64 (x86_64) + arm64 (AArch64) images for:
- sonobuoy-plugin-systemd-logs (tag version 'latest');
- kube-conformance (tag version 'v1.11');
The new images will be pushed to Dockerhub as:
- akraino/validation:sonobuoy-plugin-systemd-logs-latest
- akraino/validation:kube-conformance-v1.11
Since upstream Dockerfiles require small changes for AArch64 support,
implement a new patching mechanism via new make targets in
`docker/build.mk`:
- .submodules_init
* initializes the (newly added) git submodules in this repository
and pulls the pinned-down commit for each submodule;
- .submodules_patched
* Applies patches found in the `patches` and/or `patches/<arch>`
subdirectories for each submodule (using `git am -3`), so we can
apply AArch64-specific changes only on arm64 platforms;
- .submodules_clean
* Un-applies patches by resetting each git submodule to its
pinned-down commit;
To add support for pre-build actions like submodules init + patching,
turn `.build` make target into a double-colon target and extend it
for the two new containers accordingly.
To prevent tox verify failures, adjust ui .eslintrc and tox.ini to
remove the git submodules first (second one being a temporary
workaround until ci-management allows configuring verify jobs with
git submodule handling disabled).
JIRA: VAL-24
Change-Id: Ibfeb3551e44e82fdade2886985ca4577b7d32522
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
12 files changed: