summaryrefslogtreecommitdiff
path: root/build/docker
diff options
context:
space:
mode:
authorJames E. King III <jking@apache.org>2019-06-21 17:50:34 -0400
committerJames E. King III <jking@apache.org>2019-07-07 12:16:52 -0400
commit93ff9b00531682ece08a1a43883e55fd2aa83a15 (patch)
tree69e0f337bd2fd92e0890eb20af44654f9a829c1e /build/docker
parent1a2dee60b4384de2f6190caa85cf3e2a497c31b9 (diff)
downloadthrift-93ff9b00531682ece08a1a43883e55fd2aa83a15.tar.gz
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
Diffstat (limited to 'build/docker')
-rw-r--r--build/docker/README.md32
-rw-r--r--build/docker/ubuntu-bionic/Dockerfile40
-rw-r--r--build/docker/ubuntu-xenial/Dockerfile40
3 files changed, 54 insertions, 58 deletions
diff --git a/build/docker/README.md b/build/docker/README.md
index ce79985a3..7bbf00173 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -167,31 +167,31 @@ Last updated: October 1, 2017
| Language | ubuntu-xenial | ubuntu-bionic | Notes |
| :-------- | :------------ | :------------ | :---- |
-| as of | Mar 06, 2018 | Jan 21, 2019 | |
+| as of | Mar 06, 2018 | Jul 1, 2019 | |
| as3 | | 4.6.0 | |
-| C++ gcc | 5.4.0 | 7.3.0 | |
+| C++ gcc | 5.4.0 | 7.4.0 | |
| C++ clang | 3.8 | 6.0 | |
| C# (mono) | 4.2.1.0 | 4.6.2.7 | |
-| c_glib | 2.48.2 | 2.56.0 | |
-| cl (sbcl) | | 1.4.15 | |
-| d | 2.075.1 | 2.083.1 | |
-| dart | 1.24.3 | 2.1.0 | |
+| c_glib | 2.48.2 | 2.56.4 | |
+| cl (sbcl) | | 1.5.3 | |
+| d | 2.075.1 | 2.087.0 | |
+| dart | 2.0.0 | 2.4.0 | |
| delphi | | | Not in CI |
-| dotnet | 2.1.503 | 2.2.103 | |
-| erlang | 18.3 | 20.2.2 | |
-| go | 1.7.6 | 1.11.4 | |
+| dotnet | 2.1.503 | 2.2.300 | |
+| erlang | 18.3 | 22.0 | |
+| go | 1.10.8 | 1.12.6 | |
| haskell | 7.10.3 | 8.0.2 | |
| haxe | 3.2.1 | 3.4.4 | THRIFT-4352: avoid 3.4.2 |
-| java | 1.8.0_191 | 1.8.0_191 | |
+| java | 1.8.0_191 | 11.0.3 | |
| js | | | Unsure how to look for version info? |
-| lua | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
-| nodejs | 6.16.0 | 8.15.0 | |
+| lua | | 5.2.4 | Lua 5.3: see THRIFT-4386 |
+| nodejs | 6.16.0 | 10.16.0 | |
| ocaml | | 4.05.0 | THRIFT-4517: ocaml 4.02.3 on xenial appears broken |
| perl | 5.22.1 | 5.26.1 | |
-| php | 7.0.32 | 7.2.10 | |
-| python | 2.7.12 | 2.7.15rc1 | |
-| python3 | 3.5.2 | 3.6.7 | |
+| php | 7.0.32 | 7.2.19 | |
+| python | 2.7.12 | 2.7.15 | |
+| python3 | 3.5.2 | 3.6.8 | |
| ruby | 2.3.1p112 | 2.5.1p57 | |
-| rust | 1.35.0 | 1.35.0 | |
+| rust | 1.34.0 | 1.35.0 | |
| smalltalk | | | Not in CI |
| swift | | 4.2.1 | |
diff --git a/build/docker/ubuntu-bionic/Dockerfile b/build/docker/ubuntu-bionic/Dockerfile
index b508b1e8d..2c0609e23 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 @@ RUN apt-get update && \
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 @@ RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /et
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 @@ RUN apt-get install -y --no-install-recommends \
`# 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 @@ RUN \
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 @@ RUN \
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 \
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 @@ RUN apt-get install -y --no-install-recommends \
# 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 / && \
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index 119d4cdf5..8dc6497dc 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -14,7 +14,7 @@
# Apache Thrift Docker build environment for Ubuntu Xenial
# Using all stock Ubuntu Xenial packaging except for:
# - d: does not come with Ubuntu so we're installing 2.075.1 for coverage
-# - dart: does not come with Ubuntu so we're installing 1.24.3 for coverage
+# - dart: does not come with Ubuntu so we're installing 2.0.0-1 for coverage
# - dotnet: does not come with Ubuntu
# - go: Xenial comes with 1.6, but we need 1.10 or later
# - nodejs: Xenial comes with 4.2.6 which exits LTS April 2018, so we're installing 6.x
@@ -35,29 +35,29 @@ RUN apt-get update && \
apt-utils \
curl \
software-properties-common \
- wget
+ wget && \
# csharp (mono)
-# 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
+# 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 && \
# D
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
+ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
- wget -qO - https://dlang.org/d-keyring.gpg | apt-key add -
+ wget -qO - https://dlang.org/d-keyring.gpg | apt-key add - && \
# Dart
-RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+ 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 > \
- /etc/apt/sources.list.d/dart_stable.list
+ /etc/apt/sources.list.d/dart_stable.list && \
# dotnet (core)
-RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
- /etc/apt/sources.list.d/dotnetdev.list
+ /etc/apt/sources.list.d/dotnetdev.list && \
# node.js
-RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+ curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
echo "deb https://deb.nodesource.com/node_6.x xenial main" | tee /etc/apt/sources.list.d/nodesource.list
### install general dependencies
@@ -119,7 +119,7 @@ RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/v1.1.6+1.0
mv openssl-1.1.6-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf openssl-1.1.6-1.0.1g
-ENV DART_VERSION 1.24.3-1
+ENV DART_VERSION 2.0.0-1
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
dart=$DART_VERSION
@@ -151,7 +151,7 @@ RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
ln -s /usr/local/go/bin/go /usr/local/bin && \
rm golang.tar.gz
-# due to a bug in cabal in xenial (cabal-install package) we pull in another:
+# cabal 1.22 in xenial is too old so we grab a pre-built 1.24 binary
RUN apt-get install -y --no-install-recommends \
`# Haskell dependencies` \
ghc && \
@@ -160,7 +160,8 @@ RUN apt-get install -y --no-install-recommends \
tar xzf cabal-install-1.24.0.2-x86_64-unknown-linux.tar.gz && \
find dist-newstyle/ -type f -name cabal -exec mv {} /usr/bin \; && \
rm -rf /tmp/cabal* && \
- cabal --version
+ cabal --version && \
+ cabal update
RUN apt-get install -y --no-install-recommends \
`# Haxe dependencies` \
@@ -179,10 +180,11 @@ RUN apt-get install -y --no-install-recommends \
openjdk-8-jdk \
maven
-RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
- lua5.2 \
- lua5.2-dev
+# disabled: same as ubuntu-bionic jobs
+# RUN apt-get install -y --no-install-recommends \
+# `# Lua dependencies` \
+# lua5.2 \
+# lua5.2-dev
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
# lua5.3 does not install alternatives so stick with 5.2 here
@@ -255,7 +257,7 @@ RUN apt-get install -y --no-install-recommends \
ruby-bundler
# Rust dependencies
-RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.35.0 -y
+RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.34.0 -y
# Clean up
RUN rm -rf /var/cache/apt/* && \