...
1# Edge Build Image
2
3This package defines the build for the `build` container image, which contains the base toolchain required for building this repository and broader Edge builds.
4
5Includes:
6- Bazel
7- `gcloud`
8- Kpt
9- Ruby
10- Python (2 + 3)
11- Git
12- Node.js + `npm`
13- `rsync`
14- Make
15
16And others. See `BUILD.bazel` for more information.
17
18## Usage in CI
19
20Since this image will typically be cached on all of our GH Actions private runners,
21there isn't much overhead to use this image for one tool for a one-off / quick
22GH Actions workflow. For specialized use you may want to consider building a
23smaller image only containing what you need, such as `hack/tools/godoc`.
24
25It should also be noted that there might be edge cases where the `latest` image
26tag must be updated prior to merging with master. I.e. docker authentication
27changes to scripts. If so, the last example can be used.
28
29## Building & Testing
30
31
32```sh
33# build
34bazel build hack/build/build-image
35
36# test
37bazel test hack/build/build-image:test
38
39# build + publish
40just push hack/build/build-image
41
42# build + publish + latest
43just push hack/build/build-image -latest
44
45# run shell in container
46# first, bazel run hack/build/build-image
47docker run --rm -it bazel/hack/build/build-image:build-image bash
48```
View as plain text