...

Text file src/edge-infra.dev/hack/build/build-image/README.md

Documentation: edge-infra.dev/hack/build/build-image

     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