tree: cbb9eed6a7b61839f4dacc93bb7776e214b603a0 [path history] [tgz]
  1. centos-7.3/
  2. debian-jessie/
  3. debian-stretch/
  4. scripts/
  5. ubuntu-trusty/
  6. ubuntu-xenial/
  7. check_unmodified.sh
  8. README.md
  9. Vagrantfile
build/docker/README.md

Apache Thrift Docker containers

Docker containers used to build and test Apache Thrift for a variety of platforms.

Available Containers

The Travis CI (continuous integration) builds use the Ubuntu Trusty and Xenial images to maximize language level coverage. The other images may or may not work for all languages.

Ubuntu

  • trusty
  • xenial (current)

CentOS

  • 7.3
    • make check in lib/py may hang in test_sslsocket - root cause unknown

Debian

Dependencies

  • A working Docker environment. A Vagrantfile is provided which will setup an Ubuntu host and working Docker environment as well as build the Apache Thrift Docker container for testing and development.

Usage

From the Apache Thrift code base root:

  • Build

    docker build -t thrift build/docker/ubuntu-xenial

    or

    docker build -t thrift build/docker/centos-7.3

  • Run

    docker run -v $(pwd):/thrift/src -it thrift /bin/bash

Core Tool Versions per Dockerfile

Toolcentos-7.3debian-stretchubuntu-trustyubuntu-xenialNotes
ant1.9.21.9.91.9.31.9.6
autoconf2.692.692.692.69
automake1.13.41.151.14.11.15
bison2.73.0.43.0.23.0.4
boost1.53.01.62.01.54.01.58.0
cmake3.6.33.7.23.2.23.5.1
flex2.5.372.6.12.5.352.6.0
glibc2.172.242.192.23
libevent2.0.212.0.212.0.212.0.21
libstdc++4.8.56.3.04.8.45.4.0
make3.824.13.814.1
openssl1.0.1e1.1.0f1.0.1f1.0.2g

Language Versions per Dockerfile

Languagecentos-7.3debian-stretchubuntu-trustyubuntu-xenialNotes
as3Not in CI
C++-gcc4.8.56.3.04.8.45.4.0
C++-clang3.4.23.8.13.43.8
C# (mono)4.6.24.6.2.75.2.0.2245.2.0.215
c_glib2.46.22.50.32.40.22.48.2
cocoaNot in CI
d2.076.02.076.02.070.02.075.1
dart1.24.21.24.21.24.21.24.2
delphiNot in CI
dotnetNot in CI
erlang2019.22018.3
go1.91.7.41.4.31.6.2
haskell7.6.38.0.17.6.37.10.3
haxe3.2.13.2.13.2.1
java1.8.0_1411.8.0_1411.7.0_1511.8.0_131
jsUnsure how to look for version info
lua5.3.45.2.45.2.35.2.4
nodejs6.11.18.4.04.8.47.10.1Node 8.5 broke copyFile and jsdoc
ocaml4.01.04.02.34.02.34.02.3
perl5.16.35.24.15.18.25.22.1
php5.4.167.0.195.5.97.0.22
python2.7.52.7.132.7.62.7.12
python33.4.53.5.33.4.33.5.2
ruby2.0.0p6482.3.3p2221.9.3p4842.3.1p112
rust1.17.01.14.01.17.01.15.1Rust is too old on stretch
smalltalkNot in CI
swiftNot in CI