diff --git a/buildkite/docker/build.sh b/buildkite/docker/build.sh index 94e8e39a44..812ef4c66a 100755 --- a/buildkite/docker/build.sh +++ b/buildkite/docker/build.sh @@ -26,6 +26,7 @@ docker build -f ubuntu1604/Dockerfile --target ubuntu1604-java8 -t "gcr.io/$PRE docker build -f ubuntu1804/Dockerfile --target ubuntu1804-java11 -t "gcr.io/$PREFIX/ubuntu1804-java11" ubuntu1804 & docker build -f ubuntu2004/Dockerfile --target ubuntu2004-java11 -t "gcr.io/$PREFIX/ubuntu2004-java11" ubuntu2004 & docker build -f ubuntu2204/Dockerfile --target ubuntu2204-java17 -t "gcr.io/$PREFIX/ubuntu2204-java17" ubuntu2204 & +docker build -f fedora39/Dockerfile --target fedora39-java17 -t "gcr.io/$PREFIX/fedora39-java17" fedora39 & wait docker build -f centos7/Dockerfile --target centos7-java8 -t "gcr.io/$PREFIX/centos7-java8" centos7 @@ -37,3 +38,4 @@ docker build -f ubuntu1804/Dockerfile --target ubuntu1804-bazel-java11 -t "g docker build -f ubuntu2004/Dockerfile --target ubuntu2004-bazel-java11 -t "gcr.io/$PREFIX/ubuntu2004-bazel-java11" ubuntu2004 docker build -f ubuntu2004/Dockerfile --target ubuntu2004-java11-kythe -t "gcr.io/$PREFIX/ubuntu2004-java11-kythe" ubuntu2004 docker build -f ubuntu2204/Dockerfile --target ubuntu2204-bazel-java17 -t "gcr.io/$PREFIX/ubuntu2204-bazel-java17" ubuntu2204 +docker build -f fedora39/Dockerfile --target fedora39-bazel-java17 -t "gcr.io/$PREFIX/fedora39-bazel-java17" fedora39 diff --git a/buildkite/docker/fedora39/Dockerfile b/buildkite/docker/fedora39/Dockerfile new file mode 100644 index 0000000000..82d7f54194 --- /dev/null +++ b/buildkite/docker/fedora39/Dockerfile @@ -0,0 +1,67 @@ +FROM fedora:39 as fedora39-bazel-java17 +ARG BUILDARCH + +RUN dnf update -y + +### Install packages required by Bazel and its tests +RUN dnf install -y \ + bind-utils \ + dnsutils \ + dpkg-dev \ + expect \ + findutils \ + gcc \ + gcc-c++ \ + git \ + glibc-langpack-en \ + glibc-locale-source \ + iproute \ + iputils \ + lcov \ + java-17-openjdk \ + java-17-openjdk-devel \ + patch \ + perl \ + python2 \ + python3 \ + python3-devel \ + python3-pip \ + python3-requests \ + python3-setuptools \ + python3-wheel \ + python3-yaml \ + unzip \ + vim \ + wget \ + which \ + zip \ + && dnf clean all \ + && rm -rf /var/cache/yum + +RUN localedef -i en_US -f ISO-8859-1 en_US.ISO-8859-1 + +# Allow using sudo inside the container. +RUN echo "ALL ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers + +ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk + +FROM fedora39-bazel-java17 AS fedora39-java17 + +# Install Google Cloud SDK +COPY google-cloud-sdk.repo /etc/yum.repos.d/google-cloud-sdk.repo + +RUN dnf install -y \ + google-cloud-sdk + +# Bazelisk +RUN LATEST_BAZELISK=$(curl -sSI https://github.com/bazelbuild/bazelisk/releases/latest | grep -i '^location: ' | sed 's|.*/||' | sed $'s/\r//') && \ + curl -Lo /usr/local/bin/bazel https://github.com/bazelbuild/bazelisk/releases/download/${LATEST_BAZELISK}/bazelisk-linux-${BUILDARCH} && \ + chown root:root /usr/local/bin/bazel && \ + chmod 0755 /usr/local/bin/bazel + +# Buildifier +RUN LATEST_BUILDIFIER=$(curl -sSI https://github.com/bazelbuild/buildtools/releases/latest | grep -i '^location: ' | sed 's|.*/||' | sed $'s/\r//') && \ + curl -Lo /usr/local/bin/buildifier https://github.com/bazelbuild/buildtools/releases/download/${LATEST_BUILDIFIER}/buildifier-linux-${BUILDARCH} && \ + chown root:root /usr/local/bin/buildifier && \ + chmod 0755 /usr/local/bin/buildifier + diff --git a/buildkite/docker/fedora39/google-cloud-sdk.repo b/buildkite/docker/fedora39/google-cloud-sdk.repo new file mode 100644 index 0000000000..f3ab884db3 --- /dev/null +++ b/buildkite/docker/fedora39/google-cloud-sdk.repo @@ -0,0 +1,9 @@ +[google-cloud-sdk] +name=Google Cloud SDK +baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64 +enabled=1 +gpgcheck=1 +repo_gpgcheck=0 +gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg + https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg + diff --git a/buildkite/docker/push.sh b/buildkite/docker/push.sh index 686f00e583..83d0aa97b0 100755 --- a/buildkite/docker/push.sh +++ b/buildkite/docker/push.sh @@ -30,4 +30,6 @@ docker push "gcr.io/$PREFIX/ubuntu2004-java11" & docker push "gcr.io/$PREFIX/ubuntu2004-java11-kythe" & docker push "gcr.io/$PREFIX/ubuntu2204-java17" & docker push "gcr.io/$PREFIX/ubuntu2204-bazel-java17" & +docker push "gcr.io/$PREFIX/fedora39-java17" & +docker push "gcr.io/$PREFIX/fedora39-bazel-java17" & wait