# Edge Build Image This package defines the build for the `build` container image, which contains the base toolchain required for building this repository and broader Edge builds. Includes: - Bazel - `gcloud` - Kpt - Ruby - Python (2 + 3) - Git - Node.js + `npm` - `rsync` - Make And others. See `BUILD.bazel` for more information. ## Usage in CI Since this image will typically be cached on all of our GH Actions private runners, there isn't much overhead to use this image for one tool for a one-off / quick GH Actions workflow. For specialized use you may want to consider building a smaller image only containing what you need, such as `hack/tools/godoc`. It should also be noted that there might be edge cases where the `latest` image tag must be updated prior to merging with master. I.e. docker authentication changes to scripts. If so, the last example can be used. ## Building & Testing ```sh # build bazel build hack/build/build-image # test bazel test hack/build/build-image:test # build + publish just push hack/build/build-image # build + publish + latest just push hack/build/build-image -latest # run shell in container # first, bazel run hack/build/build-image docker run --rm -it bazel/hack/build/build-image:build-image bash ```