Skip to content

Commit

Permalink
jdk21
Browse files Browse the repository at this point in the history
  • Loading branch information
pshirshov committed Jan 9, 2024
1 parent 28ed537 commit cde801e
Showing 1 changed file with 46 additions and 38 deletions.
84 changes: 46 additions & 38 deletions izumi-env/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
ARG V_UBUNTU=18.04
ARG V_UBUNTU=22.04
FROM ubuntu:${V_UBUNTU}

ARG V_SCALA=2.13.3
ARG V_TYPESCRIPT=4.0.2
ARG V_GOLANG=1.18
ARG V_DOTNETSDK=3.1
ARG URELEASE=jammy

#ARG V_OPENJDK=11
ARG V_SBT=1.3.13
ARG V_MVN=3.6.0-1~18.04.1
ARG V_GRAAL=21.3.0
ARG V_PROTOBUF=3.19.1
ARG URELEASE=bionic
ARG V_GRAAL=21.0.1
ARG V_SCALA=2.13.12
ARG V_SBT=1.9.8

ARG V_TYPESCRIPT=4.0.2
ARG V_GOLANG=1.21
ARG V_DOTNETSDK=7.0
ARG V_MVN=3.6.3-5
ARG V_PROTOBUF=25.1
ARG V_JEKYLL=3.2.1

RUN mkdir -p /work
RUN mkdir -p /root
Expand All @@ -22,43 +25,49 @@ ENV DEBIAN_FRONTEND noninteractive

RUN echo "APT::Acquire::Queue-Mode "access"; APT::Acquire::Retries 3; " > /etc/apt/apt.conf.d/99parallel && \
export DEBIAN_FRONTEND=noninteractive && \
apt-get update && apt-get install -y --no-install-recommends tzdata gnupg ca-certificates wget curl zip unzip apt-utils jq build-essential git openssh-client software-properties-common && \
apt-get update && apt-get install -y --no-install-recommends tzdata gnupg ca-certificates wget curl zip unzip apt-utils jq build-essential git openssh-client software-properties-common locales && \
ln -fs /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
dpkg-reconfigure --frontend noninteractive tzdata && \
apt-get clean -y

RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen

ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

RUN curl -o packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb && \
dpkg -i packages-microsoft-prod.deb && \
rm packages-microsoft-prod.deb

RUN add-apt-repository ppa:longsleep/golang-backports

RUN apt-get -y install locales
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8


RUN curl -sS https://download.mono-project.com/repo/xamarin.gpg | apt-key add - && \
echo "deb https://download.mono-project.com/repo/ubuntu stable-${URELEASE} main" | tee /etc/apt/sources.list.d/mono-official-stable.list && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu ${URELEASE} stable" | tee /etc/apt/sources.list.d/docker.list && \
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - && \
echo "deb [arch=amd64] https://apt.releases.hashicorp.com ${URELEASE} main"| tee /etc/apt/sources.list.d/terraform.list && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 && \
curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | tee /etc/apt/sources.list.d/mono-official-stable.list

RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu ${URELEASE} stable" | tee /etc/apt/sources.list.d/docker.list

RUN curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - && \
echo "deb [arch=amd64] https://apt.releases.hashicorp.com ${URELEASE} main"| tee /etc/apt/sources.list.d/terraform.list

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 && \
curl -sL https://deb.nodesource.com/setup_20.x | bash -

RUN curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add && \
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | tee /etc/apt/sources.list.d/sbt.list && \
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | tee /etc/apt/sources.list.d/sbt_old.list && \
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | apt-key add && \
apt-get update
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | tee /etc/apt/sources.list.d/sbt_old.list

RUN apt-get upgrade -y
RUN apt-get update && apt-get upgrade -y

# we don't need it but it fixes broken apt
RUN apt-get install -y openjdk-17-jre-headless
#RUN apt-get install -y openjdk-21-jre-headless

RUN apt-get install -y --no-install-recommends \
mono-devel nuget nunit-console dotnet-sdk-${V_DOTNETSDK} msbuild
Expand Down Expand Up @@ -96,14 +105,13 @@ ENV JAVA_HOME ${JAVA_BASE}/graalvm
ENV PATH "$PATH:$JAVA_HOME/bin"

RUN cd /tmp && \
wget -q https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${V_GRAAL}/graalvm-ce-java11-linux-amd64-${V_GRAAL}.tar.gz -O dist.tar.gz && \
wget -q https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${V_GRAAL}/graalvm-community-jdk-${V_GRAAL}_linux-x64_bin.tar.gz -O dist.tar.gz && \
tar -xvzf dist.tar.gz && \
rm -f dist.tar.gz && \
mkdir -p ${JAVA_BASE} && \
chmod -R 755 ${JAVA_BASE} && \
mv graalvm-*/ ${JAVA_HOME} && \
update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 99999 && \
gu install native-image
update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 99999

RUN wget -q www.scala-lang.org/files/archive/scala-${V_SCALA}.deb && dpkg -i --ignore-depends=java8-runtime-headless scala-${V_SCALA}.deb && rm -rf *.deb && \
curl -Lo /usr/local/bin/coursier https://git.io/coursier-cli && chmod +x /usr/local/bin/coursier
Expand All @@ -112,11 +120,11 @@ RUN curl -Lo /usr/local/bin/cs https://git.io/coursier-cli-linux && chmod +x /us

RUN npm i -g typescript@${V_TYPESCRIPT}

RUN pip install awscli
RUN apt-get install -y --no-install-recommends python3-pip && \
pip3 install awscli

RUN gem update --system && \
gem install sass && \
gem install jekyll -v 3.2.1
RUN gem install sass && \
gem install jekyll -v ${V_JEKYLL}

# /usr/lib/go-1.10/bin needs to be added into PATH manually: https://github.com/golang/go/wiki/Ubuntu
ENV GOPATH $HOME/gopath
Expand Down

0 comments on commit cde801e

Please sign in to comment.