Update language levels, fix erlang and rust in CI
- Include rebar3 in docker image so erlang builds in CI
- Include the correct path in docker image so rust builds in CI
- Updated common lisp (sbcl) to 1.5.3 in docker image
- Updated dlang to 2.087.0 in docker image
- Updated dart to 2.0.0 in xenial docker image
- Updated dart to 2.4.0 in bionic docker image
- Updated erlang to 22.0 in docker image
- Updated openjdk to 11.0.3 in docker image
- Updated node.js to 10.16 in docker image
- Updated rust to 1.34.0 in xenial docker image
- Updated rust to 1.35.0 in bionic docker image
THRIFT-4905: Disable hanging experimental dlang async ssl test
diff --git a/build/docker/ubuntu-bionic/Dockerfile b/build/docker/ubuntu-bionic/Dockerfile
index b508b1e..2c0609e 100644
--- a/build/docker/ubuntu-bionic/Dockerfile
+++ b/build/docker/ubuntu-bionic/Dockerfile
@@ -12,13 +12,7 @@
#
# Apache Thrift Docker build environment for Ubuntu Bionic
-# Using all stock Ubuntu Bionic packaging except for:
-# - cl: want latest
-# - d: dmd does not come with Ubuntu
-# - dart: does not come with Ubuntu - we use 2.x here
-# - dotnet: does not come with Ubuntu
-# - go: want latest
-# - nodejs: want v8, bionic comes with v6
+# with some updated packages.
#
FROM buildpack-deps:bionic-scm
@@ -38,10 +32,6 @@
software-properties-common \
wget
-# csharp (mono) - if we ever want a later version
-# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
-# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
-
# Dart
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
@@ -53,9 +43,13 @@
chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
chown root:root /etc/apt/sources.list.d/microsoft-prod.list
+# erlang
+RUN wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add - && \
+ echo "deb https://packages.erlang-solutions.com/ubuntu bionic contrib" | tee /etc/apt/sources.list.d/erlang.list
+
# node.js
RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
- echo "deb https://deb.nodesource.com/node_8.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
+ echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
### install general dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
@@ -99,7 +93,7 @@
`# csharp (mono) dependencies` \
mono-devel
-ENV SBCL_VERSION 1.4.15
+ENV SBCL_VERSION 1.5.3
RUN \
`# Common Lisp (sbcl) dependencies` \
curl --version && \
@@ -111,8 +105,8 @@
cd .. && \
rm -rf sbcl*
-ENV D_VERSION 2.083.1
-ENV DMD_DEB dmd_2.083.1-0_amd64.deb
+ENV D_VERSION 2.087.0
+ENV DMD_DEB dmd_2.087.0-0_amd64.deb
RUN \
`# D dependencies` \
wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
@@ -128,7 +122,7 @@
mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf deimos-openssl-1.1.0h
-ENV DART_VERSION 2.1.0-1
+ENV DART_VERSION 2.4.0-1
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
dart=$DART_VERSION
@@ -140,20 +134,19 @@
RUN apt-get install -y --no-install-recommends \
`# Erlang dependencies` \
- erlang-base \
- erlang-eunit \
- erlang-dev \
- erlang-tools \
- rebar
+ erlang && \
+ wget https://s3.amazonaws.com/rebar3/rebar3 -O /usr/bin/rebar3 && \
+ chmod 755 /usr/bin/rebar3 && \
+ rebar3 --version
RUN apt-get install -y --no-install-recommends \
`# GlibC dependencies` \
libglib2.0-dev
# golang
-ENV GOLANG_VERSION 1.12.1
+ENV GOLANG_VERSION 1.12.6
ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
-ENV GOLANG_DOWNLOAD_SHA256 2a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec
+ENV GOLANG_DOWNLOAD_SHA256 dbcf71a3c1ea53b8d54ef1b48c85a39a6c9a935d01fc8291ff2b92028e59913c
RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - && \
tar -C /usr/local -xzf golang.tar.gz && \
@@ -258,6 +251,7 @@
# Rust dependencies
RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.35.0 -y
+ENV PATH /root/.cargo/bin:$PATH
# Swift on Linux for cross tests
RUN cd / && \