cos/tools: use cached remote builds

Enable container build caching using --cache-from functionality present
in
[docker](https://docs.docker.com/engine/reference/commandline/build/#cache-from) (enabled by using buildkit) and [remote caching](https://bazel.build/remote/caching#cloud-storage) in bazel using cloud storage buckets.

Reduces build time by:

| Container      | build-time pre-caching | build-time post-caching |
| ----------- | ----------- | ----------- |
| cos-customizer | ~15 min | ~5 min |
| toolbox | ~21 min | ~ 25 sec |
| cos_gpu_config_builder | ~1.5 min | ~1.5 min |
| cos_gpu_driver_builder | ~2 min | ~1.5 min |
| cos_gpu_installer | ~2 min | ~1 min |
| cos_gpu_installer_v1 | ~1 min | ~1 min |
| cos_kdump_debugger | ~ 7.5 min | ~0.5 min |
| cos_ova_converter | ~2.5 min | ~1.5 min |
| kselftest-builder | ~13 min | 0 min |

Change-Id: Ie6263ccbb17e1f479f6274c80aec8188cb52dfe8
Reviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/45593
Reviewed-by: Oleksandr Tymoshenko <ovt@google.com>
Reviewed-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Tested-by: Arnav Kansal <rnv@google.com>
Cloud-Build: GCB Service account <228075978874@cloudbuild.gserviceaccount.com>
8 files changed
tree: 3491a89a854d2e917652c03d6b3fbeed3aa9639e
  1. coverage/
  2. release/
  3. src/
  4. testing/
  5. .gitignore
  6. BUILD.bazel
  7. cloudbuild.yaml
  8. CONTRIBUTING.md
  9. deps.bzl
  10. go.mod
  11. go.sum
  12. LICENSE
  13. README.md
  14. run_tests.sh
  15. WORKSPACE
README.md

Tools for Container-Optimized OS

This is a repository of various tools developed for Container-Optimized OS. Examples include cos-gpu-installer, cos-toolbox, etc.

See CONTRIBUTING.md for how to contribute.