kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/release/cloudbuild/bazelisk-builder-client/Dockerfile (about) 1 # Copyright 2021 The Kythe Authors. All rights reserved. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 # 15 # A minimal image for building Kythe with Bazelisk 16 17 # docker build -t gcr.io/kythe-repo/bazelisk-builder-client . 18 FROM ubuntu:23.04 19 20 RUN apt-get update \ 21 && apt-get upgrade -y \ 22 && apt-get install -y --no-install-recommends \ 23 clang-15 curl ca-certificates \ 24 # Bazel's fallback @local_jdk and needed by rules_jvm_external 25 openjdk-11-jdk-headless \ 26 # Used to build the website; rules_ruby doesn't support alternate toolchains well. 27 ruby \ 28 # Needed for io_bazel_rules_docker which is used by bazel_toolchains. 29 git \ 30 # Needed to apply local patches to Bazel reposiories. 31 patch \ 32 # Needed to configure the LLVM repository. 33 python3 \ 34 && apt-get clean \ 35 && rm -rf /var/lib/apt/lists/* 36 37 38 # Fetch the latest version of Bazelisk for AMD64 Linux from GitHub 39 RUN curl -s https://api.github.com/repos/bazelbuild/bazelisk/releases/latest \ 40 | sed -n '/browser_download_url/s/[^:]*:[^"]*\("[^"]*"\).*/url = \1/p' \ 41 | grep bazelisk-linux-amd64 \ 42 | curl -L -o /usr/bin/bazelisk -K - \ 43 && chmod +x /usr/bin/bazelisk 44 45 # Add the wrapper script for USE_BAZEL_VERSION=min support. 46 ADD bazel /usr/bin/bazel 47 # Use a custom system bazelrc file as well. 48 ADD bazelrc /etc/bazel.bazelrc