THRIFT-4508: end trusty CI builds; handle nodejs 4.x LTS EOL; update docs
diff --git a/build/docker/README.md b/build/docker/README.md
index 35943e1..d7a0126 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -31,9 +31,8 @@
### Ubuntu ###
-* trusty (legacy)
* xenial (stable)
-* artful (latest)
+* artful (current)
## Unsupported Containers ##
@@ -115,55 +114,55 @@
Last updated: October 1, 2017
-| Tool | ubuntu-trusty | ubuntu-xenial | ubuntu-artful | Notes |
-| :-------- | :------------ | :------------ | :------------ | :---- |
-| ant | 1.9.3 | 1.9.6 | 1.9.9 | |
-| autoconf | 2.69 | 2.69 | 2.69 | |
-| automake | 1.14.1 | 1.15 | 1.15 | |
-| bison | 3.0.2 | 3.0.4 | 3.0.4 | |
-| boost | 1.54.0 | 1.58.0 | 1.63.0 | artful: stock boost 1.62.0 has problems running unit tests |
-| cmake | 3.2.2 | 3.5.1 | 3.9.1 | |
-| cppcheck | 1.61 | 1.72 | 1.80 | |
-| flex | 2.5.35 | 2.6.0 | 2.6.1 | |
-| glibc | 2.19 | 2.23 | 2.26 | |
-| libevent | 2.0.21 | 2.0.21 | 2.1 | |
-| libstdc++ | 4.8.4 | 5.4.0 | 7.2.0 | |
-| make | 3.81 | 4.1 | 4.1 | |
-| openssl | 1.0.1f | 1.0.2g | 1.0.2g | |
-| qt5 | 5.2.1 | 5.5.1 | 5.9.1 | |
+| Tool | ubuntu-xenial | ubuntu-artful | Notes |
+| :-------- | :------------ | :------------ | :---- |
+| ant | 1.9.6 | 1.9.9 | |
+| autoconf | 2.69 | 2.69 | |
+| automake | 1.15 | 1.15 | |
+| bison | 3.0.4 | 3.0.4 | |
+| boost | 1.58.0 | 1.63.0 | artful: stock boost 1.62.0 has problems running unit tests |
+| cmake | 3.5.1 | 3.9.1 | |
+| cppcheck | 1.72 | 1.80 | |
+| flex | 2.6.0 | 2.6.1 | |
+| glibc | 2.23 | 2.26 | |
+| libevent | 2.0.21 | 2.1 | |
+| libstdc++ | 5.4.0 | 7.2.0 | |
+| make | 4.1 | 4.1 | |
+| openssl | 1.0.2g | 1.0.2g | |
+| qt5 | 5.5.1 | 5.9.1 | |
## Compiler/Language Versions per Dockerfile ##
-| Language | ubuntu-trusty | ubuntu-xenial | ubuntu-artful | Notes |
-| :-------- | :------------ | :------------ | :------------ | :---- |
-| as of | Oct 01, 2017 | Jan 29, 2018 | Mar 02, 2018 | |
-| as3 | | | | Not in CI |
-| C++ gcc | 4.8.4 | 5.4.0 | 7.2.0 | |
-| C++ clang | 3.4 | 3.8 | 4.0 | |
-| C# (mono) | 3.2.8.0 | 4.2.1.0 | 4.6.2.7 | |
-| c_glib | 2.40.2 | 2.48.2 | 2.54.0 | |
-| CL (sbcl) | | | 1.4.4 | |
-| cocoa | | | | Not in CI |
-| d | 2.070.2 | 2.073.2 | 2.077.1 | |
-| dart | 1.20.1 | 1.22.1 | 1.24.3 | |
-| delphi | | | | Not in CI |
-| dotnet | | 2.1.4 | 2.1.4 | v2.1.4 SDK uses v2.0.5 Runtime |
-| erlang | R16B03 | 18.3 | 20.0.4 | |
-| go | 1.2.1 | 1.6.2 | 1.8.3 | |
-| haskell | 7.6.3 | 7.10.3 | 8.0.2 | |
-| haxe | | 3.2.1 | 3.4.4 | THRIFT-4352: avoid 3.4.2 |
-| java | 1.7.0_151 | 1.8.0_151 | 1.8.0_151 | |
-| js | | | | Unsure how to look for version info? |
-| lua | 5.1.5 | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
-| nodejs | | 4.2.6 | 8.9.4 | trusty has node.js 0.10.0 which is too old |
-| ocaml | | 4.02.3 | 4.04.0 | |
-| perl | 5.18.2 | 5.22.1 | 5.26.0 | |
-| php | 5.5.9 | 7.0.22 | 7.1.11 | |
-| python | 2.7.6 | 2.7.12 | 2.7.14 | |
-| python3 | 3.4.3 | 3.5.2 | 3.6.3 | |
-| ruby | 1.9.3p484 | 2.3.1p112 | 2.3.3p222 | |
-| rust | 1.15.1 | 1.17.0 | 1.21.0 | |
-| smalltalk | | | | Not in CI |
-| swift | | | | Not in CI |
+| Language | ubuntu-xenial | ubuntu-artful | Notes |
+| :-------- | :------------ | :------------ | :---- |
+| as of | Mar 06, 2018 | Mar 06, 2018 | |
+| as3 | | | Not in CI |
+| C++ gcc | 5.4.0 | 7.2.0 | |
+| C++ clang | 3.8 | 4.0 | |
+| C# (mono) | 4.2.1.0 | 4.6.2.7 | |
+| c_glib | 2.48.2 | 2.54.0 | |
+| CL (sbcl) | | 1.4.4 | |
+| cocoa | | | Not in CI |
+| d | 2.073.2 | 2.077.1 | |
+| dart | 1.22.1 | 1.24.3 | |
+| delphi | | | Not in CI |
+| dotnet | 2.1.4 | 2.1.4 | v2.1.4 SDK uses v2.0.5 Runtime |
+| erlang | 18.3 | 20.0.4 | |
+| go | 1.6.2 | 1.8.3 | |
+| haskell | 7.10.3 | 8.0.2 | |
+| haxe | 3.2.1 | 3.4.4 | THRIFT-4352: avoid 3.4.2 |
+| java | 1.8.0_151 | 1.8.0_151 | |
+| js | | | Unsure how to look for version info? |
+| lua | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
+| nodejs | 6.13.0 | 8.9.4 | |
+| ocaml | 4.02.3 | 4.04.0 | |
+| perl | 5.22.1 | 5.26.0 | |
+| php | 7.0.22 | 7.1.11 | |
+| python | 2.7.12 | 2.7.14 | |
+| python3 | 3.5.2 | 3.6.3 | |
+| ruby | 2.3.1p112 | 2.3.3p222 | |
+| rust | 1.17.0 | 1.21.0 | |
+| smalltalk | | | Not in CI |
+| swift | | | Not in CI |
diff --git a/build/docker/ubuntu-artful/Dockerfile b/build/docker/ubuntu-artful/Dockerfile
index 0b5b8ed..416d75e 100644
--- a/build/docker/ubuntu-artful/Dockerfile
+++ b/build/docker/ubuntu-artful/Dockerfile
@@ -19,6 +19,7 @@
# - dotnet: does not come with Ubuntu
# - haxe: version 3.4.2 that comes with Ubuntu cores in our CI build
# - nodejs: want v8, Ubuntu comes with v6
+#
FROM buildpack-deps:artful-scm
MAINTAINER Apache Thrift <dev@thrift.apache.org>
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index b37434b..b69d7ea 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -15,12 +15,9 @@
# Using all stock Ubuntu Xenial packaging except for:
# - d: does not come with Ubuntu so we're installing 2.073.2 for coverage
# - dart: does not come with Ubuntu so we're installing 1.22.1 for coverage
+# - nodejs: Ubuntu comes with 4.2.6 which exits LTS April 2018, so we're installing 6.x
#
-#
-# Known missing or disabled libraries:
-# - d: deimos for libevent and openssl omitted - not compatible / build errors
-
FROM buildpack-deps:xenial-scm
MAINTAINER Apache Thrift <dev@thrift.apache.org>
ENV DEBIAN_FRONTEND noninteractive
@@ -58,6 +55,10 @@
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
/etc/apt/sources.list.d/dotnetdev.list
+# node.js
+RUN 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
RUN apt-get update && apt-get install -y --no-install-recommends \
`# General dependencies` \
@@ -173,9 +174,7 @@
RUN apt-get install -y --no-install-recommends \
`# Node.js dependencies` \
- nodejs \
- npm && \
- ln -s /usr/bin/nodejs /usr/bin/node
+ nodejs
RUN apt-get install -y --no-install-recommends \
`# OCaml dependencies` \